Sync to trunk.

This commit is contained in:
John Schember 2009-11-14 00:32:13 -05:00
commit 8171c46b42
54 changed files with 7063 additions and 5563 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 914 B

View File

@ -1,8 +1,8 @@
from calibre.web.feeds.news import BasicNewsRecipe from calibre.web.feeds.news import BasicNewsRecipe
class AdvancedUserRecipe1257775999(BasicNewsRecipe): class AnDrumaMor(BasicNewsRecipe):
title = u'An Druma M\xf3r' title = u'An Druma M\xf3r'
__author__ = "David O'Calaghan" __author__ = "David O'Callaghan"
oldest_article = 7 oldest_article = 7
max_articles_per_feed = 100 max_articles_per_feed = 100
language = 'ga' language = 'ga'

View File

@ -17,11 +17,11 @@ class Barrons(BasicNewsRecipe):
needs_subscription = True needs_subscription = True
language = 'en' language = 'en'
__author__ = 'Kovid Goyal' __author__ = 'Kovid Goyal and Sujata Raman'
description = 'Weekly publication for investors from the publisher of the Wall Street Journal' description = 'Weekly publication for investors from the publisher of the Wall Street Journal'
timefmt = ' [%a, %b %d, %Y]' timefmt = ' [%a, %b %d, %Y]'
use_embedded_content = False use_embedded_content = False
no_stylesheets = False no_stylesheets = True
match_regexps = ['http://online.barrons.com/.*?html\?mod=.*?|file:.*'] match_regexps = ['http://online.barrons.com/.*?html\?mod=.*?|file:.*']
conversion_options = {'linearize_tables': True} conversion_options = {'linearize_tables': True}
##delay = 1 ##delay = 1
@ -29,6 +29,20 @@ class Barrons(BasicNewsRecipe):
## Don't grab articles more than 7 days old ## Don't grab articles more than 7 days old
oldest_article = 7 oldest_article = 7
extra_css = '''
.datestamp{color:#666666; font-family:Verdana,Geneva,Kalimati,sans-serif; font-size:x-small;}
h3{color:#FF0000; font-family:Georgia,"Times New Roman",Times,serif; }
h2{font-family:Georgia,"Times New Roman",Times,serif; }
h1{ font-family:Georgia,"Times New Roman",Times,serif; }
.byline{color:#AAAAAA; font-family:Verdana,Geneva,Kalimati,sans-serif; font-size:x-small;}
.subhead{color:#666666; font-family:Georgia,"Times New Roman",Times,serif; font-size: small;}
.articlePage{ font-family:Georgia,"Century Schoolbook","Times New Roman",Times,serif;color:#333333;}
.insettipUnit{font-size: x-small;}
'''
remove_tags = [
dict(name ='div', attrs={'class':['tabContainer artTabbedNav','rssToolBox hidden','articleToolbox']}),
dict(name = 'a', attrs ={'class':'insetClose'})
]
preprocess_regexps = [(re.compile(i[0], re.IGNORECASE | re.DOTALL), i[1]) for i in preprocess_regexps = [(re.compile(i[0], re.IGNORECASE | re.DOTALL), i[1]) for i in
[ [
@ -56,10 +70,20 @@ class Barrons(BasicNewsRecipe):
br.submit() br.submit()
return br return br
## Use the print version of a page when available. ## Use the print version of a page when available.
def print_version(self, url): def print_version(self, url):
return url.replace('/article/', '/article_print/') main, sep, rest = url.rpartition('?')
return main + '#printmode'
def postprocess_html(self, soup, first):
for tag in soup.findAll(name=['ul', 'li']):
tag.name = 'div'
for tag in soup.findAll(name ='div', attrs={'id': "articleThumbnail_1"}):
tag.extract()
return soup
## Comment out the feeds you don't want retrieved. ## Comment out the feeds you don't want retrieved.
## Because these feeds are sorted alphabetically when converted to LRF, you may want to number them to put them in the order you desire ## Because these feeds are sorted alphabetically when converted to LRF, you may want to number them to put them in the order you desire
@ -74,6 +98,17 @@ class Barrons(BasicNewsRecipe):
('Funds/Q&A', 'http://online.barrons.com/xml/rss/3_7519.xml'), ('Funds/Q&A', 'http://online.barrons.com/xml/rss/3_7519.xml'),
] ]
def get_cover_url(self):
cover_url = None
index = 'http://online.barrons.com/home-page'
soup = self.index_to_soup(index)
link_item = soup.find('ul',attrs={'class':'newsItem barronsMag'})
if link_item:
cover_url = link_item.img['src']
return cover_url
## Logout of website ## Logout of website
## NOT CURRENTLY WORKING ## NOT CURRENTLY WORKING
# def cleanup(self): # def cleanup(self):

View File

@ -10,7 +10,7 @@ from calibre.web.feeds.news import BasicNewsRecipe
class CriticaDigital(BasicNewsRecipe): class CriticaDigital(BasicNewsRecipe):
title = 'Critica de la Argentina' title = 'Critica de la Argentina'
__author__ = 'Darko Miletic' __author__ = 'Darko Miletic and Sujata Raman'
description = 'Noticias de Argentina' description = 'Noticias de Argentina'
oldest_article = 2 oldest_article = 2
max_articles_per_feed = 100 max_articles_per_feed = 100
@ -20,17 +20,22 @@ class CriticaDigital(BasicNewsRecipe):
use_embedded_content = False use_embedded_content = False
encoding = 'cp1252' encoding = 'cp1252'
html2lrf_options = [ extra_css = '''
'--comment' , description h1{font-family:"Trebuchet MS";}
, '--category' , 'news, Argentina' h3{color:#9A0000; font-family:Tahoma; font-size:x-small;}
, '--publisher' , title h2{color:#504E53; font-family:Arial,Helvetica,sans-serif ;font-size:small;}
] #epigrafe{font-family:Arial,Helvetica,sans-serif ;color:#666666 ; font-size:x-small;}
p {font-family:Arial,Helvetica,sans-serif;}
#fecha{color:#858585; font-family:Tahoma; font-size:x-small;}
#autor{color:#858585; font-family:Tahoma; font-size:x-small;}
#hora{color:#F00000;font-family:Tahoma; font-size:x-small;}
'''
keep_only_tags = [ keep_only_tags = [
dict(name='div', attrs={'class':'bloqueTitulosNoticia'}) dict(name='div', attrs={'class':['bloqueTitulosNoticia','cfotonota']})
,dict(name='div', attrs={'id':'c453-1' }) ,dict(name='div', attrs={'id':'boxautor'})
,dict(name='p', attrs={'id':'textoNota'})
] ]
remove_tags = [ remove_tags = [
dict(name='div', attrs={'class':'box300' }) dict(name='div', attrs={'class':'box300' })
,dict(name='div', style=True ) ,dict(name='div', style=True )
@ -38,7 +43,7 @@ class CriticaDigital(BasicNewsRecipe):
,dict(name='div', attrs={'class':'comentario' }) ,dict(name='div', attrs={'class':'comentario' })
,dict(name='div', attrs={'class':'paginador' }) ,dict(name='div', attrs={'class':'paginador' })
] ]
feeds = [ feeds = [
(u'Politica', u'http://www.criticadigital.com/herramientas/rss.php?ch=politica' ) (u'Politica', u'http://www.criticadigital.com/herramientas/rss.php?ch=politica' )
,(u'Economia', u'http://www.criticadigital.com/herramientas/rss.php?ch=economia' ) ,(u'Economia', u'http://www.criticadigital.com/herramientas/rss.php?ch=economia' )
@ -60,3 +65,5 @@ class CriticaDigital(BasicNewsRecipe):
if link_item: if link_item:
cover_url = index + link_item.img['src'] cover_url = index + link_item.img['src']
return cover_url return cover_url

View File

@ -5,55 +5,92 @@ __copyright__ = '2008-2009, Darko Miletic <darko.miletic at gmail.com>'
''' '''
infobae.com infobae.com
''' '''
import re
import urllib, urlparse
from calibre.web.feeds.news import BasicNewsRecipe from calibre.web.feeds.news import BasicNewsRecipe
class Infobae(BasicNewsRecipe): class Infobae(BasicNewsRecipe):
title = 'Infobae.com' title = 'Infobae.com'
__author__ = 'Darko Miletic' __author__ = 'Darko Miletic and Sujata Raman'
description = 'Informacion Libre las 24 horas' description = 'Informacion Libre las 24 horas'
publisher = 'Infobae.com' publisher = 'Infobae.com'
category = 'news, politics, Argentina' category = 'news, politics, Argentina'
oldest_article = 1 oldest_article = 1
max_articles_per_feed = 100 max_articles_per_feed = 100
no_stylesheets = True no_stylesheets = True
use_embedded_content = False use_embedded_content = False
language = 'es' language = 'es'
lang = 'es-AR'
encoding = 'cp1252' encoding = 'cp1252'
cover_url = 'http://www.infobae.com/imgs/header/header.gif' cover_url = 'http://www.infobae.com/imgs/header/header.gif'
remove_javascript = True remove_javascript = True
preprocess_regexps = [(re.compile(
html2lrf_options = [ r'<meta name="Description" content="[^"]+">'), lambda m:'')]
'--comment' , description
, '--category' , category
, '--publisher', publisher
, '--ignore-tables'
, '--ignore-colors'
]
html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + '"\nlinearize_tables=True' html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + '"\nlinearize_tables=True'
extra_css = '''
.col-center{font-family:Arial,Helvetica,sans-serif;}
h1{font-family:Arial,Helvetica,sans-serif; color:#0D4261;}
.fuenteIntNota{font-family:Arial,Helvetica,sans-serif; color:#1D1D1D; font-size:x-small;}
'''
keep_only_tags = [dict(name='div', attrs={'class':['content']})]
remove_tags = [ remove_tags = [
dict(name=['embed','link','object']) dict(name='div', attrs={'class':['options','col-right','controles', 'bannerLibre','tiulo-masleidas','masleidas-h']}),
,dict(name='a', attrs={'onclick':'javascript:window.print()'}) dict(name='a', attrs={'name' : 'comentario',}),
] dict(name='iframe'),
dict(name='img', alt = "Ver galerias de imagenes"),
feeds = [
]
feeds = [
(u'Noticias' , u'http://www.infobae.com/adjuntos/html/RSS/hoy.xml' ) (u'Noticias' , u'http://www.infobae.com/adjuntos/html/RSS/hoy.xml' )
,(u'Salud' , u'http://www.infobae.com/adjuntos/html/RSS/salud.xml' ) ,(u'Salud' , u'http://www.infobae.com/adjuntos/html/RSS/salud.xml' )
,(u'Tecnologia', u'http://www.infobae.com/adjuntos/html/RSS/tecnologia.xml') ,(u'Tecnologia', u'http://www.infobae.com/adjuntos/html/RSS/tecnologia.xml')
,(u'Deportes' , u'http://www.infobae.com/adjuntos/html/RSS/deportes.xml' ) ,(u'Deportes' , u'http://www.infobae.com/adjuntos/html/RSS/deportes.xml' )
] ]
def print_version(self, url): # def print_version(self, url):
main, sep, article_part = url.partition('contenidos/') # main, sep, article_part = url.partition('contenidos/')
article_id, rsep, rrest = article_part.partition('-') # article_id, rsep, rrest = article_part.partition('-')
return u'http://www.infobae.com/notas/nota_imprimir.php?Idx=' + article_id # return u'http://www.infobae.com/notas/nota_imprimir.php?Idx=' + article_id
def get_article_url(self, article):
ans = article.get('link').encode('utf-8')
parts = list(urlparse.urlparse(ans))
parts[2] = urllib.quote(parts[2])
ans = urlparse.urlunparse(parts)
return ans.decode('utf-8')
def preprocess_html(self, soup): def preprocess_html(self, soup):
mtag = '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\n<meta http-equiv="Content-Language" content="es-AR"/>\n'
soup.head.insert(0,mtag) for tag in soup.head.findAll('strong'):
tag.extract()
for tag in soup.findAll('meta'):
del tag['content']
tag.extract()
mtag = '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">\n<meta http-equiv="Content-Language" content="es-AR"/>\n'
soup.head.insert(0,mtag)
for item in soup.findAll(style=True): for item in soup.findAll(style=True):
del item['style'] del item['style']
return soup return soup
def postprocess_html(self, soup, first):
for tag in soup.findAll(name='strong'):
tag.name = 'b'
return soup

View File

@ -0,0 +1,19 @@
from calibre.web.feeds.news import BasicNewsRecipe
class AdvancedUserRecipe1257302745(BasicNewsRecipe):
title = u'National Public Radio'
oldest_article = 7
language = 'en'
__author__ = 'onyxrev'
max_articles_per_feed = 100
remove_tags_before = {'class':'storytitle'}
remove_tags_after = dict(name='div', attrs={'id':'storytext' })
remove_tags = [
dict(name='body', attrs={'id':'blog'}),
dict(name='div', attrs={'class':'enlarge_measure'}),
dict(name='div', attrs={'class':'enlarge_html'}),
dict(name='div', attrs={'class':'bucketwrap primary'})
]
feeds = [(u'National Public Radio', u'http://www.npr.org/rss/rss.php?id=1001')]

View File

@ -14,7 +14,7 @@ class NYTimes(BasicNewsRecipe):
title = 'New York Times Top Stories' title = 'New York Times Top Stories'
__author__ = 'GRiker' __author__ = 'GRiker'
language = 'en' language = _('English')
description = 'Top Stories from the New York Times' description = 'Top Stories from the New York Times'
# List of sections typically included in Top Stories. Use a keyword from the # List of sections typically included in Top Stories. Use a keyword from the
@ -79,6 +79,14 @@ class NYTimes(BasicNewsRecipe):
.authorId {text-align: left; \ .authorId {text-align: left; \
font-style: italic;}\n ' font-style: italic;}\n '
# def get_cover_url(self):
# st = time.localtime()
# year = str(st.tm_year)
# month = "%.2d" % st.tm_mon
# day = "%.2d" % st.tm_mday
# cover = 'http://graphics8.nytimes.com/images/' + year + '/' + month +'/' + day +'/nytfrontpage/' + 'scan.jpg'
# return cover
def get_browser(self): def get_browser(self):
br = BasicNewsRecipe.get_browser() br = BasicNewsRecipe.get_browser()
if self.username is not None and self.password is not None: if self.username is not None and self.password is not None:
@ -202,21 +210,25 @@ class NYTimes(BasicNewsRecipe):
# Get the bylines and descriptions # Get the bylines and descriptions
if not skipThisSection : if not skipThisSection :
for (x,i) in enumerate(sectionblock.contents) : lines = sectionblock.contents
contentStrings = []
# Extract the bylines and descriptions for line in lines:
if (i.string is not None) and \ if not isinstance(line, Comment) and line.strip and line.strip() > "":
(i.string.strip() > "") and \ contentStrings.append(line.strip())
not isinstance(i,Comment):
contentString = i.strip().encode('utf-8') # Gather the byline/description pairs
if contentString[0:3] == 'By ' and contentString[4].isupper() : bylines = []
bylines.append(contentString) descriptions = []
else : for contentString in contentStrings:
descriptions.append(contentString) if contentString[0:3] == 'By ' and contentString[3].isupper() :
bylines.append(contentString)
else:
descriptions.append(contentString)
# Fetch the article titles and URLs # Fetch the article titles and URLs
articleCount = len(sectionblock.findAll('span')) articleCount = len(sectionblock.findAll('span'))
for (i,span) in enumerate(sectionblock.findAll('span')) : for (i,span) in enumerate(sectionblock.findAll(attrs={'class':'headlineWrapper'})) :
a = span.find('a', href=True) a = span.find('a', href=True)
url = re.sub(r'\?.*', '', a['href']) url = re.sub(r'\?.*', '', a['href'])
url += '?pagewanted=all' url += '?pagewanted=all'
@ -228,7 +240,11 @@ class NYTimes(BasicNewsRecipe):
if not isinstance(title, unicode): if not isinstance(title, unicode):
title = title.decode('utf-8', 'replace') title = title.decode('utf-8', 'replace')
description = descriptions[i] # Allow for unattributed, undescribed entries "Editor's Note"
if i >= len(descriptions) :
description = None
else :
description = descriptions[i]
if len(bylines) == articleCount : if len(bylines) == articleCount :
author = bylines[i] author = bylines[i]
@ -291,7 +307,7 @@ class NYTimes(BasicNewsRecipe):
return soup return soup
else: else:
print "no allowed content found, removing article" print "no allowed content found, removing article"
raise Exception() raise Exception
def postprocess_html(self,soup, True): def postprocess_html(self,soup, True):

View File

@ -8,9 +8,10 @@ spiegel.de
from calibre.web.feeds.news import BasicNewsRecipe from calibre.web.feeds.news import BasicNewsRecipe
class Spiegel_int(BasicNewsRecipe): class Spiegel_int(BasicNewsRecipe):
title = 'Spiegel Online International' title = 'Spiegel Online International'
__author__ = 'Darko Miletic' __author__ = 'Darko Miletic and Sujata Raman'
description = "News and POV from Europe's largest newsmagazine" description = "News and POV from Europe's largest newsmagazine"
oldest_article = 7 oldest_article = 7
max_articles_per_feed = 100 max_articles_per_feed = 100
@ -21,8 +22,9 @@ class Spiegel_int(BasicNewsRecipe):
publisher = 'SPIEGEL ONLINE GmbH' publisher = 'SPIEGEL ONLINE GmbH'
category = 'news, politics, Germany' category = 'news, politics, Germany'
lang = 'en' lang = 'en'
recursions = 1
conversion_options = { match_regexps = [r'http://www.spiegel.de/.*-[1-9],00.html']
conversion_options = {
'comments' : description 'comments' : description
,'tags' : category ,'tags' : category
,'language' : lang ,'language' : lang
@ -30,11 +32,63 @@ class Spiegel_int(BasicNewsRecipe):
,'pretty_print': True ,'pretty_print': True
} }
remove_tags_after = dict(name='div', attrs={'id':'spArticleBody'}) extra_css = '''
#spArticleColumn{font-family:verdana,arial,helvetica,geneva,sans-serif ; }
h1{color:#666666; font-weight:bold;}
h2{color:#990000;}
h3{color:#990000;}
h4 {color:#990000;}
a{color:#990000;}
.spAuthor{font-style:italic;}
#spIntroTeaser{font-weight:bold;}
.spCredit{color:#666666; font-size:x-small;}
.spShortDate{font-size:x-small;}
.spArticleImageBox {font-size:x-small;}
.spPhotoGallery{font-size:x-small; color:#990000 ;}
'''
keep_only_tags = [
dict(name ='div', attrs={'id': ['spArticleImageBox spAssetAlignleft','spArticleColumn']}),
]
remove_tags = [
dict(name='div', attrs={'id':['spSocialBookmark','spArticleFunctions','spMultiPagerHeadlines',]}),
dict(name='div', attrs={'class':['spCommercial spM520','spArticleCredit','spPicZoom']}),
]
feeds = [(u'Spiegel Online', u'http://www.spiegel.de/schlagzeilen/rss/0,5291,676,00.xml')] feeds = [(u'Spiegel Online', u'http://www.spiegel.de/schlagzeilen/rss/0,5291,676,00.xml')]
def print_version(self, url): def postprocess_html(self, soup,first):
main, sep, rest = url.rpartition(',')
rmain, rsep, rrest = main.rpartition(',') for tag in soup.findAll(name='div',attrs={'id':"spMultiPagerControl"}):
return rmain + ',druck-' + rrest + ',' + rest tag.extract()
p = soup.find(name = 'p', attrs={'id':'spIntroTeaser'})
if p.string is not None:
t = p.string.rpartition(':')[0]
if 'Part'in t:
if soup.h1 is not None:
soup.h1.extract()
if soup.h2 is not None:
soup.h2.extract()
functag = soup.find(name= 'div', attrs={'id':"spArticleFunctions"})
if functag is not None:
functag.extract()
auttag = soup.find(name= 'p', attrs={'class':"spAuthor"})
if auttag is not None:
auttag.extract()
pictag = soup.find(name= 'div', attrs={'id':"spArticleTopAsset"})
if pictag is not None:
pictag.extract()
return soup
# def print_version(self, url):
# main, sep, rest = url.rpartition(',')
# rmain, rsep, rrest = main.rpartition(',')
# return rmain + ',druck-' + rrest + ',' + rest

View File

@ -0,0 +1,87 @@
__license__ = 'GPL v3'
__copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
'''
Fetch Weltonline.
'''
from calibre.web.feeds.news import BasicNewsRecipe
class weltDe(BasicNewsRecipe):
title = 'Weltonline'
description = 'german newspaper'
__author__ = 'Oliver Niesner'
use_embedded_content = False
timefmt = ' [%d %b %Y]'
max_articles_per_feed = 15 # reduced to this value to prevent too many articles (suggested by Gregory Riker
no_stylesheets = True
remove_stylesheets = True
remove_javascript = True
language = 'de'
encoding = 'iso-8859-1'
remove_tags = [dict(id='jumplinks'),
dict(id='ad1'),
dict(id='fullimage_index'),
dict(id='additionalNav'),
dict(id='printMenu'),
dict(id='topteaser1'),
dict(id='topteaser2'),
dict(id='servicesBox'),
dict(id='servicesNav'),
dict(id='ad2'),
dict(id='brandingWrapper'),
dict(id='links-intern'),
dict(id='navigation'),
dict(id='subNav'),
dict(id='branding'),
dict(id='servicesNav'),
dict(id='searchArea'),
dict(id='servicesBox'),
dict(id='toggleAdvancedSearch'),
dict(id='mainNav'),
dict(id='ratingBox5136466_1'),
dict(id='ratingBox5136466_2'),
dict(id='articleInlineMediaBox0'),
dict(id='sectionSponsor'),
#dict(id=''),
dict(name='span'),
dict(name='div', attrs={'class':'printURL'}),
dict(name='div', attrs={'class':'ad'}),
dict(name='div', attrs={'class':'inlineBox inlineFurtherLinks'}),
dict(name='div', attrs={'class':'inlineBox videoInlineBox'}),
dict(name='div', attrs={'class':'inlineGallery'}),
dict(name='div', attrs={'class':'ratingBox'}),
dict(name='div', attrs={'class':'socialBookmarks clear'}),
dict(name='div', attrs={'class':'articleOptions clear'}),
dict(name='div', attrs={'class':'noPrint galleryIndex'}),
dict(name='div', attrs={'class':'inlineBox inlineTagCloud'}),
dict(name='p', attrs={'class':'jump'}),
dict(name='a', attrs={'class':'commentLink'}),
dict(name='h2', attrs={'class':'jumpHeading'}),
dict(name='ul', attrs={'class':'optionsSubNav clear'}),
dict(name='li', attrs={'class':'next'}),
dict(name='li', attrs={'class':'prev'}),
dict(name='li', attrs={'class':'active'})]
remove_tags_after = [dict(id='tw_link_widget')]
feeds = [ ('Politik', 'http://welt.de/politik/?service=Rss'),
('Deutsche Dinge', 'http://www.welt.de/deutsche-dinge/?service=Rss'),
('Wirtschaft', 'http://welt.de/wirtschaft/?service=Rss'),
('Finanzen', 'http://welt.de/finanzen/?service=Rss'),
('Sport', 'http://welt.de/sport/?service=Rss'),
('Webwelt', 'http://welt.de/webwelt/?service=Rss'),
('Kultur', 'http://welt.de/kultur/?service=Rss'),
('Literarische Welt', 'http://welt.de/kultur/literarischewelt/?service=Rss'),
('Wissenschaft', 'http://welt.de/wissenschaft/?service=Rss'),
('Satire', 'http://welt.de/satire/?service=Rss'),
('Motor', 'http://welt.de/motor/?service=Rss'),
('Vermischtes', 'http://welt.de/vermischtes/?service=Rss')]
def print_version(self, url):
return url.replace ('.html', '.html?print=yes')

View File

@ -97,7 +97,8 @@ class ZAOBAO(BasicNewsRecipe):
}) })
pfeeds = feeds_from_index([(title, articles)], oldest_article=self.oldest_article, pfeeds = feeds_from_index([(title, articles)], oldest_article=self.oldest_article,
max_articles_per_feed=self.max_articles_per_feed) max_articles_per_feed=self.max_articles_per_feed,
log=self.log)
self.log.debug('adding %s to feed'%(title)) self.log.debug('adding %s to feed'%(title))
for feed in pfeeds: for feed in pfeeds:

View File

@ -44,8 +44,8 @@ class Stage3(Command):
description = 'Stage 3 of the publish process' description = 'Stage 3 of the publish process'
sub_commands = ['upload_rss', 'upload_user_manual', 'upload_demo', 'sdist', sub_commands = ['upload_rss', 'upload_user_manual', 'upload_demo', 'sdist',
'upload_to_sourceforge', 'upload_to_google_code', 'tag_release', 'upload_to_google_code', 'tag_release', 'upload_to_server',
'upload_to_server', 'upload_to_mobileread', 'upload_to_sourceforge', 'upload_to_mobileread',
] ]
class Stage4(Command): class Stage4(Command):

View File

@ -200,22 +200,10 @@ class UploadToSourceForge(Command):
PROJECT = 'calibre' PROJECT = 'calibre'
BASE = '/home/frs/project/c/ca/'+PROJECT BASE = '/home/frs/project/c/ca/'+PROJECT
def create(self):
self.info('Creating shell...')
check_call(['ssh', '-x',
'%s,%s@shell.sourceforge.net'%(self.USERNAME, self.PROJECT),
'create'])
@property @property
def rdir(self): def rdir(self):
return self.BASE+'/'+__version__ return self.BASE+'/'+__version__
def mk_release_dir(self):
self.info('Creating release directory...')
check_call(['ssh', '-x',
'%s,%s@shell.sourceforge.net'%(self.USERNAME, self.PROJECT),
'mkdir', '-p', self.rdir])
def upload_installers(self): def upload_installers(self):
for x in installers(): for x in installers():
if not os.path.exists(x): continue if not os.path.exists(x): continue
@ -226,8 +214,6 @@ class UploadToSourceForge(Command):
def run(self, opts): def run(self, opts):
self.opts = opts self.opts = opts
self.create()
self.mk_release_dir()
self.upload_installers() self.upload_installers()

View File

@ -193,7 +193,7 @@ def extract(path, dir):
raise Exception('Unknown archive type') raise Exception('Unknown archive type')
extractor(path, dir) extractor(path, dir)
def get_proxies(): def get_proxies(debug=True):
proxies = {} proxies = {}
for q in ('http', 'ftp'): for q in ('http', 'ftp'):
@ -226,10 +226,40 @@ def get_proxies():
if len(proxies[x]) < 5: if len(proxies[x]) < 5:
prints('Removing invalid', x, 'proxy:', proxies[x]) prints('Removing invalid', x, 'proxy:', proxies[x])
del proxies[x] del proxies[x]
if proxies: if proxies and debug:
prints('Using proxies:', proxies) prints('Using proxies:', proxies)
return proxies return proxies
def get_parsed_proxy(typ='http', debug=True):
proxies = get_proxies(debug)
if typ not in proxies:
return
pattern = re.compile((
'(?:ptype://)?' \
'(?:(?P<user>\w+):(?P<pass>.*)@)?' \
'(?P<host>[\w\-\.]+)' \
'(?::(?P<port>\d+))?').replace('ptype', typ)
)
match = pattern.match(proxies['typ'])
if match:
try:
ans = {
'host' : match.group('host'),
'port' : match.group('port'),
'user' : match.group('user'),
'pass' : match.group('pass')
}
if ans['port']:
ans['port'] = int(ans['port'])
except:
if debug:
traceback.print_exc()
return
if debug:
prints('Using http proxy', ans)
return ans
def browser(honor_time=True, max_time=2, mobile_browser=False): def browser(honor_time=True, max_time=2, mobile_browser=False):
''' '''

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.21' __version__ = '0.6.23'
__author__ = "Kovid Goyal <kovid@kovidgoyal.net>" __author__ = "Kovid Goyal <kovid@kovidgoyal.net>"
import re import re

View File

@ -372,7 +372,8 @@ from calibre.customize.profiles import input_profiles, output_profiles
from calibre.devices.bebook.driver import BEBOOK, BEBOOK_MINI 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
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
@ -385,8 +386,8 @@ from calibre.devices.eslick.driver import ESLICK
from calibre.devices.nuut2.driver import NUUT2 from calibre.devices.nuut2.driver import NUUT2
from calibre.devices.iriver.driver import IRIVER_STORY from calibre.devices.iriver.driver import IRIVER_STORY
from calibre.ebooks.metadata.fetch import GoogleBooks, ISBNDB from calibre.ebooks.metadata.fetch import GoogleBooks, ISBNDB, Amazon
plugins = [HTML2ZIP, GoogleBooks, ISBNDB] plugins = [HTML2ZIP, GoogleBooks, ISBNDB, Amazon]
plugins += [ plugins += [
ComicInput, ComicInput,
EPUBInput, EPUBInput,
@ -441,7 +442,8 @@ plugins += [
SHINEBOOK, SHINEBOOK,
ESLICK, ESLICK,
NUUT2, NUUT2,
IRIVER_STORY IRIVER_STORY,
POCKETBOOK360
] ]
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

@ -90,9 +90,10 @@ def output_profiles():
if isinstance(plugin, OutputProfile): if isinstance(plugin, OutputProfile):
yield plugin yield plugin
def metadata_sources(customize=True, isbndb_key=None): def metadata_sources(metadata_type='basic', customize=True, isbndb_key=None):
for plugin in _initialized_plugins: for plugin in _initialized_plugins:
if isinstance(plugin, MetadataSource): if isinstance(plugin, MetadataSource) and \
plugin.metadata_type == metadata_type:
if is_disabled(plugin): if is_disabled(plugin):
continue continue
if customize: if customize:

View File

@ -82,3 +82,13 @@ class SHINEBOOK(EB600):
VENDOR_NAME = 'LONGSHIN' VENDOR_NAME = 'LONGSHIN'
WINDOWS_MAIN_MEM = 'ESHINEBOOK' WINDOWS_MAIN_MEM = 'ESHINEBOOK'
class POCKETBOOK360(EB600):
name = 'PocketBook 360 Device Interface'
gui_name = 'PocketBook 360'
FORMATS = ['epub', 'fb2', 'pdf', 'djvu', 'rtf', 'chm', 'txt']
VENDOR_NAME = 'PHILIPS'
WINDOWS_MAIN_MEM = 'MASS_STORGE'

View File

@ -6,45 +6,83 @@ __docformat__ = 'restructuredtext en'
''' '''
Fetch metadata using Amazon AWS Fetch metadata using Amazon AWS
''' '''
import re import sys, re
from datetime import datetime
from lxml import etree
from dateutil import parser
from calibre import browser from calibre import browser
from calibre.ebooks.metadata import MetaInformation, string_to_authors
AWS_NS = 'http://webservices.amazon.com/AWSECommerceService/2005-10-05'
def AWS(tag):
return '{%s}%s'%(AWS_NS, tag)
def check_for_errors(root):
err = root.find('.//'+AWS('Error'))
if err is not None:
raise Exception('Failed to get metadata with error: '\
+ etree.tostring(err, method='text', pretty_print=True,
encoding=unicode))
def get_social_metadata(title, authors, publisher, isbn):
mi = MetaInformation(title, authors)
if isbn:
br = browser()
response_xml = br.open('http://status.calibre-ebook.com/aws/metadata/'+isbn).read()
root = etree.fromstring(response_xml)
check_for_errors(root)
mi.title = root.findtext('.//'+AWS('Title'))
authors = [x.text for x in root.findall('.//'+AWS('Author'))]
if authors:
mi.authors = []
for x in authors:
mi.authors.extend(string_to_authors(x))
mi.publisher = root.findtext('.//'+AWS('Publisher'))
try:
d = root.findtext('.//'+AWS('PublicationDate'))
if d:
default = datetime.utcnow()
default = datetime(default.year, default.month, 15)
d = parser.parse(d[0].text, default=default)
mi.pubdate = d
except:
pass
try:
rating = float(root.findtext('.//'+AWS('AverageRating')))
num_of_reviews = int(root.findtext('.//'+AWS('TotalReviews')))
if num_of_reviews > 4 and rating > 0 and rating < 5:
mi.rating = rating
except:
pass
tags = [x.text for x in root.findall('.//%s/%s'%(AWS('Subjects'),
AWS('Subject')))]
if tags:
mi.tags = []
for x in tags:
mi.tags.extend([y.strip() for y in x.split('/')])
comments = root.find('.//%s/%s'%(AWS('EditorialReview'),
AWS('Content')))
if comments is not None:
mi.comments = etree.tostring(comments,
method='text', encoding=unicode)
mi.comments = re.sub('<([pP]|DIV)>', '\n\n', mi.comments)
mi.comments = re.sub('</?[iI]>', '*', mi.comments)
mi.comments = re.sub('</?[bB]>', '**', mi.comments)
mi.comments = re.sub('<BR>', '\n\n', mi.comments)
mi.comments = re.sub('<[^>]+>', '', mi.comments)
mi.comments = mi.comments.strip()
mi.comments = _('EDITORIAL REVIEW')+':\n\n'+mi.comments
return mi
BASE_URL = 'http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=%(key)s&Operation=ItemLookup&ItemId=1416551727&ResponseGroup=%(group)s'
import sys
def get_rating(isbn, key):
br = browser()
url = BASE_URL%dict(key=key, group='Reviews')
raw = br.open(url).read()
match = re.search(r'<AverageRating>([\d.]+)</AverageRating>', raw)
if match:
return float(match.group(1))
def get_cover_url(isbn, key):
br = browser()
url = BASE_URL%dict(key=key, group='Images')
raw = br.open(url).read()
match = re.search(r'<LargeImage><URL>(.+?)</URL>', raw)
if match:
return match.group(1)
def get_editorial_review(isbn, key):
br = browser()
url = BASE_URL%dict(key=key, group='EditorialReview')
raw = br.open(url).read()
match = re.compile(r'<EditorialReview>.*?<Content>(.+?)</Content>', re.DOTALL).search(raw)
if match:
return match.group(1)
def main(args=sys.argv): def main(args=sys.argv):
print 'Rating:', get_rating(args[1], args[2]) print get_social_metadata(None, None, None, '9781416551720')
print 'Cover:', get_rating(args[1], args[2])
print 'EditorialReview:', get_editorial_review(args[1], args[2])
return 0 return 0
if __name__ == '__main__': if __name__ == '__main__':
sys.exit(main()) sys.exit(main())

View File

@ -6,7 +6,7 @@ __docformat__ = 'restructuredtext en'
import traceback, sys, textwrap, re import traceback, sys, textwrap, re
from threading import Thread from threading import Thread
from calibre import preferred_encoding from calibre import prints
from calibre.utils.config import OptionParser from calibre.utils.config import OptionParser
from calibre.utils.logging import default_log from calibre.utils.logging import default_log
@ -15,7 +15,14 @@ from calibre.customize import Plugin
class MetadataSource(Plugin): class MetadataSource(Plugin):
author = 'Kovid Goyal' author = 'Kovid Goyal'
supported_platforms = ['windows', 'osx', 'linux'] supported_platforms = ['windows', 'osx', 'linux']
#: The type of metadata fetched. 'basic' means basic metadata like
#: title/author/isbn/etc. 'social' means social metadata like
#: tags/rating/reviews/etc.
metadata_type = 'basic'
type = _('Metadata download') type = _('Metadata download')
def __call__(self, title, author, publisher, isbn, verbose, log=None, def __call__(self, title, author, publisher, isbn, verbose, log=None,
@ -49,12 +56,11 @@ class MetadataSource(Plugin):
def join(self): def join(self):
return self.worker.join() return self.worker.join()
class GoogleBooks(MetadataSource): class GoogleBooks(MetadataSource):
name = 'Google Books' name = 'Google Books'
description = _('Downloads metadata from Google Books')
def is_ok(self):
return bool(self.site_customization)
def fetch(self): def fetch(self):
from calibre.ebooks.metadata.google_books import search from calibre.ebooks.metadata.google_books import search
@ -70,6 +76,7 @@ class GoogleBooks(MetadataSource):
class ISBNDB(MetadataSource): class ISBNDB(MetadataSource):
name = 'IsbnDB' name = 'IsbnDB'
description = _('Downloads metadata from isbndb.com')
def fetch(self): def fetch(self):
if not self.site_customization: if not self.site_customization:
@ -104,6 +111,23 @@ class ISBNDB(MetadataSource):
ans = ans.replace('%s', '') ans = ans.replace('%s', '')
return ans return ans
class Amazon(MetadataSource):
name = 'Amazon'
metadata_type = 'social'
description = _('Downloads social metadata from amazon.com')
def fetch(self):
if not self.isbn:
return
from calibre.ebooks.metadata.amazon import get_social_metadata
try:
self.results = get_social_metadata(self.title, self.author,
self.publisher, self.isbn)
except Exception, e:
self.exception = e
self.tb = traceback.format_exc()
def result_index(source, result): def result_index(source, result):
if not result.isbn: if not result.isbn:
return -1 return -1
@ -134,16 +158,58 @@ def search(title=None, author=None, publisher=None, isbn=None, isbndb_key=None,
fetcher(title, author, publisher, isbn, verbose) fetcher(title, author, publisher, isbn, verbose)
for fetcher in fetchers: for fetcher in fetchers:
fetcher.join() fetcher.join()
results = list(fetchers[0].results)
for fetcher in fetchers[1:]: for fetcher in fetchers[1:]:
merge_results(fetchers[0].results, fetcher.results) merge_results(results, fetcher.results)
results = sorted(fetchers[0].results, cmp=lambda x, y : cmp( results = sorted(results, cmp=lambda x, y : cmp(
(x.comments.strip() if x.comments else ''), (x.comments.strip() if x.comments else ''),
(y.comments.strip() if y.comments else '') (y.comments.strip() if y.comments else '')
), reverse=True) ), reverse=True)
return results, [(x.name, x.exception, x.tb) for x in fetchers] return results, [(x.name, x.exception, x.tb) for x in fetchers]
def get_social_metadata(mi, verbose=0):
from calibre.customize.ui import metadata_sources
fetchers = list(metadata_sources(metadata_type='social'))
for fetcher in fetchers:
fetcher(mi.title, mi.authors, mi.publisher, mi.isbn, verbose)
for fetcher in fetchers:
fetcher.join()
ratings, tags, comments = [], set([]), set([])
for fetcher in fetchers:
if fetcher.results:
dmi = fetcher.results
if dmi.rating is not None:
ratings.append(dmi.rating)
if dmi.tags:
for t in dmi.tags:
tags.add(t)
if mi.pubdate is None and dmi.pubdate is not None:
mi.pubdate = dmi.pubdate
if dmi.comments:
comments.add(dmi.comments)
if ratings:
rating = sum(ratings)/float(len(ratings))
if mi.rating is None:
mi.rating = rating
else:
mi.rating = (mi.rating + rating)/2.0
if tags:
if not mi.tags:
mi.tags = []
mi.tags += list(tags)
mi.tags = list(sorted(list(set(mi.tags))))
if comments:
if not mi.comments or len(mi.comments)+20 < len(' '.join(comments)):
mi.comments = ''
for x in comments:
mi.comments += x+'\n\n'
return [(x.name, x.exception, x.tb) for x in fetchers if x.exception is not
None]
def option_parser(): def option_parser():
parser = OptionParser(textwrap.dedent( parser = OptionParser(textwrap.dedent(
@ -174,11 +240,13 @@ def main(args=sys.argv):
opts, args = parser.parse_args(args) opts, args = parser.parse_args(args)
results, exceptions = search(opts.title, opts.author, opts.publisher, results, exceptions = search(opts.title, opts.author, opts.publisher,
opts.isbn, opts.isbndb_key, opts.verbose) opts.isbn, opts.isbndb_key, opts.verbose)
social_exceptions = []
for result in results: for result in results:
print unicode(result).encode(preferred_encoding) social_exceptions.extend(get_social_metadata(result, opts.verbose))
prints(unicode(result))
print print
for name, exception, tb in exceptions: for name, exception, tb in exceptions+social_exceptions:
if exception is not None: if exception is not None:
print 'WARNING: Fetching from', name, 'failed with error:' print 'WARNING: Fetching from', name, 'failed with error:'
print exception print exception

View File

@ -135,7 +135,11 @@ class ResultList(list):
def get_tags(self, entry, verbose): def get_tags(self, entry, verbose):
try: try:
tags = [x.text for x in subject(entry)] btags = [x.text for x in subject(entry)]
tags = []
for t in btags:
tags.extend([y.strip() for y in t.split('/')])
tags = list(sorted(list(set(tags))))
except: except:
report(verbose) report(verbose)
tags = [] tags = []

View File

@ -125,7 +125,16 @@ def create_books(opts, args, timeout=5.):
if opts.verbose: if opts.verbose:
print ('ISBNDB query: '+url) print ('ISBNDB query: '+url)
return [ISBNDBMetadata(book) for book in fetch_metadata(url, timeout=timeout)] tans = [ISBNDBMetadata(book) for book in fetch_metadata(url, timeout=timeout)]
ans = []
for x in tans:
add = True
for y in ans:
if y.isbn == x.isbn:
add = False
if add:
ans.append(x)
return ans
def main(args=sys.argv): def main(args=sys.argv):
parser = option_parser() parser = option_parser()

View File

@ -83,6 +83,8 @@ def _config():
help='Search history for the recipe scheduler') help='Search history for the recipe scheduler')
c.add_opt('worker_limit', default=6, c.add_opt('worker_limit', default=6,
help=_('Maximum number of waiting worker processes')) help=_('Maximum number of waiting worker processes'))
c.add_opt('get_social_metadata', default=True,
help=_('Download social metadata (tags/rating/etc.)'))
return ConfigProxy(c) return ConfigProxy(c)

View File

@ -455,6 +455,7 @@ class ConfigDialog(ResizableDialog, Ui_Dialog):
self.opt_worker_limit.setValue(config['worker_limit']) self.opt_worker_limit.setValue(config['worker_limit'])
self.connect(self.button_open_config_dir, SIGNAL('clicked()'), self.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'])
def open_config_dir(self): def open_config_dir(self):
from calibre.utils.config import config_dir from calibre.utils.config import config_dir
@ -740,6 +741,7 @@ class ConfigDialog(ResizableDialog, Ui_Dialog):
config['delete_news_from_library_on_upload'] = self.delete_news.isChecked() config['delete_news_from_library_on_upload'] = self.delete_news.isChecked()
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()
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

@ -90,7 +90,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>524</width> <width>524</width>
<height>682</height> <height>680</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout_7"> <layout class="QGridLayout" name="gridLayout_7">
@ -164,6 +164,13 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QCheckBox" name="opt_get_social_metadata">
<property name="text">
<string>Download &amp;social metadata (tags/ratings/etc.) by default</string>
</property>
</widget>
</item>
<item> <item>
<layout class="QGridLayout" name="gridLayout_2"> <layout class="QGridLayout" name="gridLayout_2">
<item row="1" column="0"> <item row="1" column="0">

View File

@ -0,0 +1,56 @@
#!/usr/bin/env python
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
from __future__ import with_statement
__license__ = 'GPL v3'
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
__docformat__ = 'restructuredtext en'
from PyQt4.Qt import QDialog, QDialogButtonBox, Qt, QLabel, QVBoxLayout, \
SIGNAL, QThread
from calibre.ebooks.metadata import MetaInformation
class Worker(QThread):
def __init__(self, mi, parent):
QThread.__init__(self, parent)
self.mi = MetaInformation(mi)
self.exceptions = []
def run(self):
from calibre.ebooks.metadata.fetch import get_social_metadata
self.exceptions = get_social_metadata(self.mi)
class SocialMetadata(QDialog):
def __init__(self, mi, parent):
QDialog.__init__(self, parent)
self.bbox = QDialogButtonBox(QDialogButtonBox.Ok, Qt.Horizontal, self)
self.mi = mi
self.layout = QVBoxLayout(self)
self.label = QLabel(_('Downloading social metadata, please wait...'), self)
self.label.setWordWrap(True)
self.layout.addWidget(self.label)
self.layout.addWidget(self.bbox)
self.worker = Worker(mi, self)
self.connect(self.worker, SIGNAL('finished()'), self.accept)
self.connect(self.bbox, SIGNAL('rejected()'), self.reject)
self.worker.start()
def reject(self):
self.disconnect(self.worker, SIGNAL('finished()'), self.accept)
QDialog.reject(self)
def accept(self):
self.mi.tags = self.worker.mi.tags
self.mi.rating = self.worker.mi.rating
self.mi.comments = self.worker.mi.comments
QDialog.accept(self)
@property
def exceptions(self):
return self.worker.exceptions

View File

@ -11,7 +11,7 @@ from PyQt4.QtCore import Qt, QObject, SIGNAL, QVariant, QThread, \
from PyQt4.QtGui import QDialog, QItemSelectionModel from PyQt4.QtGui import QDialog, QItemSelectionModel
from calibre.gui2.dialogs.fetch_metadata_ui import Ui_FetchMetadata from calibre.gui2.dialogs.fetch_metadata_ui import Ui_FetchMetadata
from calibre.gui2 import error_dialog, NONE, info_dialog from calibre.gui2 import error_dialog, NONE, info_dialog, config
from calibre.gui2.widgets import ProgressIndicator from calibre.gui2.widgets import ProgressIndicator
from calibre import strftime from calibre import strftime
from calibre.customize.ui import get_isbndb_key, set_isbndb_key from calibre.customize.ui import get_isbndb_key, set_isbndb_key
@ -101,7 +101,10 @@ class FetchMetadata(QDialog, Ui_FetchMetadata):
self.timeout = timeout self.timeout = timeout
QObject.connect(self.fetch, SIGNAL('clicked()'), self.fetch_metadata) QObject.connect(self.fetch, SIGNAL('clicked()'), self.fetch_metadata)
self.key.setText(get_isbndb_key()) isbndb_key = get_isbndb_key()
if not isbndb_key:
isbndb_key = ''
self.key.setText(isbndb_key)
self.setWindowTitle(title if title else _('Unknown')) self.setWindowTitle(title if title else _('Unknown'))
self.isbn = isbn self.isbn = isbn
@ -115,6 +118,7 @@ class FetchMetadata(QDialog, Ui_FetchMetadata):
self.show_summary) self.show_summary)
self.matches.setMouseTracking(True) self.matches.setMouseTracking(True)
self.fetch_metadata() self.fetch_metadata()
self.opt_get_social_metadata.setChecked(config['get_social_metadata'])
def show_summary(self, current, *args): def show_summary(self, current, *args):

View File

@ -1,10 +1,11 @@
<ui version="4.0" > <?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>FetchMetadata</class> <class>FetchMetadata</class>
<widget class="QDialog" name="FetchMetadata" > <widget class="QDialog" name="FetchMetadata">
<property name="windowModality" > <property name="windowModality">
<enum>Qt::WindowModal</enum> <enum>Qt::WindowModal</enum>
</property> </property>
<property name="geometry" > <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
@ -12,48 +13,48 @@
<height>642</height> <height>642</height>
</rect> </rect>
</property> </property>
<property name="windowTitle" > <property name="windowTitle">
<string>Fetch metadata</string> <string>Fetch metadata</string>
</property> </property>
<property name="windowIcon" > <property name="windowIcon">
<iconset resource="../../../../resources/images.qrc" > <iconset resource="../../../../resources/images.qrc">
<normaloff>:/images/metadata.svg</normaloff>:/images/metadata.svg</iconset> <normaloff>:/images/metadata.svg</normaloff>:/images/metadata.svg</iconset>
</property> </property>
<layout class="QVBoxLayout" > <layout class="QVBoxLayout">
<item> <item>
<widget class="QLabel" name="tlabel" > <widget class="QLabel" name="tlabel">
<property name="text" > <property name="text">
<string>&lt;p>calibre can find metadata for your books from two locations: &lt;b>Google Books&lt;/b> and &lt;b>isbndb.com&lt;/b>. &lt;p>To use isbndb.com you must sign up for a &lt;a href="http://www.isbndb.com">free account&lt;/a> and enter your access key below.</string> <string>&lt;p&gt;calibre can find metadata for your books from two locations: &lt;b&gt;Google Books&lt;/b&gt; and &lt;b&gt;isbndb.com&lt;/b&gt;. &lt;p&gt;To use isbndb.com you must sign up for a &lt;a href=&quot;http://www.isbndb.com&quot;&gt;free account&lt;/a&gt; and enter your access key below.</string>
</property> </property>
<property name="alignment" > <property name="alignment">
<set>Qt::AlignCenter</set> <set>Qt::AlignCenter</set>
</property> </property>
<property name="wordWrap" > <property name="wordWrap">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="openExternalLinks" > <property name="openExternalLinks">
<bool>true</bool> <bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" > <layout class="QHBoxLayout">
<item> <item>
<widget class="QLabel" name="label_2" > <widget class="QLabel" name="label_2">
<property name="text" > <property name="text">
<string>&amp;Access Key:</string> <string>&amp;Access Key:</string>
</property> </property>
<property name="buddy" > <property name="buddy">
<cstring>key</cstring> <cstring>key</cstring>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLineEdit" name="key" /> <widget class="QLineEdit" name="key"/>
</item> </item>
<item> <item>
<widget class="QPushButton" name="fetch" > <widget class="QPushButton" name="fetch">
<property name="text" > <property name="text">
<string>Fetch</string> <string>Fetch</string>
</property> </property>
</widget> </widget>
@ -61,56 +62,63 @@
</layout> </layout>
</item> </item>
<item> <item>
<widget class="QLabel" name="warning" > <widget class="QLabel" name="warning">
<property name="text" > <property name="text">
<string/> <string/>
</property> </property>
<property name="wordWrap" > <property name="wordWrap">
<bool>true</bool> <bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QGroupBox" name="groupBox" > <widget class="QGroupBox" name="groupBox">
<property name="title" > <property name="title">
<string>Matches</string> <string>Matches</string>
</property> </property>
<layout class="QVBoxLayout" > <layout class="QVBoxLayout">
<item> <item>
<widget class="QLabel" name="label_3" > <widget class="QLabel" name="label_3">
<property name="text" > <property name="text">
<string>Select the book that most closely matches your copy from the list below</string> <string>Select the book that most closely matches your copy from the list below</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QTableView" name="matches" > <widget class="QTableView" name="matches">
<property name="sizePolicy" > <property name="sizePolicy">
<sizepolicy vsizetype="Expanding" hsizetype="Expanding" > <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>1</verstretch> <verstretch>1</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="alternatingRowColors" > <property name="alternatingRowColors">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="selectionMode" > <property name="selectionMode">
<enum>QAbstractItemView::SingleSelection</enum> <enum>QAbstractItemView::SingleSelection</enum>
</property> </property>
<property name="selectionBehavior" > <property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum> <enum>QAbstractItemView::SelectRows</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QTextBrowser" name="summary" /> <widget class="QTextBrowser" name="summary"/>
</item> </item>
</layout> </layout>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QDialogButtonBox" name="buttonBox" > <widget class="QCheckBox" name="opt_get_social_metadata">
<property name="standardButtons" > <property name="text">
<string>Download &amp;social metadata (tags/rating/etc.) for the selected book</string>
</property>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property> </property>
</widget> </widget>
@ -118,7 +126,7 @@
</layout> </layout>
</widget> </widget>
<resources> <resources>
<include location="../../../../resources/images.qrc" /> <include location="../../../../resources/images.qrc"/>
</resources> </resources>
<connections> <connections>
<connection> <connection>
@ -127,11 +135,11 @@
<receiver>FetchMetadata</receiver> <receiver>FetchMetadata</receiver>
<slot>accept()</slot> <slot>accept()</slot>
<hints> <hints>
<hint type="sourcelabel" > <hint type="sourcelabel">
<x>460</x> <x>460</x>
<y>599</y> <y>599</y>
</hint> </hint>
<hint type="destinationlabel" > <hint type="destinationlabel">
<x>657</x> <x>657</x>
<y>530</y> <y>530</y>
</hint> </hint>
@ -143,11 +151,11 @@
<receiver>FetchMetadata</receiver> <receiver>FetchMetadata</receiver>
<slot>reject()</slot> <slot>reject()</slot>
<hints> <hints>
<hint type="sourcelabel" > <hint type="sourcelabel">
<x>417</x> <x>417</x>
<y>599</y> <y>599</y>
</hint> </hint>
<hint type="destinationlabel" > <hint type="destinationlabel">
<x>0</x> <x>0</x>
<y>491</y> <y>491</y>
</hint> </hint>

View File

@ -16,7 +16,8 @@ from PyQt4.Qt import SIGNAL, QObject, QCoreApplication, Qt, QTimer, QThread, QDa
QPixmap, QListWidgetItem, QDialog QPixmap, QListWidgetItem, QDialog
from calibre.gui2 import qstring_to_unicode, error_dialog, file_icon_provider, \ from calibre.gui2 import qstring_to_unicode, error_dialog, file_icon_provider, \
choose_files, choose_images, ResizableDialog choose_files, choose_images, ResizableDialog, \
warning_dialog
from calibre.gui2.dialogs.metadata_single_ui import Ui_MetadataSingleDialog from calibre.gui2.dialogs.metadata_single_ui import Ui_MetadataSingleDialog
from calibre.gui2.dialogs.fetch_metadata import FetchMetadata from calibre.gui2.dialogs.fetch_metadata import FetchMetadata
from calibre.gui2.dialogs.tag_editor import TagEditor from calibre.gui2.dialogs.tag_editor import TagEditor
@ -28,6 +29,7 @@ from calibre import islinux
from calibre.ebooks.metadata.meta import get_metadata from calibre.ebooks.metadata.meta import get_metadata
from calibre.utils.config import prefs from calibre.utils.config import prefs
from calibre.customize.ui import run_plugins_on_import, get_isbndb_key from calibre.customize.ui import run_plugins_on_import, get_isbndb_key
from calibre.gui2.dialogs.config.social import SocialMetadata
class CoverFetcher(QThread): class CoverFetcher(QThread):
@ -541,6 +543,15 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog):
if d.exec_() == QDialog.Accepted: if d.exec_() == QDialog.Accepted:
book = d.selected_book() book = d.selected_book()
if book: if book:
if d.opt_get_social_metadata.isChecked():
d2 = SocialMetadata(book, self)
d2.exec_()
if d2.exceptions:
det = '\n'.join([x[0]+'\n\n'+x[-1]+'\n\n\n' for
x in d2.exceptions])
warning_dialog(self, _('There were errors'),
_('There were errors downloading social metadata'),
det_msg=det, show=True)
self.title.setText(book.title) self.title.setText(book.title)
self.authors.setText(authors_to_string(book.authors)) self.authors.setText(authors_to_string(book.authors))
if book.author_sort: self.author_sort.setText(book.author_sort) if book.author_sort: self.author_sort.setText(book.author_sort)
@ -552,14 +563,18 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog):
self.pubdate.setDate(QDate(d.year, d.month, d.day)) self.pubdate.setDate(QDate(d.year, d.month, d.day))
summ = book.comments summ = book.comments
if summ: if summ:
prefix = qstring_to_unicode(self.comments.toPlainText()) prefix = unicode(self.comments.toPlainText())
if prefix: if prefix:
prefix += '\n' prefix += '\n'
self.comments.setText(prefix + summ) self.comments.setText(prefix + summ)
if book.rating is not None:
self.rating.setValue(int(book.rating))
if book.tags:
self.tags.setText(', '.join(book.tags))
else: else:
error_dialog(self, _('Cannot fetch metadata'), error_dialog(self, _('Cannot fetch metadata'),
_('You must specify at least one of ISBN, Title, ' _('You must specify at least one of ISBN, Title, '
'Authors or Publisher')) 'Authors or Publisher'), show=True)
def enable_series_index(self, *args): def enable_series_index(self, *args):
self.series_index.setEnabled(True) self.series_index.setEnabled(True)

View File

@ -1039,14 +1039,16 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI):
ids = [db.id(row.row()) for row in rows] ids = [db.id(row.row()) for row in rows]
from calibre.gui2.metadata import DownloadMetadata from calibre.gui2.metadata import DownloadMetadata
self._download_book_metadata = DownloadMetadata(db, ids, self._download_book_metadata = DownloadMetadata(db, ids,
get_covers=covers, set_metadata=set_metadata) get_covers=covers, set_metadata=set_metadata,
get_social_metadata=config['get_social_metadata'])
self._download_book_metadata.start() self._download_book_metadata.start()
x = _('covers') if covers and not set_metadata else _('metadata') x = _('covers') if covers and not set_metadata else _('metadata')
self.progress_indicator.start( self.progress_indicator.start(
_('Downloading %s for %d book(s)')%(x, len(ids))) _('Downloading %s for %d book(s)')%(x, len(ids)))
self._book_metadata_download_check = QTimer(self) self._book_metadata_download_check = QTimer(self)
self.connect(self._book_metadata_download_check, self.connect(self._book_metadata_download_check,
SIGNAL('timeout()'), self.book_metadata_download_check) SIGNAL('timeout()'), self.book_metadata_download_check,
Qt.QueuedConnection)
self._book_metadata_download_check.start(100) self._book_metadata_download_check.start(100)
def book_metadata_download_check(self): def book_metadata_download_check(self):

View File

@ -6,11 +6,12 @@ __license__ = 'GPL v3'
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>' __copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
__docformat__ = 'restructuredtext en' __docformat__ = 'restructuredtext en'
import traceback
from threading import Thread from threading import Thread
from Queue import Queue, Empty from Queue import Queue, Empty
from calibre.ebooks.metadata.fetch import search from calibre.ebooks.metadata.fetch import search, get_social_metadata
from calibre.ebooks.metadata.library_thing import cover_from_isbn from calibre.ebooks.metadata.library_thing import cover_from_isbn
from calibre.customize.ui import get_isbndb_key from calibre.customize.ui import get_isbndb_key
@ -27,9 +28,12 @@ class Worker(Thread):
isbn = self.jobs.get() isbn = self.jobs.get()
if not isbn: if not isbn:
break break
cdata, _ = cover_from_isbn(isbn) try:
if cdata: cdata, _ = cover_from_isbn(isbn)
self.results.put((isbn, cdata)) if cdata:
self.results.put((isbn, cdata))
except:
traceback.print_exc()
def __enter__(self): def __enter__(self):
self.start() self.start()
@ -41,12 +45,15 @@ class Worker(Thread):
class DownloadMetadata(Thread): class DownloadMetadata(Thread):
def __init__(self, db, ids, get_covers, set_metadata=True): def __init__(self, db, ids, get_covers, set_metadata=True,
get_social_metadata=True):
Thread.__init__(self) Thread.__init__(self)
self.setDaemon(True) self.setDaemon(True)
self.metadata = {} self.metadata = {}
self.covers = {} self.covers = {}
self.set_metadata = set_metadata self.set_metadata = set_metadata
self.get_social_metadata = get_social_metadata
self.social_metadata_exceptions = []
self.db = db self.db = db
self.updated = set([]) self.updated = set([])
self.get_covers = get_covers self.get_covers = get_covers
@ -91,6 +98,8 @@ class DownloadMetadata(Thread):
if fmi.isbn and self.get_covers: if fmi.isbn and self.get_covers:
self.worker.jobs.put(fmi.isbn) self.worker.jobs.put(fmi.isbn)
mi.smart_update(fmi) mi.smart_update(fmi)
if mi.isbn and self.get_social_metadata:
self.social_metadata_exceptions = get_social_metadata(mi)
else: else:
self.failures[id] = (mi.title, self.failures[id] = (mi.title,
_('No matches found for this book')) _('No matches found for this book'))

View File

@ -40,6 +40,9 @@ Command Line Interface
.. image:: ../images/cli.png .. image:: ../images/cli.png
On OS X you have to go to Preferences->Advanced and click install command line
tools to make the command line tools available. On other platforms, just start
a terminal and type the command.
Documented Commands Documented Commands
-------------------- --------------------

View File

@ -122,6 +122,8 @@ Metadata download plugins
:class:`MetaInformation` objects. If there is an error, it should be stored :class:`MetaInformation` objects. If there is an error, it should be stored
in `self.exception` and `self.tb` (for the traceback). in `self.exception` and `self.tb` (for the traceback).
.. automember:: calibre.ebooks.metadata.fetch.MetadataSource.metadata_type
.. automethod:: calibre.ebooks.metadata.fetch.MetadataSource.fetch .. automethod:: calibre.ebooks.metadata.fetch.MetadataSource.fetch
.. automethod:: calibre.ebooks.metadata.fetch.MetadataSource.is_ok .. automethod:: calibre.ebooks.metadata.fetch.MetadataSource.is_ok

View File

@ -9,7 +9,7 @@ DEPENDENCIES = [
('Python Imaging Library', '1.1.6', 'imaging', 'python-imaging', 'python-imaging'), ('Python Imaging Library', '1.1.6', 'imaging', 'python-imaging', 'python-imaging'),
('libusb', '0.1.12', None, None, None), ('libusb', '0.1.12', None, None, None),
('Qt', '4.5.1', 'qt', 'libqt4-core libqt4-gui', 'qt4'), ('Qt', '4.5.1', 'qt', 'libqt4-core libqt4-gui', 'qt4'),
('PyQt', '4.5.1', 'PyQt4', 'python-qt4', 'PyQt4'), ('PyQt', '4.6.1', 'PyQt4', 'python-qt4', 'PyQt4'),
('python-mechanize', '0.1.11', 'dev-python/mechanize', 'python-mechanize', 'python-mechanize'), ('python-mechanize', '0.1.11', 'dev-python/mechanize', 'python-mechanize', 'python-mechanize'),
('ImageMagick', '6.3.5', 'imagemagick', 'imagemagick', 'ImageMagick'), ('ImageMagick', '6.3.5', 'imagemagick', 'imagemagick', 'ImageMagick'),
('xdg-utils', '1.0.2', 'xdg-utils', 'xdg-utils', 'xdg-utils'), ('xdg-utils', '1.0.2', 'xdg-utils', 'xdg-utils', 'xdg-utils'),

View File

@ -155,6 +155,11 @@ sudo python setup.py install
<td style="margin-right:2em">${dep[0]}</td><td>${dep[1]}</td> <td style="margin-right:2em">${dep[0]}</td><td>${dep[1]}</td>
</tr> </tr>
</table> </table>
<h3>Current calibre versions available in various distros</h3>
<div id="osw_calibre"></div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>
<script src="http://static.oswatershed.org/js/package_badge.js" type="text/javascript"></script>
<script>$(document).ready(function(){ package_badge("calibre", "#osw_calibre"); });</script>
</div> </div>
</body> </body>
</html> </html>

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-10-31 09:00+0000\n" "POT-Creation-Date: 2009-11-06 21:27+0000\n"
"PO-Revision-Date: 2009-10-31 05:01+0000\n" "PO-Revision-Date: 2009-11-06 19:11+0000\n"
"Last-Translator: Andre Hugo <Unknown>\n" "Last-Translator: Kovid Goyal <Unknown>\n"
"Language-Team: Afrikaans <af@li.org>\n" "Language-Team: Afrikaans <af@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-11-01 08:21+0000\n" "X-Launchpad-Export-Date: 2009-11-07 04:36+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
@ -45,10 +45,10 @@ msgstr "Doen absolute niks"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:45 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:46
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:61 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:62
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:64
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:103 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:104
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:171 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:171
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:329 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:329
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:444 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:444
@ -118,7 +118,7 @@ msgstr "Doen absolute niks"
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:876 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:876
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1002 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:1002
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:211 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:211
#: /home/kovid/work/calibre/src/calibre/library/cli.py:280 #: /home/kovid/work/calibre/src/calibre/library/cli.py:281
#: /home/kovid/work/calibre/src/calibre/library/database.py:913 #: /home/kovid/work/calibre/src/calibre/library/database.py:913
#: /home/kovid/work/calibre/src/calibre/library/database2.py:702 #: /home/kovid/work/calibre/src/calibre/library/database2.py:702
#: /home/kovid/work/calibre/src/calibre/library/database2.py:714 #: /home/kovid/work/calibre/src/calibre/library/database2.py:714
@ -264,7 +264,6 @@ msgid "This profile is intended for the Mobipocket books."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:93 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:93
#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:253
msgid "This profile is intended for the Hanlin V3 and its clones." msgid "This profile is intended for the Hanlin V3 and its clones."
msgstr "" msgstr ""
@ -314,6 +313,10 @@ msgid ""
"landscape mode. Mainly useful for comics." "landscape mode. Mainly useful for comics."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:253
msgid "This profile is intended for the Hanlin V3/V5 and its clones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:306 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:306
msgid "This profile is intended for the Amazon Kindle DX." msgid "This profile is intended for the Amazon Kindle DX."
msgstr "" msgstr ""
@ -395,6 +398,7 @@ 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/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/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"
@ -450,6 +454,10 @@ msgstr ""
msgid "Communicate with the IRex Digital Reader 1000 eBook reader." msgid "Communicate with the IRex Digital Reader 1000 eBook reader."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/iriver/driver.py:15
msgid "Communicate with the Iriver Story reader."
msgstr ""
#: /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 ""
@ -1116,9 +1124,9 @@ msgid ""
"disables the generation of this cover." "disables the generation of this cover."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:123 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:126
#: /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:98 #: /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
msgid "Table of Contents:" msgid "Table of Contents:"
msgstr "" msgstr ""
@ -2213,7 +2221,7 @@ msgstr ""
msgid "Copy to Clipboard" msgid "Copy to Clipboard"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:386 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:387
msgid "Choose Files" msgid "Choose Files"
msgstr "" msgstr ""
@ -2938,7 +2946,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/main.py:1386 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398
msgid "Choose the format to view" msgid "Choose the format to view"
msgstr "" msgstr ""
@ -3551,7 +3559,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:467
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:797
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:152
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1060 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1072
#: /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 ""
@ -3627,7 +3635,7 @@ msgid "Failed to start content server"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:678 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:678
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:503 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:508
msgid "Select location for books" msgid "Select location for books"
msgstr "" msgstr ""
@ -4211,7 +4219,7 @@ msgid "Choose formats for "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:134 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:134
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:912
msgid "Books" msgid "Books"
msgstr "" msgstr ""
@ -5156,7 +5164,7 @@ msgid "Save to disk in a single directory"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:297 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:297
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1488 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1500
msgid "Save only %s format to disk" msgid "Save only %s format to disk"
msgstr "" msgstr ""
@ -5191,12 +5199,12 @@ msgid "Bad database location"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:445 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:445
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:511 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:516
msgid "Calibre Library" msgid "Calibre Library"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:455 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:455
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1631 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1643
msgid "Choose a location for your ebook library." msgid "Choose a location for your ebook library."
msgstr "" msgstr ""
@ -5204,23 +5212,23 @@ msgstr ""
msgid "Browse by covers" msgid "Browse by covers"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:754 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:764
msgid "Device: " msgid "Device: "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:756 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:766
msgid " detected." msgid " detected."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:778 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:789
msgid "Connected " msgid "Connected "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:790 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:801
msgid "Device database corrupted" msgid "Device database corrupted"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:791 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:802
msgid "" msgid ""
"\n" "\n"
" <p>The database of books on the reader is corrupted. Try the " " <p>The database of books on the reader is corrupted. Try the "
@ -5236,166 +5244,166 @@ msgid ""
" " " "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:904
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:935 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:947
msgid "Uploading books to device." msgid "Uploading books to device."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:901 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:913
msgid "EPUB Books" msgid "EPUB Books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:902 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:914
msgid "LRF Books" msgid "LRF Books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:915
msgid "HTML Books" msgid "HTML Books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:916
msgid "LIT Books" msgid "LIT Books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:905 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:917
msgid "MOBI Books" msgid "MOBI Books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:906 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:918
msgid "Text books" msgid "Text books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:907 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:919
msgid "PDF Books" msgid "PDF Books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:908 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:920
msgid "Comics" msgid "Comics"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:921
msgid "Archives" msgid "Archives"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:944 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:956
msgid "Failed to read metadata" msgid "Failed to read metadata"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:945 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:957
msgid "Failed to read metadata from the following" msgid "Failed to read metadata from the following"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:964 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:976
msgid "" msgid ""
"The selected books will be <b>permanently deleted</b> and the files removed " "The selected books will be <b>permanently deleted</b> and the files removed "
"from your computer. Are you sure?" "from your computer. Are you sure?"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:991 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1003
msgid "Deleting books from device." msgid "Deleting books from device."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1022 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1034
msgid "Cannot download metadata" msgid "Cannot download metadata"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1023 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1035
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1071 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1104 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1116
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1141
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1241 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1253
msgid "No books selected" msgid "No books selected"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1032 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1044
msgid "covers" msgid "covers"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1032 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1044
msgid "metadata" msgid "metadata"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1034 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1046
msgid "Downloading %s for %d book(s)" msgid "Downloading %s for %d book(s)"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1055 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1067
msgid "Failed to download some metadata" msgid "Failed to download some metadata"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1056 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1068
msgid "Failed to download metadata for the following:" msgid "Failed to download metadata for the following:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1059 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1071
msgid "Failed to download metadata:" msgid "Failed to download metadata:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1070 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1082
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1103 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1115
msgid "Cannot edit metadata" msgid "Cannot edit metadata"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1128 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1140
msgid "Cannot save to disk" msgid "Cannot save to disk"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1131 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1143
msgid "Choose destination directory" msgid "Choose destination directory"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1158 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1170
msgid "Error while saving" msgid "Error while saving"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1159 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1171
msgid "There was an error while saving." msgid "There was an error while saving."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1178
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1167 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1179
msgid "Could not save some books" msgid "Could not save some books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1180
msgid "Click the show details button to see which ones." msgid "Click the show details button to see which ones."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1187 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199
msgid "Fetching news from " msgid "Fetching news from "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212
msgid " fetched." msgid " fetched."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1240 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1252
msgid "Cannot convert" msgid "Cannot convert"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1269 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1281
msgid "Starting conversion of %d book(s)" msgid "Starting conversion of %d book(s)"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1380 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1392
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1399 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1411
msgid "No book selected" msgid "No book selected"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1380 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1392
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1430 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1442
msgid "Cannot view" msgid "Cannot view"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1410
msgid "Cannot open folder" msgid "Cannot open folder"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1415 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1427
msgid "Multiple Books Selected" msgid "Multiple Books Selected"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1416 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1428
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 "
@ -5403,149 +5411,149 @@ msgid ""
"continue?" "continue?"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1443
msgid "%s has no available formats." msgid "%s has no available formats."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484
msgid "Cannot configure" msgid "Cannot configure"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1485
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/main.py:1516 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1528
msgid "No detailed info available" msgid "No detailed info available"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1517 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1529
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/main.py:1569 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1581
msgid "Error talking to device" msgid "Error talking to device"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1570 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1582
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/main.py:1593 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1605
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1611 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1623
msgid "Conversion Error" msgid "Conversion Error"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1594 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1606
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/main.py:1612 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1624
msgid "<b>Failed</b>" msgid "<b>Failed</b>"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1640 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1652
msgid "Invalid library location" msgid "Invalid library location"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1641 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1653
msgid "Could not access %s. Using %s as the library." msgid "Could not access %s. Using %s as the library."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1689 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1701
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/main.py:1713 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1725
msgid "There are active jobs. Are you sure you want to quit?" msgid "There are active jobs. Are you sure you want to quit?"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1716 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1728
msgid "" msgid ""
" is communicating with the device!<br>\n" " is communicating with the device!<br>\n"
" Quitting may cause corruption on the device.<br>\n" " Quitting may cause corruption on the device.<br>\n"
" Are you sure you want to quit?" " Are you sure you want to quit?"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1720 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1732
msgid "WARNING: Active jobs" msgid "WARNING: Active jobs"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1771 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1783
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/main.py:1790 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1802
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/main.py:1798 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1810
msgid "Update available" msgid "Update available"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1799 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1811
msgid "" msgid ""
"%s has been updated to version %s. See the <a " "%s has been updated to version %s. See the <a "
"href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. "
"Visit the download page?" "Visit the download page?"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1817 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1829
msgid "Use the library located at the specified path." msgid "Use the library located at the specified path."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1819 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1831
msgid "Start minimized to system tray." msgid "Start minimized to system tray."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1821 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1833
msgid "Log debugging information to console" msgid "Log debugging information to console"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1823 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1835
msgid "Do not check for updates" msgid "Do not check for updates"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1871 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1883
msgid "If you are sure it is not running" msgid "If you are sure it is not running"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1873 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1885
msgid "Cannot Start " msgid "Cannot Start "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1874 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1886
msgid "%s is already running." msgid "%s is already running."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1877 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1889
msgid "may be running in the system tray, in the" msgid "may be running in the system tray, in the"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1879 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1891
msgid "upper right region of the screen." msgid "upper right region of the screen."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1881 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1893
msgid "lower right region of the screen." msgid "lower right region of the screen."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1884 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1896
msgid "try rebooting your computer." msgid "try rebooting your computer."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1886
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1898 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1898
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1910
msgid "try deleting the file" msgid "try deleting the file"
msgstr "" msgstr ""
@ -5908,59 +5916,59 @@ msgstr ""
msgid "&User stylesheet" msgid "&User stylesheet"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:30 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:31
msgid "Options to customize the ebook viewer" msgid "Options to customize the ebook viewer"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:37 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:650 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:650
msgid "Remember last used window size" msgid "Remember last used window size"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:89
msgid "" msgid ""
"Set the user CSS stylesheet. This can be used to customize the look of all " "Set the user CSS stylesheet. This can be used to customize the look of all "
"books." "books."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42
msgid "Maximum width of the viewer window, in pixels." msgid "Maximum width of the viewer window, in pixels."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:43
msgid "Hyphenate text" msgid "Hyphenate text"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:44 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:45
msgid "Default language for hyphenation rules" msgid "Default language for hyphenation rules"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:47
msgid "Font options" msgid "Font options"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:49
msgid "The serif font family" msgid "The serif font family"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:51
msgid "The sans-serif font family" msgid "The sans-serif font family"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:53
msgid "The monospaced font family" msgid "The monospaced font family"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:53 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:54
msgid "The standard font size in px" msgid "The standard font size in px"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:54 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:55
msgid "The monospaced font size in px" msgid "The monospaced font size in px"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:56
msgid "The standard font type" msgid "The standard font type"
msgstr "" msgstr ""
@ -6215,7 +6223,7 @@ msgstr ""
msgid "Could not move library" msgid "Could not move library"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:574 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:583
msgid "welcome wizard" msgid "welcome wizard"
msgstr "" msgstr ""
@ -6474,20 +6482,20 @@ msgid ""
"WordPlayer, etc. integration." "WordPlayer, etc. integration."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:120 #: /home/kovid/work/calibre/src/calibre/library/cli.py:121
msgid "" msgid ""
"Path to the calibre library. Default is to use the path stored in the " "Path to the calibre library. Default is to use the path stored in the "
"settings." "settings."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:199 #: /home/kovid/work/calibre/src/calibre/library/cli.py:200
msgid "" msgid ""
"%prog list [options]\n" "%prog list [options]\n"
"\n" "\n"
"List the books available in the calibre database.\n" "List the books available in the calibre database.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:207 #: /home/kovid/work/calibre/src/calibre/library/cli.py:208
msgid "" msgid ""
"The fields to display when listing books in the database. Should be a comma " "The fields to display when listing books in the database. Should be a comma "
"separated list of fields.\n" "separated list of fields.\n"
@ -6496,61 +6504,61 @@ msgid ""
"fields. Only has effect in the text output format." "fields. Only has effect in the text output format."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:209 #: /home/kovid/work/calibre/src/calibre/library/cli.py:210
msgid "" msgid ""
"The field by which to sort the results.\n" "The field by which to sort the results.\n"
"Available fields: %s\n" "Available fields: %s\n"
"Default: %%default" "Default: %%default"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:211 #: /home/kovid/work/calibre/src/calibre/library/cli.py:212
msgid "Sort results in ascending order" msgid "Sort results in ascending order"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:213 #: /home/kovid/work/calibre/src/calibre/library/cli.py:214
msgid "" msgid ""
"Filter the results by the search query. For the format of the search query, " "Filter the results by the search query. For the format of the search query, "
"please see the search related documentation in the User Manual. Default is " "please see the search related documentation in the User Manual. Default is "
"to do no filtering." "to do no filtering."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:215 #: /home/kovid/work/calibre/src/calibre/library/cli.py:216
msgid "" msgid ""
"The maximum width of a single line in the output. Defaults to detecting " "The maximum width of a single line in the output. Defaults to detecting "
"screen size." "screen size."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:216 #: /home/kovid/work/calibre/src/calibre/library/cli.py:217
msgid "The string used to separate fields. Default is a space." msgid "The string used to separate fields. Default is a space."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:217 #: /home/kovid/work/calibre/src/calibre/library/cli.py:218
msgid "" msgid ""
"The prefix for all file paths. Default is the absolute path to the library " "The prefix for all file paths. Default is the absolute path to the library "
"folder." "folder."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:220 #: /home/kovid/work/calibre/src/calibre/library/cli.py:221
msgid "" msgid ""
"The format in which to output the data. Available choices: %s. Defaults is " "The format in which to output the data. Available choices: %s. Defaults is "
"text." "text."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:233 #: /home/kovid/work/calibre/src/calibre/library/cli.py:234
msgid "Invalid fields. Available fields:" msgid "Invalid fields. Available fields:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:240 #: /home/kovid/work/calibre/src/calibre/library/cli.py:241
msgid "Invalid sort field. Available fields:" msgid "Invalid sort field. Available fields:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:311 #: /home/kovid/work/calibre/src/calibre/library/cli.py:312
msgid "" msgid ""
"The following books were not added as they already exist in the database " "The following books were not added as they already exist in the database "
"(see --duplicates option):" "(see --duplicates option):"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:334 #: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "" msgid ""
"%prog add [options] file1 file2 file3 ...\n" "%prog add [options] file1 file2 file3 ...\n"
"\n" "\n"
@ -6559,27 +6567,27 @@ msgid ""
"the directory related options below.\n" "the directory related options below.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 #: /home/kovid/work/calibre/src/calibre/library/cli.py:344
msgid "" msgid ""
"Assume that each directory has only a single logical book and that all files " "Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book" "in it are different e-book formats of that book"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:345 #: /home/kovid/work/calibre/src/calibre/library/cli.py:346
msgid "Process directories recursively" msgid "Process directories recursively"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:347 #: /home/kovid/work/calibre/src/calibre/library/cli.py:348
msgid "" msgid ""
"Add books to database even if they already exist. Comparison is done based " "Add books to database even if they already exist. Comparison is done based "
"on book titles." "on book titles."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:357 #: /home/kovid/work/calibre/src/calibre/library/cli.py:358
msgid "You must specify at least one file to add" msgid "You must specify at least one file to add"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:373 #: /home/kovid/work/calibre/src/calibre/library/cli.py:374
msgid "" msgid ""
"%prog remove ids\n" "%prog remove ids\n"
"\n" "\n"
@ -6588,11 +6596,11 @@ msgid ""
"command). For example, 23,34,57-85\n" "command). For example, 23,34,57-85\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:388 #: /home/kovid/work/calibre/src/calibre/library/cli.py:389
msgid "You must specify at least one book to remove" msgid "You must specify at least one book to remove"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:407 #: /home/kovid/work/calibre/src/calibre/library/cli.py:408
msgid "" msgid ""
"%prog add_format [options] id ebook_file\n" "%prog add_format [options] id ebook_file\n"
"\n" "\n"
@ -6601,15 +6609,15 @@ msgid ""
"already exists, it is replaced.\n" "already exists, it is replaced.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:422 #: /home/kovid/work/calibre/src/calibre/library/cli.py:423
msgid "You must specify an id and an ebook file" msgid "You must specify an id and an ebook file"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:427 #: /home/kovid/work/calibre/src/calibre/library/cli.py:428
msgid "ebook file must have an extension" msgid "ebook file must have an extension"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:435 #: /home/kovid/work/calibre/src/calibre/library/cli.py:436
msgid "" msgid ""
"\n" "\n"
"%prog remove_format [options] id fmt\n" "%prog remove_format [options] id fmt\n"
@ -6619,11 +6627,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n" "EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:452 #: /home/kovid/work/calibre/src/calibre/library/cli.py:453
msgid "You must specify an id and a format" msgid "You must specify an id and a format"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:470 #: /home/kovid/work/calibre/src/calibre/library/cli.py:471
msgid "" msgid ""
"\n" "\n"
"%prog show_metadata [options] id\n" "%prog show_metadata [options] id\n"
@ -6633,15 +6641,15 @@ msgid ""
"id is an id number from the list command.\n" "id is an id number from the list command.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:478 #: /home/kovid/work/calibre/src/calibre/library/cli.py:479
msgid "Print metadata in OPF form (XML)" msgid "Print metadata in OPF form (XML)"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:487 #: /home/kovid/work/calibre/src/calibre/library/cli.py:488
msgid "You must specify an id" msgid "You must specify an id"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:500 #: /home/kovid/work/calibre/src/calibre/library/cli.py:501
msgid "" msgid ""
"\n" "\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n" "%prog set_metadata [options] id /path/to/metadata.opf\n"
@ -6654,11 +6662,11 @@ msgid ""
"show_metadata command.\n" "show_metadata command.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:516 #: /home/kovid/work/calibre/src/calibre/library/cli.py:517
msgid "You must specify an id and a metadata file" msgid "You must specify an id and a metadata file"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 #: /home/kovid/work/calibre/src/calibre/library/cli.py:537
msgid "" msgid ""
"%prog export [options] ids\n" "%prog export [options] ids\n"
"\n" "\n"
@ -6669,27 +6677,27 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n" "an opf file). You can get id numbers from the list command.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:544 #: /home/kovid/work/calibre/src/calibre/library/cli.py:545
msgid "Export all books in database, ignoring the list of ids." msgid "Export all books in database, ignoring the list of ids."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:546 #: /home/kovid/work/calibre/src/calibre/library/cli.py:547
msgid "Export books to the specified directory. Default is" msgid "Export books to the specified directory. Default is"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:548 #: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid "Export all books into a single directory" msgid "Export all books into a single directory"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:555 #: /home/kovid/work/calibre/src/calibre/library/cli.py:556
msgid "Specifying this switch will turn this behavior off." msgid "Specifying this switch will turn this behavior off."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:578 #: /home/kovid/work/calibre/src/calibre/library/cli.py:579
msgid "You must specify some ids or the %s option" msgid "You must specify some ids or the %s option"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:590 #: /home/kovid/work/calibre/src/calibre/library/cli.py:591
msgid "" msgid ""
"%%prog command [options] [arguments]\n" "%%prog command [options] [arguments]\n"
"\n" "\n"

File diff suppressed because it is too large Load Diff

View File

@ -10,14 +10,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: ca\n" "Project-Id-Version: ca\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-10-31 09:00+0000\n" "POT-Creation-Date: 2009-11-06 21:27+0000\n"
"PO-Revision-Date: 2009-11-04 11:22+0000\n" "PO-Revision-Date: 2009-11-06 19:09+0000\n"
"Last-Translator: Xiscu <Unknown>\n" "Last-Translator: Kovid Goyal <Unknown>\n"
"Language-Team: \n" "Language-Team: \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-11-05 08:36+0000\n" "X-Launchpad-Export-Date: 2009-11-07 04:36+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
@ -48,10 +48,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:45 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:46
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:61 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:62
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:64
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:103 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:104
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:171 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:171
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:329 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:329
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:444 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:444
@ -121,7 +121,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:876 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:876
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1002 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:1002
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:211 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:211
#: /home/kovid/work/calibre/src/calibre/library/cli.py:280 #: /home/kovid/work/calibre/src/calibre/library/cli.py:281
#: /home/kovid/work/calibre/src/calibre/library/database.py:913 #: /home/kovid/work/calibre/src/calibre/library/database.py:913
#: /home/kovid/work/calibre/src/calibre/library/database2.py:702 #: /home/kovid/work/calibre/src/calibre/library/database2.py:702
#: /home/kovid/work/calibre/src/calibre/library/database2.py:714 #: /home/kovid/work/calibre/src/calibre/library/database2.py:714
@ -262,7 +262,6 @@ msgid "This profile is intended for the Mobipocket books."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:93 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:93
#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:253
msgid "This profile is intended for the Hanlin V3 and its clones." msgid "This profile is intended for the Hanlin V3 and its clones."
msgstr "" msgstr ""
@ -312,6 +311,10 @@ msgid ""
"landscape mode. Mainly useful for comics." "landscape mode. Mainly useful for comics."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:253
msgid "This profile is intended for the Hanlin V3/V5 and its clones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:306 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:306
msgid "This profile is intended for the Amazon Kindle DX." msgid "This profile is intended for the Amazon Kindle DX."
msgstr "" msgstr ""
@ -393,6 +396,7 @@ 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/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/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"
@ -448,6 +452,10 @@ msgstr ""
msgid "Communicate with the IRex Digital Reader 1000 eBook reader." msgid "Communicate with the IRex Digital Reader 1000 eBook reader."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/iriver/driver.py:15
msgid "Communicate with the Iriver Story reader."
msgstr ""
#: /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 ""
@ -1114,9 +1122,9 @@ msgid ""
"disables the generation of this cover." "disables the generation of this cover."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:123 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:126
#: /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:98 #: /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
msgid "Table of Contents:" msgid "Table of Contents:"
msgstr "" msgstr ""
@ -2216,7 +2224,7 @@ msgstr ""
msgid "Copy to Clipboard" msgid "Copy to Clipboard"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:386 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:387
msgid "Choose Files" msgid "Choose Files"
msgstr "" msgstr ""
@ -2944,7 +2952,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/main.py:1386 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398
msgid "Choose the format to view" msgid "Choose the format to view"
msgstr "" msgstr ""
@ -3557,7 +3565,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:467
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:797
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:152
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1060 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1072
#: /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 ""
@ -3633,7 +3641,7 @@ msgid "Failed to start content server"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:678 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:678
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:503 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:508
msgid "Select location for books" msgid "Select location for books"
msgstr "" msgstr ""
@ -4219,7 +4227,7 @@ msgid "Choose formats for "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:134 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:134
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:912
msgid "Books" msgid "Books"
msgstr "" msgstr ""
@ -5165,7 +5173,7 @@ msgid "Save to disk in a single directory"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:297 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:297
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1488 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1500
msgid "Save only %s format to disk" msgid "Save only %s format to disk"
msgstr "" msgstr ""
@ -5200,12 +5208,12 @@ msgid "Bad database location"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:445 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:445
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:511 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:516
msgid "Calibre Library" msgid "Calibre Library"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:455 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:455
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1631 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1643
msgid "Choose a location for your ebook library." msgid "Choose a location for your ebook library."
msgstr "" msgstr ""
@ -5213,23 +5221,23 @@ msgstr ""
msgid "Browse by covers" msgid "Browse by covers"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:754 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:764
msgid "Device: " msgid "Device: "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:756 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:766
msgid " detected." msgid " detected."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:778 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:789
msgid "Connected " msgid "Connected "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:790 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:801
msgid "Device database corrupted" msgid "Device database corrupted"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:791 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:802
msgid "" msgid ""
"\n" "\n"
" <p>The database of books on the reader is corrupted. Try the " " <p>The database of books on the reader is corrupted. Try the "
@ -5245,166 +5253,166 @@ msgid ""
" " " "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:904
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:935 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:947
msgid "Uploading books to device." msgid "Uploading books to device."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:901 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:913
msgid "EPUB Books" msgid "EPUB Books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:902 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:914
msgid "LRF Books" msgid "LRF Books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:915
msgid "HTML Books" msgid "HTML Books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:916
msgid "LIT Books" msgid "LIT Books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:905 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:917
msgid "MOBI Books" msgid "MOBI Books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:906 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:918
msgid "Text books" msgid "Text books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:907 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:919
msgid "PDF Books" msgid "PDF Books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:908 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:920
msgid "Comics" msgid "Comics"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:921
msgid "Archives" msgid "Archives"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:944 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:956
msgid "Failed to read metadata" msgid "Failed to read metadata"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:945 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:957
msgid "Failed to read metadata from the following" msgid "Failed to read metadata from the following"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:964 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:976
msgid "" msgid ""
"The selected books will be <b>permanently deleted</b> and the files removed " "The selected books will be <b>permanently deleted</b> and the files removed "
"from your computer. Are you sure?" "from your computer. Are you sure?"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:991 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1003
msgid "Deleting books from device." msgid "Deleting books from device."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1022 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1034
msgid "Cannot download metadata" msgid "Cannot download metadata"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1023 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1035
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1071 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1104 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1116
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1141
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1241 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1253
msgid "No books selected" msgid "No books selected"
msgstr "Cap llibre seleccionat" msgstr "Cap llibre seleccionat"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1032 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1044
msgid "covers" msgid "covers"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1032 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1044
msgid "metadata" msgid "metadata"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1034 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1046
msgid "Downloading %s for %d book(s)" msgid "Downloading %s for %d book(s)"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1055 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1067
msgid "Failed to download some metadata" msgid "Failed to download some metadata"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1056 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1068
msgid "Failed to download metadata for the following:" msgid "Failed to download metadata for the following:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1059 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1071
msgid "Failed to download metadata:" msgid "Failed to download metadata:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1070 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1082
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1103 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1115
msgid "Cannot edit metadata" msgid "Cannot edit metadata"
msgstr "No puc editar les meta-dades" msgstr "No puc editar les meta-dades"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1128 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1140
msgid "Cannot save to disk" msgid "Cannot save to disk"
msgstr "No puc desar al disc" msgstr "No puc desar al disc"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1131 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1143
msgid "Choose destination directory" msgid "Choose destination directory"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1158 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1170
msgid "Error while saving" msgid "Error while saving"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1159 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1171
msgid "There was an error while saving." msgid "There was an error while saving."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1178
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1167 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1179
msgid "Could not save some books" msgid "Could not save some books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1180
msgid "Click the show details button to see which ones." msgid "Click the show details button to see which ones."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1187 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199
msgid "Fetching news from " msgid "Fetching news from "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212
msgid " fetched." msgid " fetched."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1240 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1252
msgid "Cannot convert" msgid "Cannot convert"
msgstr "No puc convertir-lo" msgstr "No puc convertir-lo"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1269 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1281
msgid "Starting conversion of %d book(s)" msgid "Starting conversion of %d book(s)"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1380 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1392
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1399 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1411
msgid "No book selected" msgid "No book selected"
msgstr "Cap llibre seleccionat" msgstr "Cap llibre seleccionat"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1380 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1392
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1430 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1442
msgid "Cannot view" msgid "Cannot view"
msgstr "No puc mostrar-lo" msgstr "No puc mostrar-lo"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1410
msgid "Cannot open folder" msgid "Cannot open folder"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1415 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1427
msgid "Multiple Books Selected" msgid "Multiple Books Selected"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1416 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1428
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 "
@ -5412,31 +5420,31 @@ msgid ""
"continue?" "continue?"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1443
msgid "%s has no available formats." msgid "%s has no available formats."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484
msgid "Cannot configure" msgid "Cannot configure"
msgstr "No puc configurar-lo" msgstr "No puc configurar-lo"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1485
msgid "Cannot configure while there are running jobs." msgid "Cannot configure while there are running jobs."
msgstr "No puc configurar-lo amb treballs processant-se" msgstr "No puc configurar-lo amb treballs processant-se"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1516 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1528
msgid "No detailed info available" msgid "No detailed info available"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1517 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1529
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/main.py:1569 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1581
msgid "Error talking to device" msgid "Error talking to device"
msgstr "Error comunicant amb el dispositiu" msgstr "Error comunicant amb el dispositiu"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1570 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1582
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."
@ -5444,119 +5452,119 @@ msgstr ""
"Hi ha hagut un error de comunicació amb el dispositiu. Lleve, torne a " "Hi ha hagut un error de comunicació amb el dispositiu. Lleve, torne a "
"connectar el dispositiu i torne a iniciar el programa" "connectar el dispositiu i torne a iniciar el programa"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1593 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1605
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1611 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1623
msgid "Conversion Error" msgid "Conversion Error"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1594 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1606
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/main.py:1612 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1624
msgid "<b>Failed</b>" msgid "<b>Failed</b>"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1640 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1652
msgid "Invalid library location" msgid "Invalid library location"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1641 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1653
msgid "Could not access %s. Using %s as the library." msgid "Could not access %s. Using %s as the library."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1689 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1701
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/main.py:1713 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1725
msgid "There are active jobs. Are you sure you want to quit?" msgid "There are active jobs. Are you sure you want to quit?"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1716 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1728
msgid "" msgid ""
" is communicating with the device!<br>\n" " is communicating with the device!<br>\n"
" Quitting may cause corruption on the device.<br>\n" " Quitting may cause corruption on the device.<br>\n"
" Are you sure you want to quit?" " Are you sure you want to quit?"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1720 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1732
msgid "WARNING: Active jobs" msgid "WARNING: Active jobs"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1771 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1783
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/main.py:1790 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1802
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/main.py:1798 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1810
msgid "Update available" msgid "Update available"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1799 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1811
msgid "" msgid ""
"%s has been updated to version %s. See the <a " "%s has been updated to version %s. See the <a "
"href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. "
"Visit the download page?" "Visit the download page?"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1817 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1829
msgid "Use the library located at the specified path." msgid "Use the library located at the specified path."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1819 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1831
msgid "Start minimized to system tray." msgid "Start minimized to system tray."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1821 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1833
msgid "Log debugging information to console" msgid "Log debugging information to console"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1823 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1835
msgid "Do not check for updates" msgid "Do not check for updates"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1871 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1883
msgid "If you are sure it is not running" msgid "If you are sure it is not running"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1873 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1885
msgid "Cannot Start " msgid "Cannot Start "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1874 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1886
msgid "%s is already running." msgid "%s is already running."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1877 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1889
msgid "may be running in the system tray, in the" msgid "may be running in the system tray, in the"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1879 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1891
msgid "upper right region of the screen." msgid "upper right region of the screen."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1881 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1893
msgid "lower right region of the screen." msgid "lower right region of the screen."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1884 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1896
msgid "try rebooting your computer." msgid "try rebooting your computer."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1886
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1898 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1898
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1910
msgid "try deleting the file" msgid "try deleting the file"
msgstr "" msgstr ""
@ -5919,59 +5927,59 @@ msgstr ""
msgid "&User stylesheet" msgid "&User stylesheet"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:30 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:31
msgid "Options to customize the ebook viewer" msgid "Options to customize the ebook viewer"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:37 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:650 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:650
msgid "Remember last used window size" msgid "Remember last used window size"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:89
msgid "" msgid ""
"Set the user CSS stylesheet. This can be used to customize the look of all " "Set the user CSS stylesheet. This can be used to customize the look of all "
"books." "books."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42
msgid "Maximum width of the viewer window, in pixels." msgid "Maximum width of the viewer window, in pixels."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:43
msgid "Hyphenate text" msgid "Hyphenate text"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:44 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:45
msgid "Default language for hyphenation rules" msgid "Default language for hyphenation rules"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:47
msgid "Font options" msgid "Font options"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:49
msgid "The serif font family" msgid "The serif font family"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:51
msgid "The sans-serif font family" msgid "The sans-serif font family"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:53
msgid "The monospaced font family" msgid "The monospaced font family"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:53 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:54
msgid "The standard font size in px" msgid "The standard font size in px"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:54 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:55
msgid "The monospaced font size in px" msgid "The monospaced font size in px"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:56
msgid "The standard font type" msgid "The standard font type"
msgstr "" msgstr ""
@ -6226,7 +6234,7 @@ msgstr ""
msgid "Could not move library" msgid "Could not move library"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:574 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:583
msgid "welcome wizard" msgid "welcome wizard"
msgstr "" msgstr ""
@ -6485,20 +6493,20 @@ msgid ""
"WordPlayer, etc. integration." "WordPlayer, etc. integration."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:120 #: /home/kovid/work/calibre/src/calibre/library/cli.py:121
msgid "" msgid ""
"Path to the calibre library. Default is to use the path stored in the " "Path to the calibre library. Default is to use the path stored in the "
"settings." "settings."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:199 #: /home/kovid/work/calibre/src/calibre/library/cli.py:200
msgid "" msgid ""
"%prog list [options]\n" "%prog list [options]\n"
"\n" "\n"
"List the books available in the calibre database.\n" "List the books available in the calibre database.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:207 #: /home/kovid/work/calibre/src/calibre/library/cli.py:208
msgid "" msgid ""
"The fields to display when listing books in the database. Should be a comma " "The fields to display when listing books in the database. Should be a comma "
"separated list of fields.\n" "separated list of fields.\n"
@ -6507,61 +6515,61 @@ msgid ""
"fields. Only has effect in the text output format." "fields. Only has effect in the text output format."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:209 #: /home/kovid/work/calibre/src/calibre/library/cli.py:210
msgid "" msgid ""
"The field by which to sort the results.\n" "The field by which to sort the results.\n"
"Available fields: %s\n" "Available fields: %s\n"
"Default: %%default" "Default: %%default"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:211 #: /home/kovid/work/calibre/src/calibre/library/cli.py:212
msgid "Sort results in ascending order" msgid "Sort results in ascending order"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:213 #: /home/kovid/work/calibre/src/calibre/library/cli.py:214
msgid "" msgid ""
"Filter the results by the search query. For the format of the search query, " "Filter the results by the search query. For the format of the search query, "
"please see the search related documentation in the User Manual. Default is " "please see the search related documentation in the User Manual. Default is "
"to do no filtering." "to do no filtering."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:215 #: /home/kovid/work/calibre/src/calibre/library/cli.py:216
msgid "" msgid ""
"The maximum width of a single line in the output. Defaults to detecting " "The maximum width of a single line in the output. Defaults to detecting "
"screen size." "screen size."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:216 #: /home/kovid/work/calibre/src/calibre/library/cli.py:217
msgid "The string used to separate fields. Default is a space." msgid "The string used to separate fields. Default is a space."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:217 #: /home/kovid/work/calibre/src/calibre/library/cli.py:218
msgid "" msgid ""
"The prefix for all file paths. Default is the absolute path to the library " "The prefix for all file paths. Default is the absolute path to the library "
"folder." "folder."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:220 #: /home/kovid/work/calibre/src/calibre/library/cli.py:221
msgid "" msgid ""
"The format in which to output the data. Available choices: %s. Defaults is " "The format in which to output the data. Available choices: %s. Defaults is "
"text." "text."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:233 #: /home/kovid/work/calibre/src/calibre/library/cli.py:234
msgid "Invalid fields. Available fields:" msgid "Invalid fields. Available fields:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:240 #: /home/kovid/work/calibre/src/calibre/library/cli.py:241
msgid "Invalid sort field. Available fields:" msgid "Invalid sort field. Available fields:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:311 #: /home/kovid/work/calibre/src/calibre/library/cli.py:312
msgid "" msgid ""
"The following books were not added as they already exist in the database " "The following books were not added as they already exist in the database "
"(see --duplicates option):" "(see --duplicates option):"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:334 #: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "" msgid ""
"%prog add [options] file1 file2 file3 ...\n" "%prog add [options] file1 file2 file3 ...\n"
"\n" "\n"
@ -6570,27 +6578,27 @@ msgid ""
"the directory related options below.\n" "the directory related options below.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 #: /home/kovid/work/calibre/src/calibre/library/cli.py:344
msgid "" msgid ""
"Assume that each directory has only a single logical book and that all files " "Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book" "in it are different e-book formats of that book"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:345 #: /home/kovid/work/calibre/src/calibre/library/cli.py:346
msgid "Process directories recursively" msgid "Process directories recursively"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:347 #: /home/kovid/work/calibre/src/calibre/library/cli.py:348
msgid "" msgid ""
"Add books to database even if they already exist. Comparison is done based " "Add books to database even if they already exist. Comparison is done based "
"on book titles." "on book titles."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:357 #: /home/kovid/work/calibre/src/calibre/library/cli.py:358
msgid "You must specify at least one file to add" msgid "You must specify at least one file to add"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:373 #: /home/kovid/work/calibre/src/calibre/library/cli.py:374
msgid "" msgid ""
"%prog remove ids\n" "%prog remove ids\n"
"\n" "\n"
@ -6599,11 +6607,11 @@ msgid ""
"command). For example, 23,34,57-85\n" "command). For example, 23,34,57-85\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:388 #: /home/kovid/work/calibre/src/calibre/library/cli.py:389
msgid "You must specify at least one book to remove" msgid "You must specify at least one book to remove"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:407 #: /home/kovid/work/calibre/src/calibre/library/cli.py:408
msgid "" msgid ""
"%prog add_format [options] id ebook_file\n" "%prog add_format [options] id ebook_file\n"
"\n" "\n"
@ -6612,15 +6620,15 @@ msgid ""
"already exists, it is replaced.\n" "already exists, it is replaced.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:422 #: /home/kovid/work/calibre/src/calibre/library/cli.py:423
msgid "You must specify an id and an ebook file" msgid "You must specify an id and an ebook file"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:427 #: /home/kovid/work/calibre/src/calibre/library/cli.py:428
msgid "ebook file must have an extension" msgid "ebook file must have an extension"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:435 #: /home/kovid/work/calibre/src/calibre/library/cli.py:436
msgid "" msgid ""
"\n" "\n"
"%prog remove_format [options] id fmt\n" "%prog remove_format [options] id fmt\n"
@ -6630,11 +6638,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n" "EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:452 #: /home/kovid/work/calibre/src/calibre/library/cli.py:453
msgid "You must specify an id and a format" msgid "You must specify an id and a format"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:470 #: /home/kovid/work/calibre/src/calibre/library/cli.py:471
msgid "" msgid ""
"\n" "\n"
"%prog show_metadata [options] id\n" "%prog show_metadata [options] id\n"
@ -6644,15 +6652,15 @@ msgid ""
"id is an id number from the list command.\n" "id is an id number from the list command.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:478 #: /home/kovid/work/calibre/src/calibre/library/cli.py:479
msgid "Print metadata in OPF form (XML)" msgid "Print metadata in OPF form (XML)"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:487 #: /home/kovid/work/calibre/src/calibre/library/cli.py:488
msgid "You must specify an id" msgid "You must specify an id"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:500 #: /home/kovid/work/calibre/src/calibre/library/cli.py:501
msgid "" msgid ""
"\n" "\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n" "%prog set_metadata [options] id /path/to/metadata.opf\n"
@ -6665,11 +6673,11 @@ msgid ""
"show_metadata command.\n" "show_metadata command.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:516 #: /home/kovid/work/calibre/src/calibre/library/cli.py:517
msgid "You must specify an id and a metadata file" msgid "You must specify an id and a metadata file"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 #: /home/kovid/work/calibre/src/calibre/library/cli.py:537
msgid "" msgid ""
"%prog export [options] ids\n" "%prog export [options] ids\n"
"\n" "\n"
@ -6680,27 +6688,27 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n" "an opf file). You can get id numbers from the list command.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:544 #: /home/kovid/work/calibre/src/calibre/library/cli.py:545
msgid "Export all books in database, ignoring the list of ids." msgid "Export all books in database, ignoring the list of ids."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:546 #: /home/kovid/work/calibre/src/calibre/library/cli.py:547
msgid "Export books to the specified directory. Default is" msgid "Export books to the specified directory. Default is"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:548 #: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid "Export all books into a single directory" msgid "Export all books into a single directory"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:555 #: /home/kovid/work/calibre/src/calibre/library/cli.py:556
msgid "Specifying this switch will turn this behavior off." msgid "Specifying this switch will turn this behavior off."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:578 #: /home/kovid/work/calibre/src/calibre/library/cli.py:579
msgid "You must specify some ids or the %s option" msgid "You must specify some ids or the %s option"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:590 #: /home/kovid/work/calibre/src/calibre/library/cli.py:591
msgid "" msgid ""
"%%prog command [options] [arguments]\n" "%%prog command [options] [arguments]\n"
"\n" "\n"

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

@ -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-10-31 09:00+0000\n" "POT-Creation-Date: 2009-11-06 21:27+0000\n"
"PO-Revision-Date: 2009-10-31 07:38+0000\n" "PO-Revision-Date: 2009-11-06 19:00+0000\n"
"Last-Translator: Elex <Unknown>\n" "Last-Translator: Kovid Goyal <Unknown>\n"
"Language-Team: Korean <ko@li.org>\n" "Language-Team: Korean <ko@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-11-01 08:21+0000\n" "X-Launchpad-Export-Date: 2009-11-07 04:37+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
@ -45,10 +45,10 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:45 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:46
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:61 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:62
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:64
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:103 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:104
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:171 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:171
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:329 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:329
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:444 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:444
@ -118,7 +118,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:876 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:876
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1002 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:1002
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:211 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:211
#: /home/kovid/work/calibre/src/calibre/library/cli.py:280 #: /home/kovid/work/calibre/src/calibre/library/cli.py:281
#: /home/kovid/work/calibre/src/calibre/library/database.py:913 #: /home/kovid/work/calibre/src/calibre/library/database.py:913
#: /home/kovid/work/calibre/src/calibre/library/database2.py:702 #: /home/kovid/work/calibre/src/calibre/library/database2.py:702
#: /home/kovid/work/calibre/src/calibre/library/database2.py:714 #: /home/kovid/work/calibre/src/calibre/library/database2.py:714
@ -259,7 +259,6 @@ msgid "This profile is intended for the Mobipocket books."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:93 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:93
#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:253
msgid "This profile is intended for the Hanlin V3 and its clones." msgid "This profile is intended for the Hanlin V3 and its clones."
msgstr "" msgstr ""
@ -309,6 +308,10 @@ msgid ""
"landscape mode. Mainly useful for comics." "landscape mode. Mainly useful for comics."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:253
msgid "This profile is intended for the Hanlin V3/V5 and its clones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:306 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:306
msgid "This profile is intended for the Amazon Kindle DX." msgid "This profile is intended for the Amazon Kindle DX."
msgstr "" msgstr ""
@ -390,6 +393,7 @@ 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/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/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"
@ -445,6 +449,10 @@ msgstr ""
msgid "Communicate with the IRex Digital Reader 1000 eBook reader." msgid "Communicate with the IRex Digital Reader 1000 eBook reader."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/iriver/driver.py:15
msgid "Communicate with the Iriver Story reader."
msgstr ""
#: /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 ""
@ -1111,9 +1119,9 @@ msgid ""
"disables the generation of this cover." "disables the generation of this cover."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:123 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:126
#: /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:98 #: /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
msgid "Table of Contents:" msgid "Table of Contents:"
msgstr "" msgstr ""
@ -2208,7 +2216,7 @@ msgstr ""
msgid "Copy to Clipboard" msgid "Copy to Clipboard"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:386 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:387
msgid "Choose Files" msgid "Choose Files"
msgstr "" msgstr ""
@ -2933,7 +2941,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/main.py:1386 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398
msgid "Choose the format to view" msgid "Choose the format to view"
msgstr "" msgstr ""
@ -3546,7 +3554,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:467
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:797
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:152
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1060 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1072
#: /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 ""
@ -3622,7 +3630,7 @@ msgid "Failed to start content server"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:678 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:678
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:503 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:508
msgid "Select location for books" msgid "Select location for books"
msgstr "" msgstr ""
@ -4206,7 +4214,7 @@ msgid "Choose formats for "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:134 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:134
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:912
msgid "Books" msgid "Books"
msgstr "" msgstr ""
@ -5151,7 +5159,7 @@ msgid "Save to disk in a single directory"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:297 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:297
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1488 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1500
msgid "Save only %s format to disk" msgid "Save only %s format to disk"
msgstr "" msgstr ""
@ -5186,12 +5194,12 @@ msgid "Bad database location"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:445 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:445
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:511 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:516
msgid "Calibre Library" msgid "Calibre Library"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:455 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:455
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1631 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1643
msgid "Choose a location for your ebook library." msgid "Choose a location for your ebook library."
msgstr "" msgstr ""
@ -5199,23 +5207,23 @@ msgstr ""
msgid "Browse by covers" msgid "Browse by covers"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:754 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:764
msgid "Device: " msgid "Device: "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:756 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:766
msgid " detected." msgid " detected."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:778 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:789
msgid "Connected " msgid "Connected "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:790 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:801
msgid "Device database corrupted" msgid "Device database corrupted"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:791 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:802
msgid "" msgid ""
"\n" "\n"
" <p>The database of books on the reader is corrupted. Try the " " <p>The database of books on the reader is corrupted. Try the "
@ -5231,166 +5239,166 @@ msgid ""
" " " "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:904
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:935 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:947
msgid "Uploading books to device." msgid "Uploading books to device."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:901 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:913
msgid "EPUB Books" msgid "EPUB Books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:902 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:914
msgid "LRF Books" msgid "LRF Books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:915
msgid "HTML Books" msgid "HTML Books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:916
msgid "LIT Books" msgid "LIT Books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:905 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:917
msgid "MOBI Books" msgid "MOBI Books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:906 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:918
msgid "Text books" msgid "Text books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:907 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:919
msgid "PDF Books" msgid "PDF Books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:908 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:920
msgid "Comics" msgid "Comics"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:921
msgid "Archives" msgid "Archives"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:944 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:956
msgid "Failed to read metadata" msgid "Failed to read metadata"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:945 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:957
msgid "Failed to read metadata from the following" msgid "Failed to read metadata from the following"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:964 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:976
msgid "" msgid ""
"The selected books will be <b>permanently deleted</b> and the files removed " "The selected books will be <b>permanently deleted</b> and the files removed "
"from your computer. Are you sure?" "from your computer. Are you sure?"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:991 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1003
msgid "Deleting books from device." msgid "Deleting books from device."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1022 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1034
msgid "Cannot download metadata" msgid "Cannot download metadata"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1023 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1035
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1071 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1104 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1116
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1141
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1241 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1253
msgid "No books selected" msgid "No books selected"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1032 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1044
msgid "covers" msgid "covers"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1032 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1044
msgid "metadata" msgid "metadata"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1034 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1046
msgid "Downloading %s for %d book(s)" msgid "Downloading %s for %d book(s)"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1055 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1067
msgid "Failed to download some metadata" msgid "Failed to download some metadata"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1056 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1068
msgid "Failed to download metadata for the following:" msgid "Failed to download metadata for the following:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1059 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1071
msgid "Failed to download metadata:" msgid "Failed to download metadata:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1070 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1082
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1103 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1115
msgid "Cannot edit metadata" msgid "Cannot edit metadata"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1128 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1140
msgid "Cannot save to disk" msgid "Cannot save to disk"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1131 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1143
msgid "Choose destination directory" msgid "Choose destination directory"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1158 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1170
msgid "Error while saving" msgid "Error while saving"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1159 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1171
msgid "There was an error while saving." msgid "There was an error while saving."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1178
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1167 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1179
msgid "Could not save some books" msgid "Could not save some books"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1180
msgid "Click the show details button to see which ones." msgid "Click the show details button to see which ones."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1187 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199
msgid "Fetching news from " msgid "Fetching news from "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212
msgid " fetched." msgid " fetched."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1240 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1252
msgid "Cannot convert" msgid "Cannot convert"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1269 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1281
msgid "Starting conversion of %d book(s)" msgid "Starting conversion of %d book(s)"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1380 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1392
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1399 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1411
msgid "No book selected" msgid "No book selected"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1380 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1392
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1430 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1442
msgid "Cannot view" msgid "Cannot view"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1410
msgid "Cannot open folder" msgid "Cannot open folder"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1415 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1427
msgid "Multiple Books Selected" msgid "Multiple Books Selected"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1416 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1428
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 "
@ -5398,149 +5406,149 @@ msgid ""
"continue?" "continue?"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1443
msgid "%s has no available formats." msgid "%s has no available formats."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484
msgid "Cannot configure" msgid "Cannot configure"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1485
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/main.py:1516 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1528
msgid "No detailed info available" msgid "No detailed info available"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1517 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1529
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/main.py:1569 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1581
msgid "Error talking to device" msgid "Error talking to device"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1570 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1582
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/main.py:1593 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1605
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1611 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1623
msgid "Conversion Error" msgid "Conversion Error"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1594 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1606
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/main.py:1612 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1624
msgid "<b>Failed</b>" msgid "<b>Failed</b>"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1640 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1652
msgid "Invalid library location" msgid "Invalid library location"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1641 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1653
msgid "Could not access %s. Using %s as the library." msgid "Could not access %s. Using %s as the library."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1689 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1701
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/main.py:1713 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1725
msgid "There are active jobs. Are you sure you want to quit?" msgid "There are active jobs. Are you sure you want to quit?"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1716 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1728
msgid "" msgid ""
" is communicating with the device!<br>\n" " is communicating with the device!<br>\n"
" Quitting may cause corruption on the device.<br>\n" " Quitting may cause corruption on the device.<br>\n"
" Are you sure you want to quit?" " Are you sure you want to quit?"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1720 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1732
msgid "WARNING: Active jobs" msgid "WARNING: Active jobs"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1771 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1783
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/main.py:1790 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1802
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/main.py:1798 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1810
msgid "Update available" msgid "Update available"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1799 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1811
msgid "" msgid ""
"%s has been updated to version %s. See the <a " "%s has been updated to version %s. See the <a "
"href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. "
"Visit the download page?" "Visit the download page?"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1817 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1829
msgid "Use the library located at the specified path." msgid "Use the library located at the specified path."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1819 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1831
msgid "Start minimized to system tray." msgid "Start minimized to system tray."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1821 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1833
msgid "Log debugging information to console" msgid "Log debugging information to console"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1823 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1835
msgid "Do not check for updates" msgid "Do not check for updates"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1871 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1883
msgid "If you are sure it is not running" msgid "If you are sure it is not running"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1873 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1885
msgid "Cannot Start " msgid "Cannot Start "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1874 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1886
msgid "%s is already running." msgid "%s is already running."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1877 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1889
msgid "may be running in the system tray, in the" msgid "may be running in the system tray, in the"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1879 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1891
msgid "upper right region of the screen." msgid "upper right region of the screen."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1881 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1893
msgid "lower right region of the screen." msgid "lower right region of the screen."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1884 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1896
msgid "try rebooting your computer." msgid "try rebooting your computer."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1886
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1898 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1898
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1910
msgid "try deleting the file" msgid "try deleting the file"
msgstr "" msgstr ""
@ -5903,59 +5911,59 @@ msgstr ""
msgid "&User stylesheet" msgid "&User stylesheet"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:30 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:31
msgid "Options to customize the ebook viewer" msgid "Options to customize the ebook viewer"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:37 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:650 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:650
msgid "Remember last used window size" msgid "Remember last used window size"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:89
msgid "" msgid ""
"Set the user CSS stylesheet. This can be used to customize the look of all " "Set the user CSS stylesheet. This can be used to customize the look of all "
"books." "books."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42
msgid "Maximum width of the viewer window, in pixels." msgid "Maximum width of the viewer window, in pixels."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:43
msgid "Hyphenate text" msgid "Hyphenate text"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:44 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:45
msgid "Default language for hyphenation rules" msgid "Default language for hyphenation rules"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:47
msgid "Font options" msgid "Font options"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:49
msgid "The serif font family" msgid "The serif font family"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:51
msgid "The sans-serif font family" msgid "The sans-serif font family"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:53
msgid "The monospaced font family" msgid "The monospaced font family"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:53 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:54
msgid "The standard font size in px" msgid "The standard font size in px"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:54 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:55
msgid "The monospaced font size in px" msgid "The monospaced font size in px"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:56
msgid "The standard font type" msgid "The standard font type"
msgstr "" msgstr ""
@ -6210,7 +6218,7 @@ msgstr ""
msgid "Could not move library" msgid "Could not move library"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:574 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:583
msgid "welcome wizard" msgid "welcome wizard"
msgstr "" msgstr ""
@ -6469,20 +6477,20 @@ msgid ""
"WordPlayer, etc. integration." "WordPlayer, etc. integration."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:120 #: /home/kovid/work/calibre/src/calibre/library/cli.py:121
msgid "" msgid ""
"Path to the calibre library. Default is to use the path stored in the " "Path to the calibre library. Default is to use the path stored in the "
"settings." "settings."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:199 #: /home/kovid/work/calibre/src/calibre/library/cli.py:200
msgid "" msgid ""
"%prog list [options]\n" "%prog list [options]\n"
"\n" "\n"
"List the books available in the calibre database.\n" "List the books available in the calibre database.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:207 #: /home/kovid/work/calibre/src/calibre/library/cli.py:208
msgid "" msgid ""
"The fields to display when listing books in the database. Should be a comma " "The fields to display when listing books in the database. Should be a comma "
"separated list of fields.\n" "separated list of fields.\n"
@ -6491,61 +6499,61 @@ msgid ""
"fields. Only has effect in the text output format." "fields. Only has effect in the text output format."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:209 #: /home/kovid/work/calibre/src/calibre/library/cli.py:210
msgid "" msgid ""
"The field by which to sort the results.\n" "The field by which to sort the results.\n"
"Available fields: %s\n" "Available fields: %s\n"
"Default: %%default" "Default: %%default"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:211 #: /home/kovid/work/calibre/src/calibre/library/cli.py:212
msgid "Sort results in ascending order" msgid "Sort results in ascending order"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:213 #: /home/kovid/work/calibre/src/calibre/library/cli.py:214
msgid "" msgid ""
"Filter the results by the search query. For the format of the search query, " "Filter the results by the search query. For the format of the search query, "
"please see the search related documentation in the User Manual. Default is " "please see the search related documentation in the User Manual. Default is "
"to do no filtering." "to do no filtering."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:215 #: /home/kovid/work/calibre/src/calibre/library/cli.py:216
msgid "" msgid ""
"The maximum width of a single line in the output. Defaults to detecting " "The maximum width of a single line in the output. Defaults to detecting "
"screen size." "screen size."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:216 #: /home/kovid/work/calibre/src/calibre/library/cli.py:217
msgid "The string used to separate fields. Default is a space." msgid "The string used to separate fields. Default is a space."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:217 #: /home/kovid/work/calibre/src/calibre/library/cli.py:218
msgid "" msgid ""
"The prefix for all file paths. Default is the absolute path to the library " "The prefix for all file paths. Default is the absolute path to the library "
"folder." "folder."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:220 #: /home/kovid/work/calibre/src/calibre/library/cli.py:221
msgid "" msgid ""
"The format in which to output the data. Available choices: %s. Defaults is " "The format in which to output the data. Available choices: %s. Defaults is "
"text." "text."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:233 #: /home/kovid/work/calibre/src/calibre/library/cli.py:234
msgid "Invalid fields. Available fields:" msgid "Invalid fields. Available fields:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:240 #: /home/kovid/work/calibre/src/calibre/library/cli.py:241
msgid "Invalid sort field. Available fields:" msgid "Invalid sort field. Available fields:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:311 #: /home/kovid/work/calibre/src/calibre/library/cli.py:312
msgid "" msgid ""
"The following books were not added as they already exist in the database " "The following books were not added as they already exist in the database "
"(see --duplicates option):" "(see --duplicates option):"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:334 #: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "" msgid ""
"%prog add [options] file1 file2 file3 ...\n" "%prog add [options] file1 file2 file3 ...\n"
"\n" "\n"
@ -6554,27 +6562,27 @@ msgid ""
"the directory related options below.\n" "the directory related options below.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 #: /home/kovid/work/calibre/src/calibre/library/cli.py:344
msgid "" msgid ""
"Assume that each directory has only a single logical book and that all files " "Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book" "in it are different e-book formats of that book"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:345 #: /home/kovid/work/calibre/src/calibre/library/cli.py:346
msgid "Process directories recursively" msgid "Process directories recursively"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:347 #: /home/kovid/work/calibre/src/calibre/library/cli.py:348
msgid "" msgid ""
"Add books to database even if they already exist. Comparison is done based " "Add books to database even if they already exist. Comparison is done based "
"on book titles." "on book titles."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:357 #: /home/kovid/work/calibre/src/calibre/library/cli.py:358
msgid "You must specify at least one file to add" msgid "You must specify at least one file to add"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:373 #: /home/kovid/work/calibre/src/calibre/library/cli.py:374
msgid "" msgid ""
"%prog remove ids\n" "%prog remove ids\n"
"\n" "\n"
@ -6583,11 +6591,11 @@ msgid ""
"command). For example, 23,34,57-85\n" "command). For example, 23,34,57-85\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:388 #: /home/kovid/work/calibre/src/calibre/library/cli.py:389
msgid "You must specify at least one book to remove" msgid "You must specify at least one book to remove"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:407 #: /home/kovid/work/calibre/src/calibre/library/cli.py:408
msgid "" msgid ""
"%prog add_format [options] id ebook_file\n" "%prog add_format [options] id ebook_file\n"
"\n" "\n"
@ -6596,15 +6604,15 @@ msgid ""
"already exists, it is replaced.\n" "already exists, it is replaced.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:422 #: /home/kovid/work/calibre/src/calibre/library/cli.py:423
msgid "You must specify an id and an ebook file" msgid "You must specify an id and an ebook file"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:427 #: /home/kovid/work/calibre/src/calibre/library/cli.py:428
msgid "ebook file must have an extension" msgid "ebook file must have an extension"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:435 #: /home/kovid/work/calibre/src/calibre/library/cli.py:436
msgid "" msgid ""
"\n" "\n"
"%prog remove_format [options] id fmt\n" "%prog remove_format [options] id fmt\n"
@ -6614,11 +6622,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n" "EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:452 #: /home/kovid/work/calibre/src/calibre/library/cli.py:453
msgid "You must specify an id and a format" msgid "You must specify an id and a format"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:470 #: /home/kovid/work/calibre/src/calibre/library/cli.py:471
msgid "" msgid ""
"\n" "\n"
"%prog show_metadata [options] id\n" "%prog show_metadata [options] id\n"
@ -6628,15 +6636,15 @@ msgid ""
"id is an id number from the list command.\n" "id is an id number from the list command.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:478 #: /home/kovid/work/calibre/src/calibre/library/cli.py:479
msgid "Print metadata in OPF form (XML)" msgid "Print metadata in OPF form (XML)"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:487 #: /home/kovid/work/calibre/src/calibre/library/cli.py:488
msgid "You must specify an id" msgid "You must specify an id"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:500 #: /home/kovid/work/calibre/src/calibre/library/cli.py:501
msgid "" msgid ""
"\n" "\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n" "%prog set_metadata [options] id /path/to/metadata.opf\n"
@ -6649,11 +6657,11 @@ msgid ""
"show_metadata command.\n" "show_metadata command.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:516 #: /home/kovid/work/calibre/src/calibre/library/cli.py:517
msgid "You must specify an id and a metadata file" msgid "You must specify an id and a metadata file"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 #: /home/kovid/work/calibre/src/calibre/library/cli.py:537
msgid "" msgid ""
"%prog export [options] ids\n" "%prog export [options] ids\n"
"\n" "\n"
@ -6664,27 +6672,27 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n" "an opf file). You can get id numbers from the list command.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:544 #: /home/kovid/work/calibre/src/calibre/library/cli.py:545
msgid "Export all books in database, ignoring the list of ids." msgid "Export all books in database, ignoring the list of ids."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:546 #: /home/kovid/work/calibre/src/calibre/library/cli.py:547
msgid "Export books to the specified directory. Default is" msgid "Export books to the specified directory. Default is"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:548 #: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid "Export all books into a single directory" msgid "Export all books into a single directory"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:555 #: /home/kovid/work/calibre/src/calibre/library/cli.py:556
msgid "Specifying this switch will turn this behavior off." msgid "Specifying this switch will turn this behavior off."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:578 #: /home/kovid/work/calibre/src/calibre/library/cli.py:579
msgid "You must specify some ids or the %s option" msgid "You must specify some ids or the %s option"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:590 #: /home/kovid/work/calibre/src/calibre/library/cli.py:591
msgid "" msgid ""
"%%prog command [options] [arguments]\n" "%%prog command [options] [arguments]\n"
"\n" "\n"

File diff suppressed because it is too large Load Diff

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-10-31 09:00+0000\n" "POT-Creation-Date: 2009-11-06 21:27+0000\n"
"PO-Revision-Date: 2009-11-02 08:30+0000\n" "PO-Revision-Date: 2009-11-06 19:12+0000\n"
"Last-Translator: Bartosz Kaszubowski <gosimek@gmail.com>\n" "Last-Translator: Bartosz Kaszubowski <gosimek@gmail.com>\n"
"Language-Team: Polish <pl@li.org>\n" "Language-Team: Polish <pl@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-11-03 08:32+0000\n" "X-Launchpad-Export-Date: 2009-11-07 04:37+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
@ -45,10 +45,10 @@ msgstr "Ta opcja nic nie zmienia"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:45 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:46
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:61 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:62
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:64
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:103 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:104
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:171 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:171
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:329 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:329
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:444 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:444
@ -118,7 +118,7 @@ msgstr "Ta opcja nic nie zmienia"
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:876 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:876
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1002 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:1002
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:211 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:211
#: /home/kovid/work/calibre/src/calibre/library/cli.py:280 #: /home/kovid/work/calibre/src/calibre/library/cli.py:281
#: /home/kovid/work/calibre/src/calibre/library/database.py:913 #: /home/kovid/work/calibre/src/calibre/library/database.py:913
#: /home/kovid/work/calibre/src/calibre/library/database2.py:702 #: /home/kovid/work/calibre/src/calibre/library/database2.py:702
#: /home/kovid/work/calibre/src/calibre/library/database2.py:714 #: /home/kovid/work/calibre/src/calibre/library/database2.py:714
@ -264,7 +264,6 @@ msgid "This profile is intended for the Mobipocket books."
msgstr "Ten profil przeznaczony jest dla urządzeń Mobipocket." msgstr "Ten profil przeznaczony jest dla urządzeń Mobipocket."
#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:93 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:93
#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:253
msgid "This profile is intended for the Hanlin V3 and its clones." msgid "This profile is intended for the Hanlin V3 and its clones."
msgstr "Ten profil przeznaczony jest dla urządzenia Hanlin V3 i jego klonów." msgstr "Ten profil przeznaczony jest dla urządzenia Hanlin V3 i jego klonów."
@ -317,6 +316,10 @@ msgstr ""
"Ten profil przeznaczony jest dla urządzeń z linii SONY PRS w trybie " "Ten profil przeznaczony jest dla urządzeń z linii SONY PRS w trybie "
"panoramicznym. Np. 500/505/700 itd. Głównie użyteczny przy komiksach." "panoramicznym. Np. 500/505/700 itd. Głównie użyteczny przy komiksach."
#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:253
msgid "This profile is intended for the Hanlin V3/V5 and its clones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:306 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:306
msgid "This profile is intended for the Amazon Kindle DX." msgid "This profile is intended for the Amazon Kindle DX."
msgstr "Ten profil przeznaczony jest dla urządzenia Amazon Kindle DX." msgstr "Ten profil przeznaczony jest dla urządzenia Amazon Kindle DX."
@ -401,6 +404,7 @@ 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/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/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"
@ -456,6 +460,10 @@ msgstr "Interfejs urządzenia"
msgid "Communicate with the IRex Digital Reader 1000 eBook reader." msgid "Communicate with the IRex Digital Reader 1000 eBook reader."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/iriver/driver.py:15
msgid "Communicate with the Iriver Story reader."
msgstr ""
#: /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 ""
@ -1158,9 +1166,9 @@ msgid ""
"disables the generation of this cover." "disables the generation of this cover."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:123 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:126
#: /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:98 #: /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
msgid "Table of Contents:" msgid "Table of Contents:"
msgstr "Spis treści:" msgstr "Spis treści:"
@ -2293,7 +2301,7 @@ msgstr ""
msgid "Copy to Clipboard" msgid "Copy to Clipboard"
msgstr "Kopiuj do schowka" msgstr "Kopiuj do schowka"
#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:386 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:387
msgid "Choose Files" msgid "Choose Files"
msgstr "" msgstr ""
@ -3018,7 +3026,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/main.py:1386 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398
msgid "Choose the format to view" msgid "Choose the format to view"
msgstr "Wybierz format do wyświetlenia" msgstr "Wybierz format do wyświetlenia"
@ -3632,7 +3640,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:467
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:797
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:152
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1060 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1072
#: /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 "Błąd" msgstr "Błąd"
@ -3708,7 +3716,7 @@ msgid "Failed to start content server"
msgstr "Włączanie serwera zakończone niepowodzeniem" msgstr "Włączanie serwera zakończone niepowodzeniem"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:678 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:678
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:503 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:508
msgid "Select location for books" msgid "Select location for books"
msgstr "Wybierz lokalizację dla książek" msgstr "Wybierz lokalizację dla książek"
@ -4303,7 +4311,7 @@ msgid "Choose formats for "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:134 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:134
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:912
msgid "Books" msgid "Books"
msgstr "Książki" msgstr "Książki"
@ -5266,7 +5274,7 @@ msgid "Save to disk in a single directory"
msgstr "Zapisz na dysku w pojedyńczym folderze" msgstr "Zapisz na dysku w pojedyńczym folderze"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:297 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:297
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1488 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1500
msgid "Save only %s format to disk" msgid "Save only %s format to disk"
msgstr "Zapisz na dysku jedynie pliki w formacie %s" msgstr "Zapisz na dysku jedynie pliki w formacie %s"
@ -5301,12 +5309,12 @@ msgid "Bad database location"
msgstr "Zła lokalizacja bazy danych" msgstr "Zła lokalizacja bazy danych"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:445 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:445
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:511 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:516
msgid "Calibre Library" msgid "Calibre Library"
msgstr "Biblioteka calibre" msgstr "Biblioteka calibre"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:455 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:455
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1631 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1643
msgid "Choose a location for your ebook library." msgid "Choose a location for your ebook library."
msgstr "Wybierz lokalizację dla twojej biblioteki książek." msgstr "Wybierz lokalizację dla twojej biblioteki książek."
@ -5314,23 +5322,23 @@ msgstr "Wybierz lokalizację dla twojej biblioteki książek."
msgid "Browse by covers" msgid "Browse by covers"
msgstr "Przeglądaj po okładkach" msgstr "Przeglądaj po okładkach"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:754 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:764
msgid "Device: " msgid "Device: "
msgstr "Urządzenie: " msgstr "Urządzenie: "
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:756 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:766
msgid " detected." msgid " detected."
msgstr " wykryte" msgstr " wykryte"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:778 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:789
msgid "Connected " msgid "Connected "
msgstr "Połączone " msgstr "Połączone "
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:790 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:801
msgid "Device database corrupted" msgid "Device database corrupted"
msgstr "Baza danych urządzenia uszkodzona" msgstr "Baza danych urządzenia uszkodzona"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:791 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:802
msgid "" msgid ""
"\n" "\n"
" <p>The database of books on the reader is corrupted. Try the " " <p>The database of books on the reader is corrupted. Try the "
@ -5346,56 +5354,56 @@ msgid ""
" " " "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:904
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:935 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:947
msgid "Uploading books to device." msgid "Uploading books to device."
msgstr "Przesyłam książki na urządzenie." msgstr "Przesyłam książki na urządzenie."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:901 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:913
msgid "EPUB Books" msgid "EPUB Books"
msgstr "Książki EPUB" msgstr "Książki EPUB"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:902 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:914
msgid "LRF Books" msgid "LRF Books"
msgstr "Książki LRF" msgstr "Książki LRF"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:915
msgid "HTML Books" msgid "HTML Books"
msgstr "Książki HTML" msgstr "Książki HTML"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:916
msgid "LIT Books" msgid "LIT Books"
msgstr "Książki LIT" msgstr "Książki LIT"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:905 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:917
msgid "MOBI Books" msgid "MOBI Books"
msgstr "Książki MOBI" msgstr "Książki MOBI"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:906 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:918
msgid "Text books" msgid "Text books"
msgstr "Książki tekstowe" msgstr "Książki tekstowe"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:907 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:919
msgid "PDF Books" msgid "PDF Books"
msgstr "Książki PDF" msgstr "Książki PDF"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:908 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:920
msgid "Comics" msgid "Comics"
msgstr "Komiksy" msgstr "Komiksy"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:921
msgid "Archives" msgid "Archives"
msgstr "Archiwa" msgstr "Archiwa"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:944 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:956
msgid "Failed to read metadata" msgid "Failed to read metadata"
msgstr "Nie można było odczytać metadanych" msgstr "Nie można było odczytać metadanych"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:945 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:957
msgid "Failed to read metadata from the following" msgid "Failed to read metadata from the following"
msgstr "Nie można było odczytać metadanych z nastepujących" msgstr "Nie można było odczytać metadanych z nastepujących"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:964 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:976
msgid "" msgid ""
"The selected books will be <b>permanently deleted</b> and the files removed " "The selected books will be <b>permanently deleted</b> and the files removed "
"from your computer. Are you sure?" "from your computer. Are you sure?"
@ -5403,111 +5411,111 @@ msgstr ""
"Wybrane książki będą <b>permanentnie usunięte</b> i ich pliki zostaną " "Wybrane książki będą <b>permanentnie usunięte</b> i ich pliki zostaną "
"usunięte z twojego komputera. Jesteś pewny?" "usunięte z twojego komputera. Jesteś pewny?"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:991 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1003
msgid "Deleting books from device." msgid "Deleting books from device."
msgstr "Usuwanie książek z urządzenia." msgstr "Usuwanie książek z urządzenia."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1022 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1034
msgid "Cannot download metadata" msgid "Cannot download metadata"
msgstr "Nie można obrac metadanych" msgstr "Nie można obrac metadanych"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1023 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1035
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1071 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1104 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1116
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1141
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1241 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1253
msgid "No books selected" msgid "No books selected"
msgstr "Nie wybrano ksiązek" msgstr "Nie wybrano ksiązek"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1032 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1044
msgid "covers" msgid "covers"
msgstr "okładki" msgstr "okładki"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1032 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1044
msgid "metadata" msgid "metadata"
msgstr "metadane" msgstr "metadane"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1034 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1046
msgid "Downloading %s for %d book(s)" msgid "Downloading %s for %d book(s)"
msgstr "Pobieram %s dla %d książki(ek)" msgstr "Pobieram %s dla %d książki(ek)"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1055 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1067
msgid "Failed to download some metadata" msgid "Failed to download some metadata"
msgstr "Nie udało się pobrac niektórych metadanych" msgstr "Nie udało się pobrac niektórych metadanych"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1056 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1068
msgid "Failed to download metadata for the following:" msgid "Failed to download metadata for the following:"
msgstr "Nie udało się pobrać metadanych dla następujących e-ksiązek:" msgstr "Nie udało się pobrać metadanych dla następujących e-ksiązek:"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1059 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1071
msgid "Failed to download metadata:" msgid "Failed to download metadata:"
msgstr "Nie udało się pobrać metadanych:" msgstr "Nie udało się pobrać metadanych:"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1070 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1082
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1103 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1115
msgid "Cannot edit metadata" msgid "Cannot edit metadata"
msgstr "Nie można edytować metadanych" msgstr "Nie można edytować metadanych"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1128 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1140
msgid "Cannot save to disk" msgid "Cannot save to disk"
msgstr "Nie można zapisać na dysku" msgstr "Nie można zapisać na dysku"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1131 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1143
msgid "Choose destination directory" msgid "Choose destination directory"
msgstr "Wyberz folder docelowy" msgstr "Wyberz folder docelowy"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1158 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1170
msgid "Error while saving" msgid "Error while saving"
msgstr "Błąd podczas zapisywania" msgstr "Błąd podczas zapisywania"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1159 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1171
msgid "There was an error while saving." msgid "There was an error while saving."
msgstr "Wysapił błąd podczas zapisywania." msgstr "Wysapił błąd podczas zapisywania."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1178
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1167 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1179
msgid "Could not save some books" msgid "Could not save some books"
msgstr "Nie można była zapisać niektórych książek" msgstr "Nie można była zapisać niektórych książek"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1180
msgid "Click the show details button to see which ones." msgid "Click the show details button to see which ones."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1187 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199
msgid "Fetching news from " msgid "Fetching news from "
msgstr "Pobieranie aktualności z " msgstr "Pobieranie aktualności z "
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212
msgid " fetched." msgid " fetched."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1240 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1252
msgid "Cannot convert" msgid "Cannot convert"
msgstr "Nie można przekonwertować" msgstr "Nie można przekonwertować"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1269 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1281
msgid "Starting conversion of %d book(s)" msgid "Starting conversion of %d book(s)"
msgstr "Rozpoczynam konwersję %d książki(ek)" msgstr "Rozpoczynam konwersję %d książki(ek)"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1380 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1392
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1399 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1411
msgid "No book selected" msgid "No book selected"
msgstr "Nie wybrano ksiązki" msgstr "Nie wybrano ksiązki"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1380 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1392
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1430 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1442
msgid "Cannot view" msgid "Cannot view"
msgstr "Nie można wyświetlić" msgstr "Nie można wyświetlić"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1410
msgid "Cannot open folder" msgid "Cannot open folder"
msgstr "Nie można otworzyć folderu" msgstr "Nie można otworzyć folderu"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1415 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1427
msgid "Multiple Books Selected" msgid "Multiple Books Selected"
msgstr "Wybrano wiele książek" msgstr "Wybrano wiele książek"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1416 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1428
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 "
@ -5515,31 +5523,31 @@ msgid ""
"continue?" "continue?"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1443
msgid "%s has no available formats." msgid "%s has no available formats."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484
msgid "Cannot configure" msgid "Cannot configure"
msgstr "Nie można skonfigurować" msgstr "Nie można skonfigurować"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1485
msgid "Cannot configure while there are running jobs." msgid "Cannot configure while there are running jobs."
msgstr "Nie można skonfigurować, gdy są aktywne jakieś zadania." msgstr "Nie można skonfigurować, gdy są aktywne jakieś zadania."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1516 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1528
msgid "No detailed info available" msgid "No detailed info available"
msgstr "Brak szczegółowych informacji" msgstr "Brak szczegółowych informacji"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1517 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1529
msgid "No detailed information is available for books on the device." msgid "No detailed information is available for books on the device."
msgstr "Brak szczegółowych informacji dla książek na urządzeniu." msgstr "Brak szczegółowych informacji dla książek na urządzeniu."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1569 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1581
msgid "Error talking to device" msgid "Error talking to device"
msgstr "Błąd komunikacji z urządzeniem" msgstr "Błąd komunikacji z urządzeniem"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1570 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1582
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."
@ -5547,68 +5555,68 @@ msgstr ""
"Wystąpił chwilowy błąd komunikacji z urządzeniem. Odłącz i podłącz je " "Wystąpił chwilowy błąd komunikacji z urządzeniem. Odłącz i podłącz je "
"ponownie lub uruchom komputer ponownie." "ponownie lub uruchom komputer ponownie."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1593 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1605
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1611 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1623
msgid "Conversion Error" msgid "Conversion Error"
msgstr "Błąd podczas konwersji" msgstr "Błąd podczas konwersji"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1594 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1606
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/main.py:1612 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1624
msgid "<b>Failed</b>" msgid "<b>Failed</b>"
msgstr "<b>Nie powiodło się</b>" msgstr "<b>Nie powiodło się</b>"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1640 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1652
msgid "Invalid library location" msgid "Invalid library location"
msgstr "Niewłaściwa lokalizacja biblioteki" msgstr "Niewłaściwa lokalizacja biblioteki"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1641 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1653
msgid "Could not access %s. Using %s as the library." msgid "Could not access %s. Using %s as the library."
msgstr "Nie można uzyskać dostępu %s. Używam %s jako biblioteki." msgstr "Nie można uzyskać dostępu %s. Używam %s jako biblioteki."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1689 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1701
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/main.py:1713 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1725
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 ""
"Niektóre zadania są aktywne. Jesteś pewnien, że chcesz zamknąć program?" "Niektóre zadania są aktywne. Jesteś pewnien, że chcesz zamknąć program?"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1716 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1728
msgid "" msgid ""
" is communicating with the device!<br>\n" " is communicating with the device!<br>\n"
" Quitting may cause corruption on the device.<br>\n" " Quitting may cause corruption on the device.<br>\n"
" Are you sure you want to quit?" " Are you sure you want to quit?"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1720 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1732
msgid "WARNING: Active jobs" msgid "WARNING: Active jobs"
msgstr "OSTRZEŻENIE: Aktywne zadania" msgstr "OSTRZEŻENIE: Aktywne zadania"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1771 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1783
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/main.py:1790 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1802
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/main.py:1798 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1810
msgid "Update available" msgid "Update available"
msgstr "Uaktualnienia dostępne" msgstr "Uaktualnienia dostępne"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1799 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1811
msgid "" msgid ""
"%s has been updated to version %s. See the <a " "%s has been updated to version %s. See the <a "
"href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. "
@ -5618,52 +5626,52 @@ msgstr ""
"href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">listę zmian i " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">listę zmian i "
"poprawek</a>. Otworzyć stronę pobierania?" "poprawek</a>. Otworzyć stronę pobierania?"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1817 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1829
msgid "Use the library located at the specified path." msgid "Use the library located at the specified path."
msgstr "Użyj biblioteki zlokalizowanej pod podaną ścieżką." msgstr "Użyj biblioteki zlokalizowanej pod podaną ścieżką."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1819 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1831
msgid "Start minimized to system tray." msgid "Start minimized to system tray."
msgstr "Uruchom zminimalizowany w zasobniku systemowym." msgstr "Uruchom zminimalizowany w zasobniku systemowym."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1821 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1833
msgid "Log debugging information to console" msgid "Log debugging information to console"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1823 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1835
msgid "Do not check for updates" msgid "Do not check for updates"
msgstr "Nie sprawdzaj czy uaktualnienie jest dostępne" msgstr "Nie sprawdzaj czy uaktualnienie jest dostępne"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1871 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1883
msgid "If you are sure it is not running" msgid "If you are sure it is not running"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1873 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1885
msgid "Cannot Start " msgid "Cannot Start "
msgstr "Nie można uruchomić " msgstr "Nie można uruchomić "
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1874 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1886
msgid "%s is already running." msgid "%s is already running."
msgstr "%s jest już uruchomiony." msgstr "%s jest już uruchomiony."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1877 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1889
msgid "may be running in the system tray, in the" msgid "may be running in the system tray, in the"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1879 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1891
msgid "upper right region of the screen." msgid "upper right region of the screen."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1881 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1893
msgid "lower right region of the screen." msgid "lower right region of the screen."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1884 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1896
msgid "try rebooting your computer." msgid "try rebooting your computer."
msgstr "spróbuj zrestartować komputer." msgstr "spróbuj zrestartować komputer."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1886
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1898 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1898
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1910
msgid "try deleting the file" msgid "try deleting the file"
msgstr "spróbuj usunąć plik" msgstr "spróbuj usunąć plik"
@ -6028,17 +6036,17 @@ msgstr ""
msgid "&User stylesheet" msgid "&User stylesheet"
msgstr "Arkusze stylów użytkownika" msgstr "Arkusze stylów użytkownika"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:30 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:31
msgid "Options to customize the ebook viewer" msgid "Options to customize the ebook viewer"
msgstr "Opcje odpowiedzialne za personalizacje przeglądarki książek" msgstr "Opcje odpowiedzialne za personalizacje przeglądarki książek"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:37 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:650 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:650
msgid "Remember last used window size" msgid "Remember last used window size"
msgstr "Zapamiętaj ostatnio użyty rozmiar okienka" msgstr "Zapamiętaj ostatnio użyty rozmiar okienka"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:89
msgid "" msgid ""
"Set the user CSS stylesheet. This can be used to customize the look of all " "Set the user CSS stylesheet. This can be used to customize the look of all "
"books." "books."
@ -6046,43 +6054,43 @@ msgstr ""
"Ustaw arkusz CSS użytkownika. Ta opcja może być użyta do spersonalizowania " "Ustaw arkusz CSS użytkownika. Ta opcja może być użyta do spersonalizowania "
"wyglądu wszystkich książek." "wyglądu wszystkich książek."
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42
msgid "Maximum width of the viewer window, in pixels." msgid "Maximum width of the viewer window, in pixels."
msgstr "Maksymalny rozmiar okienka przeglądarki w pikselach." msgstr "Maksymalny rozmiar okienka przeglądarki w pikselach."
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:43
msgid "Hyphenate text" msgid "Hyphenate text"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:44 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:45
msgid "Default language for hyphenation rules" msgid "Default language for hyphenation rules"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:47
msgid "Font options" msgid "Font options"
msgstr "Opcje czcionki" msgstr "Opcje czcionki"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:49
msgid "The serif font family" msgid "The serif font family"
msgstr "Rodzina czcionek szeryfowych" msgstr "Rodzina czcionek szeryfowych"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:51
msgid "The sans-serif font family" msgid "The sans-serif font family"
msgstr "Rodzina czcionek sans-serif" msgstr "Rodzina czcionek sans-serif"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:53
msgid "The monospaced font family" msgid "The monospaced font family"
msgstr "Rodzina czcionek monospace" msgstr "Rodzina czcionek monospace"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:53 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:54
msgid "The standard font size in px" msgid "The standard font size in px"
msgstr "Standardowy rozmiar czcionki w pikselach" msgstr "Standardowy rozmiar czcionki w pikselach"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:54 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:55
msgid "The monospaced font size in px" msgid "The monospaced font size in px"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:56
msgid "The standard font type" msgid "The standard font type"
msgstr "" msgstr ""
@ -6349,7 +6357,7 @@ msgstr ""
msgid "Could not move library" msgid "Could not move library"
msgstr "Nie można przenieść biblioteki" msgstr "Nie można przenieść biblioteki"
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:574 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:583
msgid "welcome wizard" msgid "welcome wizard"
msgstr "- kreator wstępnych ustawień" msgstr "- kreator wstępnych ustawień"
@ -6609,20 +6617,20 @@ msgid ""
"WordPlayer, etc. integration." "WordPlayer, etc. integration."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:120 #: /home/kovid/work/calibre/src/calibre/library/cli.py:121
msgid "" msgid ""
"Path to the calibre library. Default is to use the path stored in the " "Path to the calibre library. Default is to use the path stored in the "
"settings." "settings."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:199 #: /home/kovid/work/calibre/src/calibre/library/cli.py:200
msgid "" msgid ""
"%prog list [options]\n" "%prog list [options]\n"
"\n" "\n"
"List the books available in the calibre database.\n" "List the books available in the calibre database.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:207 #: /home/kovid/work/calibre/src/calibre/library/cli.py:208
msgid "" msgid ""
"The fields to display when listing books in the database. Should be a comma " "The fields to display when listing books in the database. Should be a comma "
"separated list of fields.\n" "separated list of fields.\n"
@ -6631,61 +6639,61 @@ msgid ""
"fields. Only has effect in the text output format." "fields. Only has effect in the text output format."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:209 #: /home/kovid/work/calibre/src/calibre/library/cli.py:210
msgid "" msgid ""
"The field by which to sort the results.\n" "The field by which to sort the results.\n"
"Available fields: %s\n" "Available fields: %s\n"
"Default: %%default" "Default: %%default"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:211 #: /home/kovid/work/calibre/src/calibre/library/cli.py:212
msgid "Sort results in ascending order" msgid "Sort results in ascending order"
msgstr "Posortuj wyniki rosnąco" msgstr "Posortuj wyniki rosnąco"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:213 #: /home/kovid/work/calibre/src/calibre/library/cli.py:214
msgid "" msgid ""
"Filter the results by the search query. For the format of the search query, " "Filter the results by the search query. For the format of the search query, "
"please see the search related documentation in the User Manual. Default is " "please see the search related documentation in the User Manual. Default is "
"to do no filtering." "to do no filtering."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:215 #: /home/kovid/work/calibre/src/calibre/library/cli.py:216
msgid "" msgid ""
"The maximum width of a single line in the output. Defaults to detecting " "The maximum width of a single line in the output. Defaults to detecting "
"screen size." "screen size."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:216 #: /home/kovid/work/calibre/src/calibre/library/cli.py:217
msgid "The string used to separate fields. Default is a space." msgid "The string used to separate fields. Default is a space."
msgstr "Znak używany do oddzielania pól. Domyslny to spacja." msgstr "Znak używany do oddzielania pól. Domyslny to spacja."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:217 #: /home/kovid/work/calibre/src/calibre/library/cli.py:218
msgid "" msgid ""
"The prefix for all file paths. Default is the absolute path to the library " "The prefix for all file paths. Default is the absolute path to the library "
"folder." "folder."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:220 #: /home/kovid/work/calibre/src/calibre/library/cli.py:221
msgid "" msgid ""
"The format in which to output the data. Available choices: %s. Defaults is " "The format in which to output the data. Available choices: %s. Defaults is "
"text." "text."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:233 #: /home/kovid/work/calibre/src/calibre/library/cli.py:234
msgid "Invalid fields. Available fields:" msgid "Invalid fields. Available fields:"
msgstr "Niewłaściwe pola. Dostepne pola:" msgstr "Niewłaściwe pola. Dostepne pola:"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:240 #: /home/kovid/work/calibre/src/calibre/library/cli.py:241
msgid "Invalid sort field. Available fields:" msgid "Invalid sort field. Available fields:"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:311 #: /home/kovid/work/calibre/src/calibre/library/cli.py:312
msgid "" msgid ""
"The following books were not added as they already exist in the database " "The following books were not added as they already exist in the database "
"(see --duplicates option):" "(see --duplicates option):"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:334 #: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "" msgid ""
"%prog add [options] file1 file2 file3 ...\n" "%prog add [options] file1 file2 file3 ...\n"
"\n" "\n"
@ -6694,17 +6702,17 @@ msgid ""
"the directory related options below.\n" "the directory related options below.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 #: /home/kovid/work/calibre/src/calibre/library/cli.py:344
msgid "" msgid ""
"Assume that each directory has only a single logical book and that all files " "Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book" "in it are different e-book formats of that book"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:345 #: /home/kovid/work/calibre/src/calibre/library/cli.py:346
msgid "Process directories recursively" msgid "Process directories recursively"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:347 #: /home/kovid/work/calibre/src/calibre/library/cli.py:348
msgid "" msgid ""
"Add books to database even if they already exist. Comparison is done based " "Add books to database even if they already exist. Comparison is done based "
"on book titles." "on book titles."
@ -6712,11 +6720,11 @@ msgstr ""
"Dodaj książki do bazy danych nawet jeśli już są w niej. Porównanie odbywa " "Dodaj książki do bazy danych nawet jeśli już są w niej. Porównanie odbywa "
"się na podstawie tytułów." "się na podstawie tytułów."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:357 #: /home/kovid/work/calibre/src/calibre/library/cli.py:358
msgid "You must specify at least one file to add" msgid "You must specify at least one file to add"
msgstr "Musisz określić conajmniej jeden plik do dodania" msgstr "Musisz określić conajmniej jeden plik do dodania"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:373 #: /home/kovid/work/calibre/src/calibre/library/cli.py:374
msgid "" msgid ""
"%prog remove ids\n" "%prog remove ids\n"
"\n" "\n"
@ -6725,11 +6733,11 @@ msgid ""
"command). For example, 23,34,57-85\n" "command). For example, 23,34,57-85\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:388 #: /home/kovid/work/calibre/src/calibre/library/cli.py:389
msgid "You must specify at least one book to remove" msgid "You must specify at least one book to remove"
msgstr "Wybierz co najmniej jedną książkę do usunięcia" msgstr "Wybierz co najmniej jedną książkę do usunięcia"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:407 #: /home/kovid/work/calibre/src/calibre/library/cli.py:408
msgid "" msgid ""
"%prog add_format [options] id ebook_file\n" "%prog add_format [options] id ebook_file\n"
"\n" "\n"
@ -6738,15 +6746,15 @@ msgid ""
"already exists, it is replaced.\n" "already exists, it is replaced.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:422 #: /home/kovid/work/calibre/src/calibre/library/cli.py:423
msgid "You must specify an id and an ebook file" msgid "You must specify an id and an ebook file"
msgstr "Musisz podać identyfikator i plik książki" msgstr "Musisz podać identyfikator i plik książki"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:427 #: /home/kovid/work/calibre/src/calibre/library/cli.py:428
msgid "ebook file must have an extension" msgid "ebook file must have an extension"
msgstr "Plik e-książki musi mieć rozszerzenie" msgstr "Plik e-książki musi mieć rozszerzenie"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:435 #: /home/kovid/work/calibre/src/calibre/library/cli.py:436
msgid "" msgid ""
"\n" "\n"
"%prog remove_format [options] id fmt\n" "%prog remove_format [options] id fmt\n"
@ -6756,11 +6764,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n" "EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:452 #: /home/kovid/work/calibre/src/calibre/library/cli.py:453
msgid "You must specify an id and a format" msgid "You must specify an id and a format"
msgstr "Musisz podać identyfikator i format książki" msgstr "Musisz podać identyfikator i format książki"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:470 #: /home/kovid/work/calibre/src/calibre/library/cli.py:471
msgid "" msgid ""
"\n" "\n"
"%prog show_metadata [options] id\n" "%prog show_metadata [options] id\n"
@ -6770,15 +6778,15 @@ msgid ""
"id is an id number from the list command.\n" "id is an id number from the list command.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:478 #: /home/kovid/work/calibre/src/calibre/library/cli.py:479
msgid "Print metadata in OPF form (XML)" msgid "Print metadata in OPF form (XML)"
msgstr "Wydrukuj metadane w formacie OPF (XML)" msgstr "Wydrukuj metadane w formacie OPF (XML)"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:487 #: /home/kovid/work/calibre/src/calibre/library/cli.py:488
msgid "You must specify an id" msgid "You must specify an id"
msgstr "Musisz podać identyfikator" msgstr "Musisz podać identyfikator"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:500 #: /home/kovid/work/calibre/src/calibre/library/cli.py:501
msgid "" msgid ""
"\n" "\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n" "%prog set_metadata [options] id /path/to/metadata.opf\n"
@ -6791,11 +6799,11 @@ msgid ""
"show_metadata command.\n" "show_metadata command.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:516 #: /home/kovid/work/calibre/src/calibre/library/cli.py:517
msgid "You must specify an id and a metadata file" msgid "You must specify an id and a metadata file"
msgstr "Musisz podać identyfikator i plik z metadanymi" msgstr "Musisz podać identyfikator i plik z metadanymi"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 #: /home/kovid/work/calibre/src/calibre/library/cli.py:537
msgid "" msgid ""
"%prog export [options] ids\n" "%prog export [options] ids\n"
"\n" "\n"
@ -6806,27 +6814,27 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n" "an opf file). You can get id numbers from the list command.\n"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:544 #: /home/kovid/work/calibre/src/calibre/library/cli.py:545
msgid "Export all books in database, ignoring the list of ids." msgid "Export all books in database, ignoring the list of ids."
msgstr "Eksportuj wszystkie książki w bazie, ignoruj listę identyfikatorów." msgstr "Eksportuj wszystkie książki w bazie, ignoruj listę identyfikatorów."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:546 #: /home/kovid/work/calibre/src/calibre/library/cli.py:547
msgid "Export books to the specified directory. Default is" msgid "Export books to the specified directory. Default is"
msgstr "Eksportuj książki do podanego katalogu. Domyślny to" msgstr "Eksportuj książki do podanego katalogu. Domyślny to"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:548 #: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid "Export all books into a single directory" msgid "Export all books into a single directory"
msgstr "Eksportuj wszystkie książki do pojedynczego katalogu" msgstr "Eksportuj wszystkie książki do pojedynczego katalogu"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:555 #: /home/kovid/work/calibre/src/calibre/library/cli.py:556
msgid "Specifying this switch will turn this behavior off." msgid "Specifying this switch will turn this behavior off."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:578 #: /home/kovid/work/calibre/src/calibre/library/cli.py:579
msgid "You must specify some ids or the %s option" msgid "You must specify some ids or the %s option"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:590 #: /home/kovid/work/calibre/src/calibre/library/cli.py:591
msgid "" msgid ""
"%%prog command [options] [arguments]\n" "%%prog command [options] [arguments]\n"
"\n" "\n"

File diff suppressed because it is too large Load Diff

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-10-31 09:00+0000\n" "POT-Creation-Date: 2009-11-06 21:27+0000\n"
"PO-Revision-Date: 2009-11-01 17:12+0000\n" "PO-Revision-Date: 2009-11-06 19:12+0000\n"
"Last-Translator: Thruth Wang <wanglihao@gmail.com>\n" "Last-Translator: Thruth Wang <wanglihao@gmail.com>\n"
"Language-Team: Simplified Chinese <zh_CN@li.org>\n" "Language-Team: Simplified Chinese <zh_CN@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-11-02 08:23+0000\n" "X-Launchpad-Export-Date: 2009-11-07 04:38+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
@ -45,10 +45,10 @@ msgstr "不做任何处理"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:45 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:46
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:61 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:62
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:64
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:103 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:104
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:105 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:171 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:171
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:329 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:329
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:444 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:444
@ -118,7 +118,7 @@ msgstr "不做任何处理"
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:876 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:876
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1002 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:1002
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:211 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:211
#: /home/kovid/work/calibre/src/calibre/library/cli.py:280 #: /home/kovid/work/calibre/src/calibre/library/cli.py:281
#: /home/kovid/work/calibre/src/calibre/library/database.py:913 #: /home/kovid/work/calibre/src/calibre/library/database.py:913
#: /home/kovid/work/calibre/src/calibre/library/database2.py:702 #: /home/kovid/work/calibre/src/calibre/library/database2.py:702
#: /home/kovid/work/calibre/src/calibre/library/database2.py:714 #: /home/kovid/work/calibre/src/calibre/library/database2.py:714
@ -259,7 +259,6 @@ msgid "This profile is intended for the Mobipocket books."
msgstr "该配置文件适用 Mobipocket 书籍。" msgstr "该配置文件适用 Mobipocket 书籍。"
#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:93 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:93
#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:253
msgid "This profile is intended for the Hanlin V3 and its clones." msgid "This profile is intended for the Hanlin V3 and its clones."
msgstr "该配置文件适用翰林 V3 和类似设备。" msgstr "该配置文件适用翰林 V3 和类似设备。"
@ -309,6 +308,10 @@ msgid ""
"landscape mode. Mainly useful for comics." "landscape mode. Mainly useful for comics."
msgstr "该配置文件适用 SONY PRS 产品线,如 500/505/700 型号等,使用横向页面,主要适用于漫画。" msgstr "该配置文件适用 SONY PRS 产品线,如 500/505/700 型号等,使用横向页面,主要适用于漫画。"
#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:253
msgid "This profile is intended for the Hanlin V3/V5 and its clones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:306 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:306
msgid "This profile is intended for the Amazon Kindle DX." msgid "This profile is intended for the Amazon Kindle DX."
msgstr "该配置文件适用 Amazon Kindle DX。" msgstr "该配置文件适用 Amazon Kindle DX。"
@ -394,6 +397,7 @@ 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/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/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"
@ -449,6 +453,10 @@ msgstr "设备界面"
msgid "Communicate with the IRex Digital Reader 1000 eBook reader." msgid "Communicate with the IRex Digital Reader 1000 eBook reader."
msgstr "与 IRex Digital Reader 1000 eBook reader 通信。" msgstr "与 IRex Digital Reader 1000 eBook reader 通信。"
#: /home/kovid/work/calibre/src/calibre/devices/iriver/driver.py:15
msgid "Communicate with the Iriver Story reader."
msgstr ""
#: /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 "与 JetBook eBook reader 通信。" msgstr "与 JetBook eBook reader 通信。"
@ -1153,9 +1161,9 @@ msgid ""
"disables the generation of this cover." "disables the generation of this cover."
msgstr "正常情况下,如果输入文件没有封面,您也未指定,会生成一个默认封面带有标题、作者等信息。选定此选项可以禁用生成默认封面。" msgstr "正常情况下,如果输入文件没有封面,您也未指定,会生成一个默认封面带有标题、作者等信息。选定此选项可以禁用生成默认封面。"
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:123 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:126
#: /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:98 #: /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
msgid "Table of Contents:" msgid "Table of Contents:"
msgstr "目录:" msgstr "目录:"
@ -2336,7 +2344,7 @@ msgstr "复制"
msgid "Copy to Clipboard" msgid "Copy to Clipboard"
msgstr "复制到剪贴板" msgstr "复制到剪贴板"
#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:386 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:387
msgid "Choose Files" msgid "Choose Files"
msgstr "选择文件" msgstr "选择文件"
@ -3061,7 +3069,7 @@ msgid "RB Output"
msgstr "RB 输出" msgstr "RB 输出"
#: /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/main.py:1386 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398
msgid "Choose the format to view" msgid "Choose the format to view"
msgstr "选择格式进行查看" msgstr "选择格式进行查看"
@ -3688,7 +3696,7 @@ msgstr "新邮件地址"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:467
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:797 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:797
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:152
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1060 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1072
#: /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 "错误"
@ -3764,7 +3772,7 @@ msgid "Failed to start content server"
msgstr "无法启动内容服务器" msgstr "无法启动内容服务器"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:678 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:678
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:503 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:508
msgid "Select location for books" msgid "Select location for books"
msgstr "选择书籍位置" msgstr "选择书籍位置"
@ -4356,7 +4364,7 @@ msgid "Choose formats for "
msgstr "选择格式 " msgstr "选择格式 "
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:134 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:134
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:912
msgid "Books" msgid "Books"
msgstr "书籍" msgstr "书籍"
@ -5333,7 +5341,7 @@ msgid "Save to disk in a single directory"
msgstr "保存到磁盘单个目录" msgstr "保存到磁盘单个目录"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:297 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:297
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1488 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1500
msgid "Save only %s format to disk" msgid "Save only %s format to disk"
msgstr "仅保存 %s 到磁盘" msgstr "仅保存 %s 到磁盘"
@ -5368,12 +5376,12 @@ msgid "Bad database location"
msgstr "错误数据库位置" msgstr "错误数据库位置"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:445 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:445
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:511 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:516
msgid "Calibre Library" msgid "Calibre Library"
msgstr "Calibre 书库" msgstr "Calibre 书库"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:455 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:455
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1631 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1643
msgid "Choose a location for your ebook library." msgid "Choose a location for your ebook library."
msgstr "为您的电子书库选择一个位置。" msgstr "为您的电子书库选择一个位置。"
@ -5381,23 +5389,23 @@ msgstr "为您的电子书库选择一个位置。"
msgid "Browse by covers" msgid "Browse by covers"
msgstr "用封面浏览" msgstr "用封面浏览"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:754 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:764
msgid "Device: " msgid "Device: "
msgstr "设备: " msgstr "设备: "
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:756 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:766
msgid " detected." msgid " detected."
msgstr " 被检测到。" msgstr " 被检测到。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:778 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:789
msgid "Connected " msgid "Connected "
msgstr "已连接 " msgstr "已连接 "
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:790 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:801
msgid "Device database corrupted" msgid "Device database corrupted"
msgstr "设备数据库损坏" msgstr "设备数据库损坏"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:791 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:802
msgid "" msgid ""
"\n" "\n"
" <p>The database of books on the reader is corrupted. Try the " " <p>The database of books on the reader is corrupted. Try the "
@ -5422,166 +5430,166 @@ msgstr ""
" </ol>\n" " </ol>\n"
" " " "
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:904
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:935 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:947
msgid "Uploading books to device." msgid "Uploading books to device."
msgstr "正在上传书籍到设备。" msgstr "正在上传书籍到设备。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:901 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:913
msgid "EPUB Books" msgid "EPUB Books"
msgstr "EPUB 书籍" msgstr "EPUB 书籍"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:902 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:914
msgid "LRF Books" msgid "LRF Books"
msgstr "LRF 书籍" msgstr "LRF 书籍"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:915
msgid "HTML Books" msgid "HTML Books"
msgstr "HTML 书籍" msgstr "HTML 书籍"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:916
msgid "LIT Books" msgid "LIT Books"
msgstr "LIT 书籍" msgstr "LIT 书籍"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:905 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:917
msgid "MOBI Books" msgid "MOBI Books"
msgstr "MOBI 书籍" msgstr "MOBI 书籍"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:906 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:918
msgid "Text books" msgid "Text books"
msgstr "文本书籍" msgstr "文本书籍"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:907 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:919
msgid "PDF Books" msgid "PDF Books"
msgstr "PDF 书籍" msgstr "PDF 书籍"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:908 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:920
msgid "Comics" msgid "Comics"
msgstr "漫画" msgstr "漫画"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:921
msgid "Archives" msgid "Archives"
msgstr "归档" msgstr "归档"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:944 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:956
msgid "Failed to read metadata" msgid "Failed to read metadata"
msgstr "无法读取元数据" msgstr "无法读取元数据"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:945 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:957
msgid "Failed to read metadata from the following" msgid "Failed to read metadata from the following"
msgstr "无法从下列项目读取元数据" msgstr "无法从下列项目读取元数据"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:964 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:976
msgid "" msgid ""
"The selected books will be <b>permanently deleted</b> and the files removed " "The selected books will be <b>permanently deleted</b> and the files removed "
"from your computer. Are you sure?" "from your computer. Are you sure?"
msgstr "选定书籍将被<b>永久删除</b>,文件会从您的电脑中移除。是否确定?" msgstr "选定书籍将被<b>永久删除</b>,文件会从您的电脑中移除。是否确定?"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:991 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1003
msgid "Deleting books from device." msgid "Deleting books from device."
msgstr "从设备删除书籍。" msgstr "从设备删除书籍。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1022 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1034
msgid "Cannot download metadata" msgid "Cannot download metadata"
msgstr "无法下载元数据" msgstr "无法下载元数据"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1023 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1035
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1071 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1104 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1116
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1141
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1241 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1253
msgid "No books selected" msgid "No books selected"
msgstr "未选择书籍" msgstr "未选择书籍"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1032 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1044
msgid "covers" msgid "covers"
msgstr "封面" msgstr "封面"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1032 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1044
msgid "metadata" msgid "metadata"
msgstr "元数据" msgstr "元数据"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1034 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1046
msgid "Downloading %s for %d book(s)" msgid "Downloading %s for %d book(s)"
msgstr "正在为 %d 本书下载 %s" msgstr "正在为 %d 本书下载 %s"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1055 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1067
msgid "Failed to download some metadata" msgid "Failed to download some metadata"
msgstr "下载一些元数据失败" msgstr "下载一些元数据失败"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1056 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1068
msgid "Failed to download metadata for the following:" msgid "Failed to download metadata for the following:"
msgstr "下载下列书籍元数据失败:" msgstr "下载下列书籍元数据失败:"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1059 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1071
msgid "Failed to download metadata:" msgid "Failed to download metadata:"
msgstr "下载元数据失败。" msgstr "下载元数据失败。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1070 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1082
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1103 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1115
msgid "Cannot edit metadata" msgid "Cannot edit metadata"
msgstr "无法编辑元数据" msgstr "无法编辑元数据"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1128 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1140
msgid "Cannot save to disk" msgid "Cannot save to disk"
msgstr "无法保存到磁盘" msgstr "无法保存到磁盘"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1131 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1143
msgid "Choose destination directory" msgid "Choose destination directory"
msgstr "选择目标目录" msgstr "选择目标目录"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1158 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1170
msgid "Error while saving" msgid "Error while saving"
msgstr "保存出错" msgstr "保存出错"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1159 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1171
msgid "There was an error while saving." msgid "There was an error while saving."
msgstr "保存时出错。" msgstr "保存时出错。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1178
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1167 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1179
msgid "Could not save some books" msgid "Could not save some books"
msgstr "无法保存一些书籍" msgstr "无法保存一些书籍"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1180
msgid "Click the show details button to see which ones." msgid "Click the show details button to see which ones."
msgstr "点击显示详情按钮查看具体哪些。" msgstr "点击显示详情按钮查看具体哪些。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1187 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199
msgid "Fetching news from " msgid "Fetching news from "
msgstr "正在抓取新闻,来源于 " msgstr "正在抓取新闻,来源于 "
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212
msgid " fetched." msgid " fetched."
msgstr " 已抓取。" msgstr " 已抓取。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1240 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1252
msgid "Cannot convert" msgid "Cannot convert"
msgstr "无法转换" msgstr "无法转换"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1269 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1281
msgid "Starting conversion of %d book(s)" msgid "Starting conversion of %d book(s)"
msgstr "开始转换 %d 本书" msgstr "开始转换 %d 本书"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1380 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1392
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1399 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1411
msgid "No book selected" msgid "No book selected"
msgstr "未选择书籍" msgstr "未选择书籍"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1380 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1392
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1430 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1442
msgid "Cannot view" msgid "Cannot view"
msgstr "无法查看" msgstr "无法查看"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1410
msgid "Cannot open folder" msgid "Cannot open folder"
msgstr "无法打开文件夹" msgstr "无法打开文件夹"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1415 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1427
msgid "Multiple Books Selected" msgid "Multiple Books Selected"
msgstr "选定多本书籍" msgstr "选定多本书籍"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1416 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1428
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 "
@ -5589,70 +5597,70 @@ msgid ""
"continue?" "continue?"
msgstr "您正在试图打开 %d 本书籍。同时打开太多书籍可能会变慢,并对电脑响应速度有消极影响。一旦开始,需等待进程完成。是否继续?" msgstr "您正在试图打开 %d 本书籍。同时打开太多书籍可能会变慢,并对电脑响应速度有消极影响。一旦开始,需等待进程完成。是否继续?"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1443
msgid "%s has no available formats." msgid "%s has no available formats."
msgstr "%s 无可用格式。" msgstr "%s 无可用格式。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484
msgid "Cannot configure" msgid "Cannot configure"
msgstr "无法配置" msgstr "无法配置"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1473 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1485
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/main.py:1516 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1528
msgid "No detailed info available" msgid "No detailed info available"
msgstr "无可用详细信息" msgstr "无可用详细信息"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1517 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1529
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/main.py:1569 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1581
msgid "Error talking to device" msgid "Error talking to device"
msgstr "设备通讯错误。" msgstr "设备通讯错误。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1570 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1582
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/main.py:1593 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1605
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1611 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1623
msgid "Conversion Error" msgid "Conversion Error"
msgstr "转换错误" msgstr "转换错误"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1594 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1606
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 "<p>无法转换:%s<p> 它是 <a href=\"%s\">DRM</a> 保护书籍。您需要首先使用第三方工具去除 DRM。" msgstr "<p>无法转换:%s<p> 它是 <a href=\"%s\">DRM</a> 保护书籍。您需要首先使用第三方工具去除 DRM。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1612 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1624
msgid "<b>Failed</b>" msgid "<b>Failed</b>"
msgstr "<b>失败</b>" msgstr "<b>失败</b>"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1640 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1652
msgid "Invalid library location" msgid "Invalid library location"
msgstr "无效书库位置" msgstr "无效书库位置"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1641 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1653
msgid "Could not access %s. Using %s as the library." msgid "Could not access %s. Using %s as the library."
msgstr "无法访问 %s。使用 %s 作为书库。" msgstr "无法访问 %s。使用 %s 作为书库。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1689 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1701
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/main.py:1713 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1725
msgid "There are active jobs. Are you sure you want to quit?" msgid "There are active jobs. Are you sure you want to quit?"
msgstr "仍有任务运行。您是否希望退出?" msgstr "仍有任务运行。您是否希望退出?"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1716 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1728
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"
@ -5662,28 +5670,28 @@ msgstr ""
" 退出可能导致设备损坏。<br>\n" " 退出可能导致设备损坏。<br>\n"
" 确定退出么?" " 确定退出么?"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1720 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1732
msgid "WARNING: Active jobs" msgid "WARNING: Active jobs"
msgstr "警告:正在运行任务" msgstr "警告:正在运行任务"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1771 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1783
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 "将在系统栏中继续运行。要关闭,在系统栏菜单中选择<b>退出</b>。" msgstr "将在系统栏中继续运行。要关闭,在系统栏菜单中选择<b>退出</b>。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1790 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1802
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 ""
"<span style=\"color:red; font-weight:bold\">最新版本:<a href=\"%s\">%s</a></span>" "<span style=\"color:red; font-weight:bold\">最新版本:<a href=\"%s\">%s</a></span>"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1798 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1810
msgid "Update available" msgid "Update available"
msgstr "有可用更新" msgstr "有可用更新"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1799 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1811
msgid "" msgid ""
"%s has been updated to version %s. See the <a " "%s has been updated to version %s. See the <a "
"href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. "
@ -5692,52 +5700,52 @@ msgstr ""
"%s 已更新到版本 %s。参见<a " "%s 已更新到版本 %s。参见<a "
"href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">新功能</a>。访问下载页么?" "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">新功能</a>。访问下载页么?"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1817 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1829
msgid "Use the library located at the specified path." msgid "Use the library located at the specified path."
msgstr "使用指定路径的书库。" msgstr "使用指定路径的书库。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1819 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1831
msgid "Start minimized to system tray." msgid "Start minimized to system tray."
msgstr "最小化到系统栏。" msgstr "最小化到系统栏。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1821 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1833
msgid "Log debugging information to console" msgid "Log debugging information to console"
msgstr "在控制台记录调试信息" msgstr "在控制台记录调试信息"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1823 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1835
msgid "Do not check for updates" msgid "Do not check for updates"
msgstr "不检测更新" msgstr "不检测更新"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1871 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1883
msgid "If you are sure it is not running" msgid "If you are sure it is not running"
msgstr "如果您确定它没有运行" msgstr "如果您确定它没有运行"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1873 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1885
msgid "Cannot Start " msgid "Cannot Start "
msgstr "无法开始 " msgstr "无法开始 "
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1874 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1886
msgid "%s is already running." msgid "%s is already running."
msgstr "%s 正在运行。" msgstr "%s 正在运行。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1877 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1889
msgid "may be running in the system tray, in the" msgid "may be running in the system tray, in the"
msgstr "可能在系统栏中运行,在" msgstr "可能在系统栏中运行,在"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1879 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1891
msgid "upper right region of the screen." msgid "upper right region of the screen."
msgstr "屏幕右上区域。" msgstr "屏幕右上区域。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1881 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1893
msgid "lower right region of the screen." msgid "lower right region of the screen."
msgstr "屏幕右下区域。" msgstr "屏幕右下区域。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1884 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1896
msgid "try rebooting your computer." msgid "try rebooting your computer."
msgstr "尝试重启电脑。" msgstr "尝试重启电脑。"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1886
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1898 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1898
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1910
msgid "try deleting the file" msgid "try deleting the file"
msgstr "尝试删除文件" msgstr "尝试删除文件"
@ -6100,59 +6108,59 @@ msgstr "默认断词分行语言(&L)"
msgid "&User stylesheet" msgid "&User stylesheet"
msgstr "用户样式表(&U)" msgstr "用户样式表(&U)"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:30 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:31
msgid "Options to customize the ebook viewer" msgid "Options to customize the ebook viewer"
msgstr "定制电子书查看器的选项" msgstr "定制电子书查看器的选项"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:37 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:38
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:650 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:650
msgid "Remember last used window size" msgid "Remember last used window size"
msgstr "记住上次使用窗口大小" msgstr "记住上次使用窗口大小"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:40
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:89
msgid "" msgid ""
"Set the user CSS stylesheet. This can be used to customize the look of all " "Set the user CSS stylesheet. This can be used to customize the look of all "
"books." "books."
msgstr "设定用户 CSS 样式表。它将可以定制所有书籍外观。" msgstr "设定用户 CSS 样式表。它将可以定制所有书籍外观。"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42
msgid "Maximum width of the viewer window, in pixels." msgid "Maximum width of the viewer window, in pixels."
msgstr "查看器最大窗口宽度像素数。" msgstr "查看器最大窗口宽度像素数。"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:43
msgid "Hyphenate text" msgid "Hyphenate text"
msgstr "断词分行文本" msgstr "断词分行文本"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:44 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:45
msgid "Default language for hyphenation rules" msgid "Default language for hyphenation rules"
msgstr "默认使用断词分行规则的语言" msgstr "默认使用断词分行规则的语言"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:47
msgid "Font options" msgid "Font options"
msgstr "字体选项" msgstr "字体选项"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:49
msgid "The serif font family" msgid "The serif font family"
msgstr "衬线字体" msgstr "衬线字体"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:51
msgid "The sans-serif font family" msgid "The sans-serif font family"
msgstr "Sans-serif 字体" msgstr "Sans-serif 字体"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:53
msgid "The monospaced font family" msgid "The monospaced font family"
msgstr "等宽字体" msgstr "等宽字体"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:53 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:54
msgid "The standard font size in px" msgid "The standard font size in px"
msgstr "标准字体大小 px 值" msgstr "标准字体大小 px 值"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:54 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:55
msgid "The monospaced font size in px" msgid "The monospaced font size in px"
msgstr "等宽字体大小 px 值" msgstr "等宽字体大小 px 值"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:56
msgid "The standard font type" msgid "The standard font type"
msgstr "标准字体类型" msgstr "标准字体类型"
@ -6425,7 +6433,7 @@ msgstr "<p>在 %s 已有无效书库,在试图移动现有书库前删除它
msgid "Could not move library" msgid "Could not move library"
msgstr "无法移动书库" msgstr "无法移动书库"
#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:574 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:583
msgid "welcome wizard" msgid "welcome wizard"
msgstr "欢迎向导" msgstr "欢迎向导"
@ -6694,13 +6702,13 @@ msgid ""
"WordPlayer, etc. integration." "WordPlayer, etc. integration."
msgstr "每次 OPDS 请求所返回的匹配数。此设置影响 Stanza、WordPlayer 等程序整合。" msgstr "每次 OPDS 请求所返回的匹配数。此设置影响 Stanza、WordPlayer 等程序整合。"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:120 #: /home/kovid/work/calibre/src/calibre/library/cli.py:121
msgid "" msgid ""
"Path to the calibre library. Default is to use the path stored in the " "Path to the calibre library. Default is to use the path stored in the "
"settings." "settings."
msgstr "Calibre 书库路径。默认为使用设定中存储的路径。" msgstr "Calibre 书库路径。默认为使用设定中存储的路径。"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:199 #: /home/kovid/work/calibre/src/calibre/library/cli.py:200
msgid "" msgid ""
"%prog list [options]\n" "%prog list [options]\n"
"\n" "\n"
@ -6710,7 +6718,7 @@ msgstr ""
"\n" "\n"
"列出 Calibre 数据库中可用书籍。\n" "列出 Calibre 数据库中可用书籍。\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:207 #: /home/kovid/work/calibre/src/calibre/library/cli.py:208
msgid "" msgid ""
"The fields to display when listing books in the database. Should be a comma " "The fields to display when listing books in the database. Should be a comma "
"separated list of fields.\n" "separated list of fields.\n"
@ -6722,7 +6730,7 @@ msgstr ""
"可用域:%s\n" "可用域:%s\n"
"默认:%%default。特殊域 \"all\" 可以用来选择所有域。仅对文本输出格式有效。" "默认:%%default。特殊域 \"all\" 可以用来选择所有域。仅对文本输出格式有效。"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:209 #: /home/kovid/work/calibre/src/calibre/library/cli.py:210
msgid "" msgid ""
"The field by which to sort the results.\n" "The field by which to sort the results.\n"
"Available fields: %s\n" "Available fields: %s\n"
@ -6732,54 +6740,54 @@ msgstr ""
"可用域:%s\n" "可用域:%s\n"
"默认:%%default" "默认:%%default"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:211 #: /home/kovid/work/calibre/src/calibre/library/cli.py:212
msgid "Sort results in ascending order" msgid "Sort results in ascending order"
msgstr "升序排列结果" msgstr "升序排列结果"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:213 #: /home/kovid/work/calibre/src/calibre/library/cli.py:214
msgid "" msgid ""
"Filter the results by the search query. For the format of the search query, " "Filter the results by the search query. For the format of the search query, "
"please see the search related documentation in the User Manual. Default is " "please see the search related documentation in the User Manual. Default is "
"to do no filtering." "to do no filtering."
msgstr "通过搜索请求过滤结果。对于每个搜索请求的格式,请参见用户手册中搜索相关的文档。默认为不做过滤。" msgstr "通过搜索请求过滤结果。对于每个搜索请求的格式,请参见用户手册中搜索相关的文档。默认为不做过滤。"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:215 #: /home/kovid/work/calibre/src/calibre/library/cli.py:216
msgid "" msgid ""
"The maximum width of a single line in the output. Defaults to detecting " "The maximum width of a single line in the output. Defaults to detecting "
"screen size." "screen size."
msgstr "输出中单行宽度最大值。默认检测屏幕大小。" msgstr "输出中单行宽度最大值。默认检测屏幕大小。"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:216 #: /home/kovid/work/calibre/src/calibre/library/cli.py:217
msgid "The string used to separate fields. Default is a space." msgid "The string used to separate fields. Default is a space."
msgstr "分隔各个域的字符串。默认是空格。" msgstr "分隔各个域的字符串。默认是空格。"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:217 #: /home/kovid/work/calibre/src/calibre/library/cli.py:218
msgid "" msgid ""
"The prefix for all file paths. Default is the absolute path to the library " "The prefix for all file paths. Default is the absolute path to the library "
"folder." "folder."
msgstr "所有文件路径前缀。默认为书库目录绝对路径。" msgstr "所有文件路径前缀。默认为书库目录绝对路径。"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:220 #: /home/kovid/work/calibre/src/calibre/library/cli.py:221
msgid "" msgid ""
"The format in which to output the data. Available choices: %s. Defaults is " "The format in which to output the data. Available choices: %s. Defaults is "
"text." "text."
msgstr "输出数据格式。可用选择:%s。默认纯文本。" msgstr "输出数据格式。可用选择:%s。默认纯文本。"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:233 #: /home/kovid/work/calibre/src/calibre/library/cli.py:234
msgid "Invalid fields. Available fields:" msgid "Invalid fields. Available fields:"
msgstr "无效域。可用域:" msgstr "无效域。可用域:"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:240 #: /home/kovid/work/calibre/src/calibre/library/cli.py:241
msgid "Invalid sort field. Available fields:" msgid "Invalid sort field. Available fields:"
msgstr "排列域无效。可用域:" msgstr "排列域无效。可用域:"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:311 #: /home/kovid/work/calibre/src/calibre/library/cli.py:312
msgid "" msgid ""
"The following books were not added as they already exist in the database " "The following books were not added as they already exist in the database "
"(see --duplicates option):" "(see --duplicates option):"
msgstr "下列书籍已经存在于数据库,未被田间(参见 --duplicates 选项):" msgstr "下列书籍已经存在于数据库,未被田间(参见 --duplicates 选项):"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:334 #: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid "" msgid ""
"%prog add [options] file1 file2 file3 ...\n" "%prog add [options] file1 file2 file3 ...\n"
"\n" "\n"
@ -6791,27 +6799,27 @@ msgstr ""
"\n" "\n"
"添加指定文件为书籍到数据库。您可以指定目录,参见目录相关选项。\n" "添加指定文件为书籍到数据库。您可以指定目录,参见目录相关选项。\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:343 #: /home/kovid/work/calibre/src/calibre/library/cli.py:344
msgid "" msgid ""
"Assume that each directory has only a single logical book and that all files " "Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book" "in it are different e-book formats of that book"
msgstr "假设每个目录只有一本逻辑书籍,而所有文件均是该书的不同格式电子书" msgstr "假设每个目录只有一本逻辑书籍,而所有文件均是该书的不同格式电子书"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:345 #: /home/kovid/work/calibre/src/calibre/library/cli.py:346
msgid "Process directories recursively" msgid "Process directories recursively"
msgstr "递归处理目录" msgstr "递归处理目录"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:347 #: /home/kovid/work/calibre/src/calibre/library/cli.py:348
msgid "" msgid ""
"Add books to database even if they already exist. Comparison is done based " "Add books to database even if they already exist. Comparison is done based "
"on book titles." "on book titles."
msgstr "即使书籍已经存在于数据库仍然添加。通过书籍标题进行区分。" msgstr "即使书籍已经存在于数据库仍然添加。通过书籍标题进行区分。"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:357 #: /home/kovid/work/calibre/src/calibre/library/cli.py:358
msgid "You must specify at least one file to add" msgid "You must specify at least one file to add"
msgstr "您必须指定至少一个文件进行添加" msgstr "您必须指定至少一个文件进行添加"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:373 #: /home/kovid/work/calibre/src/calibre/library/cli.py:374
msgid "" msgid ""
"%prog remove ids\n" "%prog remove ids\n"
"\n" "\n"
@ -6825,11 +6833,11 @@ msgstr ""
"should be a comma separated list of id numbers (you can get id numbers by " "should be a comma separated list of id numbers (you can get id numbers by "
"using the list command). For example, 23,34,57-85\n" "using the list command). For example, 23,34,57-85\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:388 #: /home/kovid/work/calibre/src/calibre/library/cli.py:389
msgid "You must specify at least one book to remove" msgid "You must specify at least one book to remove"
msgstr "必须指定至少一本电子书移除" msgstr "必须指定至少一本电子书移除"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:407 #: /home/kovid/work/calibre/src/calibre/library/cli.py:408
msgid "" msgid ""
"%prog add_format [options] id ebook_file\n" "%prog add_format [options] id ebook_file\n"
"\n" "\n"
@ -6841,15 +6849,15 @@ msgstr ""
"\n" "\n"
"将 ebook_file 中电子书添加到可用格式,用于通过 id 识别的逻辑书。您可以使用 list 命令得到 id。如果格式已经存在将被替换。\n" "将 ebook_file 中电子书添加到可用格式,用于通过 id 识别的逻辑书。您可以使用 list 命令得到 id。如果格式已经存在将被替换。\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:422 #: /home/kovid/work/calibre/src/calibre/library/cli.py:423
msgid "You must specify an id and an ebook file" msgid "You must specify an id and an ebook file"
msgstr "您必须指定一个 id 和电子书文件" msgstr "您必须指定一个 id 和电子书文件"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:427 #: /home/kovid/work/calibre/src/calibre/library/cli.py:428
msgid "ebook file must have an extension" msgid "ebook file must have an extension"
msgstr "电子书文件必须有扩展名" msgstr "电子书文件必须有扩展名"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:435 #: /home/kovid/work/calibre/src/calibre/library/cli.py:436
msgid "" msgid ""
"\n" "\n"
"%prog remove_format [options] id fmt\n" "%prog remove_format [options] id fmt\n"
@ -6866,11 +6874,11 @@ msgstr ""
"be a file extension like LRF or TXT or EPUB. If the logical book does not " "be a file extension like LRF or TXT or EPUB. If the logical book does not "
"have fmt available, do nothing.\n" "have fmt available, do nothing.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:452 #: /home/kovid/work/calibre/src/calibre/library/cli.py:453
msgid "You must specify an id and a format" msgid "You must specify an id and a format"
msgstr "你必须指定一个 id 和格式" msgstr "你必须指定一个 id 和格式"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:470 #: /home/kovid/work/calibre/src/calibre/library/cli.py:471
msgid "" msgid ""
"\n" "\n"
"%prog show_metadata [options] id\n" "%prog show_metadata [options] id\n"
@ -6885,15 +6893,15 @@ msgstr ""
"显示 Calibre 中通过 id 识别书籍数据库中存储的元数据。\n" "显示 Calibre 中通过 id 识别书籍数据库中存储的元数据。\n"
"id 是来自 list 命令的 id 编号。\n" "id 是来自 list 命令的 id 编号。\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:478 #: /home/kovid/work/calibre/src/calibre/library/cli.py:479
msgid "Print metadata in OPF form (XML)" msgid "Print metadata in OPF form (XML)"
msgstr "以 OPF 表单(XML)打印元数据" msgstr "以 OPF 表单(XML)打印元数据"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:487 #: /home/kovid/work/calibre/src/calibre/library/cli.py:488
msgid "You must specify an id" msgid "You must specify an id"
msgstr "您必须指定一个 id" msgstr "您必须指定一个 id"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:500 #: /home/kovid/work/calibre/src/calibre/library/cli.py:501
msgid "" msgid ""
"\n" "\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n" "%prog set_metadata [options] id /path/to/metadata.opf\n"
@ -6912,11 +6920,11 @@ msgstr ""
"存储。id 为 list 命令返回 id 数字。您可以将 --as-opf 参数用于 show_metadata\n" "存储。id 为 list 命令返回 id 数字。您可以将 --as-opf 参数用于 show_metadata\n"
"命令,感受一下 OPF 格式。\n" "命令,感受一下 OPF 格式。\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:516 #: /home/kovid/work/calibre/src/calibre/library/cli.py:517
msgid "You must specify an id and a metadata file" msgid "You must specify an id and a metadata file"
msgstr "你必须指定一个 id 和元数据文件" msgstr "你必须指定一个 id 和元数据文件"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:536 #: /home/kovid/work/calibre/src/calibre/library/cli.py:537
msgid "" msgid ""
"%prog export [options] ids\n" "%prog export [options] ids\n"
"\n" "\n"
@ -6932,27 +6940,27 @@ msgstr ""
"导出操作保存所有格式书籍、封面和元数据(位于一个 opf 文\n" "导出操作保存所有格式书籍、封面和元数据(位于一个 opf 文\n"
"件)。您可以通过 list 命令得到文件 id。\n" "件)。您可以通过 list 命令得到文件 id。\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:544 #: /home/kovid/work/calibre/src/calibre/library/cli.py:545
msgid "Export all books in database, ignoring the list of ids." msgid "Export all books in database, ignoring the list of ids."
msgstr "导出所有数据库中的书,忽略 id 列表。" msgstr "导出所有数据库中的书,忽略 id 列表。"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:546 #: /home/kovid/work/calibre/src/calibre/library/cli.py:547
msgid "Export books to the specified directory. Default is" msgid "Export books to the specified directory. Default is"
msgstr "将书导出到指定目录。默认为" msgstr "将书导出到指定目录。默认为"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:548 #: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid "Export all books into a single directory" msgid "Export all books into a single directory"
msgstr "将所有书导出到单个目录" msgstr "将所有书导出到单个目录"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:555 #: /home/kovid/work/calibre/src/calibre/library/cli.py:556
msgid "Specifying this switch will turn this behavior off." msgid "Specifying this switch will turn this behavior off."
msgstr "选定此项将关闭此行为。" msgstr "选定此项将关闭此行为。"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:578 #: /home/kovid/work/calibre/src/calibre/library/cli.py:579
msgid "You must specify some ids or the %s option" msgid "You must specify some ids or the %s option"
msgstr "你必须指定一个 id 或 %s 选项" msgstr "你必须指定一个 id 或 %s 选项"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:590 #: /home/kovid/work/calibre/src/calibre/library/cli.py:591
msgid "" msgid ""
"%%prog command [options] [arguments]\n" "%%prog command [options] [arguments]\n"
"\n" "\n"

View File

@ -5,10 +5,11 @@ __copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
''' '''
Contains the logic for parsing feeds. Contains the logic for parsing feeds.
''' '''
import time, logging, traceback, copy, re import time, traceback, copy, re
from datetime import datetime from datetime import datetime
from calibre.web.feeds.feedparser import parse from calibre.web.feeds.feedparser import parse
from calibre.utils.logging import default_log
from calibre import entity_to_unicode from calibre import entity_to_unicode
from lxml import html from lxml import html
@ -87,11 +88,12 @@ Has content : %s
class Feed(object): class Feed(object):
def __init__(self, get_article_url=lambda item: item.get('link', None)): def __init__(self, get_article_url=lambda item: item.get('link', None),
log=default_log):
''' '''
Parse a feed into articles. Parse a feed into articles.
''' '''
self.logger = logging.getLogger('feeds2disk') self.logger = log
self.get_article_url = get_article_url self.get_article_url = get_article_url
def populate_from_feed(self, feed, title=None, oldest_article=7, def populate_from_feed(self, feed, title=None, oldest_article=7,
@ -288,15 +290,18 @@ class FeedCollection(list):
def feed_from_xml(raw_xml, title=None, oldest_article=7, def feed_from_xml(raw_xml, title=None, oldest_article=7,
max_articles_per_feed=100, get_article_url=lambda item: item.get('link', None)): max_articles_per_feed=100,
get_article_url=lambda item: item.get('link', None),
log=default_log):
feed = parse(raw_xml) feed = parse(raw_xml)
pfeed = Feed(get_article_url=get_article_url) pfeed = Feed(get_article_url=get_article_url, log=log)
pfeed.populate_from_feed(feed, title=title, pfeed.populate_from_feed(feed, title=title,
oldest_article=oldest_article, oldest_article=oldest_article,
max_articles_per_feed=max_articles_per_feed) max_articles_per_feed=max_articles_per_feed)
return pfeed return pfeed
def feeds_from_index(index, oldest_article=7, max_articles_per_feed=100): def feeds_from_index(index, oldest_article=7, max_articles_per_feed=100,
log=default_log):
''' '''
@param index: A parsed index as returned by L{BasicNewsRecipe.parse_index}. @param index: A parsed index as returned by L{BasicNewsRecipe.parse_index}.
@return: A list of L{Feed} objects. @return: A list of L{Feed} objects.
@ -304,7 +309,7 @@ def feeds_from_index(index, oldest_article=7, max_articles_per_feed=100):
''' '''
feeds = [] feeds = []
for title, articles in index: for title, articles in index:
pfeed = Feed() pfeed = Feed(log=log)
pfeed.populate_from_preparsed_feed(title, articles, oldest_article=oldest_article, pfeed.populate_from_preparsed_feed(title, articles, oldest_article=oldest_article,
max_articles_per_feed=max_articles_per_feed) max_articles_per_feed=max_articles_per_feed)
feeds.append(pfeed) feeds.append(pfeed)

View File

@ -704,7 +704,8 @@ class BasicNewsRecipe(Recipe):
self.report_progress(0, _('Fetching feeds...')) self.report_progress(0, _('Fetching feeds...'))
try: try:
feeds = feeds_from_index(self.parse_index(), oldest_article=self.oldest_article, feeds = feeds_from_index(self.parse_index(), oldest_article=self.oldest_article,
max_articles_per_feed=self.max_articles_per_feed) max_articles_per_feed=self.max_articles_per_feed,
log=self.log)
self.report_progress(0, _('Got feeds from index page')) self.report_progress(0, _('Got feeds from index page'))
except NotImplementedError: except NotImplementedError:
feeds = self.parse_feeds() feeds = self.parse_feeds()
@ -1028,6 +1029,7 @@ class BasicNewsRecipe(Recipe):
with closing(self.browser.open(url)) as f: with closing(self.browser.open(url)) as f:
parsed_feeds.append(feed_from_xml(f.read(), parsed_feeds.append(feed_from_xml(f.read(),
title=title, title=title,
log=self.log,
oldest_article=self.oldest_article, oldest_article=self.oldest_article,
max_articles_per_feed=self.max_articles_per_feed, max_articles_per_feed=self.max_articles_per_feed,
get_article_url=self.get_article_url)) get_article_url=self.get_article_url))

View File

@ -331,7 +331,11 @@ class RecipeModel(QAbstractItemModel, SearchQueryParser):
custom_tags) custom_tags)
def get_to_be_downloaded_recipes(self): def get_to_be_downloaded_recipes(self):
return 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]
for x in set(ans) - set(ans2):
self.un_schedule_recipe(x)
return ans2
def scheduled_urns(self): def scheduled_urns(self):
ans = [] ans = []