Sync to trunk.

This commit is contained in:
John Schember 2011-11-16 15:42:18 -05:00
commit 5d80fa5de8
156 changed files with 12066 additions and 9505 deletions

View File

@ -19,6 +19,65 @@
# new recipes:
# - title:
- version: 0.8.26
date: 2011-11-12
new features:
- title: "Tweak to control sorting of date type columns. You can choose to have them sorted only by displayed fields"
- title: "Driver for the Trekstor 3.0"
- title: "Performance improvements when evaluating templates, and in particular general program mode templates"
bug fixes:
- title: "ODT Input: When converting to EPUB improve handling of large images placed inside small frames, to prevent them from obscuring text."
tickets: [860272,884759]
- title: "EPUB Input: Automatically strip entries of type application/text from the spine. Apparently there are EPUB production tools out there that create them."
tickets: [884792]
- title: "Keep the startup splash screen visible until the GUI has fully completed initializing."
tickets: [885827]
- title: "ODT Input: Fix handling of span tags containing only whitespace."
tickets: [887311]
- title: "On windows when changing title or author via the main book list, handle the case of one of the books files being open in another program more gracefully."
tickets: [880585]
- title: "When adding a format to an existing book record, ensure that no changes are made to the database until after the file operations have succeeded."
- title: "Fix bug that prevented configuring which fields to download metadata for when adding books by ISBN"
tickets: [856076]
- title: "Fix Japanese characters not being crrectly displayed on index pages in news downloads for the SONY T1"
tickets: [888029]
- title: "Get Books: Fix booleans in search expressions not working in non-English calibre versions"
tickets: [887554]
- title: "Fix a bug in the support for hours/minutes/seconds in datetime format strings"
tickets: [887412]
- title: "Treat an author_sort value of 'Unknown' the same way as unknown authors are treated in template processing"
- title: "Detect SD card in Kobo Vox"
- title: "Amazon metadata download: Workaround for change in Amazon website causing some books to have incorrect ratings downloaded"
improved recipes:
- Metro NL
- The Independent
- Frankfurter Rundschau
- L'Espresso
- Il Giornale
- Berlingske.dk
- Suedeutsche Zeitung
new recipes:
- title: Techtarget
author: Julio Map
- version: 0.8.25
date: 2011-11-06

38
recipes/biamag.recipe Normal file
View File

@ -0,0 +1,38 @@
__license__ = 'GPL v3'
__copyright__ = '2010, Darko Miletic <darko.miletic at gmail.com>'
'''
bianet.com.tr
'''
from calibre.web.feeds.news import BasicNewsRecipe
class Radikal_tr(BasicNewsRecipe):
title = 'BiaMag'
__author__ = 'Osman Kaysan'
description = 'Independent News from Turkey'
publisher = 'BiaMag'
category = 'news, politics, Turkey'
oldest_article = 15
max_articles_per_feed = 120
masthead_url = 'http://bianet.org/images/biamag_logo.gif'
language = 'tr'
no_stylesheets = True
conversion_options = {
'comments' : description
,'tags' : category
,'language' : language
,'publisher' : publisher
,'linearize_tables': True
,'remove_paragraph_spacing': True,
}
remove_tags_before = dict(name='div', attrs={'class':'manset'})
remove_tags = [ dict(name='ul', attrs={'class':['altul']}), dict(name='div', attrs={'id':['habermenu']}), dict(name='div', attrs={'class':['mail']}), dict(name='div', attrs={'class':['from']})]
remove_tags_after = dict(name='div', attrs={'id':'habermenu'})
feeds = [(u'BiaMag', u'http://www.bianet.org/biamag.rss')]
def preprocess_html(self, soup):
return self.adeify_images(soup)

38
recipes/biamag_en.recipe Normal file
View File

@ -0,0 +1,38 @@
__license__ = 'GPL v3'
__copyright__ = '2010, Darko Miletic <darko.miletic at gmail.com>'
'''
bianet.com.tr
'''
from calibre.web.feeds.news import BasicNewsRecipe
class Radikal_tr(BasicNewsRecipe):
title = 'Bianet-English'
__author__ = 'Osman Kaysan'
description = 'Independent News Network from Turkey(English)'
publisher = 'Bianet'
category = 'news, politics, Turkey'
oldest_article = 7
max_articles_per_feed = 150
masthead_url = 'http://bianet.org/images/english_logo.gif'
language = 'en_TR'
no_stylesheets = True
conversion_options = {
'comments' : description
,'tags' : category
,'language' : language
,'publisher' : publisher
,'linearize_tables': True
,'remove_paragraph_spacing': True,
}
remove_tags_before = dict(name='div', attrs={'class':'manset'})
remove_tags = [ dict(name='ul', attrs={'class':['altul']}), dict(name='div', attrs={'id':['habermenu']}), dict(name='div', attrs={'class':['mail']}), dict(name='div', attrs={'class':['from']})]
remove_tags_after = dict(name='div', attrs={'id':'habermenu'})
feeds = [(u'Bianet-English', u'http://www.bianet.org/english.rss')]
def preprocess_html(self, soup):
return self.adeify_images(soup)

38
recipes/bianet.recipe Normal file
View File

@ -0,0 +1,38 @@
__license__ = 'GPL v3'
__copyright__ = '2010, Darko Miletic <darko.miletic at gmail.com>'
'''
bianet.com.tr
'''
from calibre.web.feeds.news import BasicNewsRecipe
class Radikal_tr(BasicNewsRecipe):
title = 'Bianet'
__author__ = 'Osman Kaysan'
description = 'Independent News from Turkey'
publisher = 'Bianet'
category = 'news, politics, Turkey'
oldest_article = 7
max_articles_per_feed = 120
masthead_url = 'http://bianet.org/images/bianet_logo.gif'
language = 'tr'
no_stylesheets = True
conversion_options = {
'comments' : description
,'tags' : category
,'language' : language
,'publisher' : publisher
,'linearize_tables': True
,'remove_paragraph_spacing': True,
}
remove_tags_before = dict(name='div', attrs={'class':'manset'})
remove_tags = [ dict(name='ul', attrs={'class':['altul']}), dict(name='div', attrs={'id':['habermenu']}), dict(name='div', attrs={'class':['mail']}), dict(name='div', attrs={'class':['from']})]
remove_tags_after = dict(name='div', attrs={'id':'habermenu'})
feeds = [(u'Bianet', u'http://bianet.org/bianet.rss')]
def preprocess_html(self, soup):
return self.adeify_images(soup)

View File

@ -0,0 +1,50 @@
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
from calibre.web.feeds.news import BasicNewsRecipe
class Birgun (BasicNewsRecipe):
title = u'Birgün Gazetesi'
__author__ = u'Osman Kaysan'
oldest_article = 7
max_articles_per_feed =150
use_embedded_content = False
description = 'Birgun gazatesi haberleri, kose yazarlari'
publisher = 'Birgün'
category = 'news,haberler,turkce,gazete,birgun'
language = 'tr'
no_stylesheets = True
publication_type = 'newspaper'
conversion_options = {
'comments' : description
,'tags' : category
,'language' : language
,'publisher' : publisher
,'linearize_tables': True
,'remove_paragraph_spacing': True,
}
cover_img_url = 'http://www.birgun.net/i/birgun.png'
masthead_url = 'http://www.birgun.net/i/birgun.png'
remove_attributes = ['width','height']
remove_tags_before = dict(name='h2', attrs={'class':'storyHeadline'})
#remove_tags_after = dict(name='div', attrs={'class':'toollinks'})
remove_tags_after = dict(name='tr', attrs={'valign':'top'})
remove_tags = [ dict(name='div', attrs={'id':'byLine'}), dict(name='div', attrs={'class':'toollinks'})
, dict(name='div', attrs={'class':'main-lead'}), dict(name='div', attrs={'class':'addthis_toolbox addthis_default_style'})
, dict(name='a', attrs={'class':'addthis_button'})]
remove_empty_feeds= True
feeds = [
( u'Güncel', u'http://www.birgun.net/actuels.xml')
,( u'Köşe Yazarları', u'http://www.birgun.net/writer.xml')
,( u'Politika', u'http://www.birgun.net/politics.xml')
,( u'Ekonomi', u'http://www.birgun.net/economic.xml')
,( u'Çalışma Yaşamı', u'http://www.birgun.net/workers.xml')
,( u'Dünya', u'http://www.birgun.net/worlds.xml')
,( u'Yaşam', u'http://www.birgun.net/lifes.xml')
]

View File

@ -4,16 +4,16 @@
__license__ = 'GPL v3'
__copyright__ = u'2011, Silviu Cotoar\u0103'
'''
catavencu.ro
academiacatavencu.info
'''
from calibre.web.feeds.news import BasicNewsRecipe
class Catavencu(BasicNewsRecipe):
class AcademiaCatavencu(BasicNewsRecipe):
title = u'Academia Ca\u0163avencu'
__author__ = u'Silviu Cotoar\u0103'
description = 'Tagma cum laude'
publisher = 'Catavencu'
publisher = u'Ca\u0163avencu'
oldest_article = 5
language = 'ro'
max_articles_per_feed = 100
@ -21,32 +21,31 @@ class Catavencu(BasicNewsRecipe):
use_embedded_content = False
category = 'Ziare'
encoding = 'utf-8'
cover_url = 'http://upload.wikimedia.org/wikipedia/en/1/1e/Academia_Catavencu.jpg'
cover_url = 'http://www.academiacatavencu.info/images/logo.png'
conversion_options = {
'comments' : description
,'tags' : category
,'language' : language
,'publisher' : publisher
,'publisher' : publisher
}
keep_only_tags = [
dict(name='ul', attrs={'class':'articles'})
dict(name='h1', attrs={'class':'art_title'}),
dict(name='div', attrs={'class':'art_text'})
]
remove_tags = [
dict(name='div', attrs={'class':['tools']})
, dict(name='div', attrs={'class':['share']})
, dict(name='div', attrs={'class':['category']})
, dict(name='div', attrs={'id':['comments']})
dict(name='div', attrs={'class':['desp_m']})
, dict(name='div', attrs={'id':['tags']})
]
remove_tags_after = [
dict(name='div', attrs={'id':'comments'})
dict(name='div', attrs={'class':['desp_m']})
]
feeds = [
(u'Feeds', u'http://catavencu.ro/feed/rss')
(u'Feeds', u'http://www.academiacatavencu.info/rss.xml')
]
def preprocess_html(self, soup):

View File

@ -27,7 +27,7 @@ class CGM(BasicNewsRecipe):
del item['style']
ad=soup.findAll('a')
for r in ad:
if 'http://www.hustla.pl' in r['href']:
if 'http://www.hustla.pl' in r['href'] or 'http://www.ebilet.pl' in r['href']:
r.extract()
gallery=soup.find('div', attrs={'class':'galleryFlash'})
if gallery:

View File

@ -46,7 +46,8 @@ class DziennikInternautowRecipe(BasicNewsRecipe):
dict(name = 'div', attrs = {'class' : 'poradniki_context'}),
dict(name = 'div', attrs = {'class' : 'uniBox'}),
dict(name = 'object', attrs = {}),
dict(name = 'h3', attrs = {})
dict(name = 'h3', attrs = {}),
dict(attrs={'class':'twitter-share-button'})
]
preprocess_regexps = [
@ -58,3 +59,8 @@ class DziennikInternautowRecipe(BasicNewsRecipe):
(r'\s*</', lambda match: '</'),
]
]
def skip_ad_pages(self, soup):
if 'Advertisement' in soup.title:
nexturl=soup.find('a')['href']
return self.index_to_soup(nexturl, raw=True)

View File

@ -55,12 +55,17 @@ class Economist(BasicNewsRecipe):
'''
def get_cover_url(self):
br = self.browser
br.open(self.INDEX)
issue = br.geturl().split('/')[4]
self.log('Fetching cover for issue: %s'%issue)
cover_url = "http://media.economist.com/sites/default/files/imagecache/print-cover-full/print-covers/%s_CNA400.jpg" %(issue.translate(None,'-'))
return cover_url
soup = self.index_to_soup('http://www.economist.com/printedition/covers')
div = soup.find('div', attrs={'class':lambda x: x and
'print-cover-links' in x})
a = div.find('a', href=True)
url = a.get('href')
if url.startswith('/'):
url = 'http://www.economist.com' + url
soup = self.index_to_soup(url)
div = soup.find('div', attrs={'class':'cover-content'})
img = div.find('img', src=True)
return img.get('src')
def parse_index(self):
return self.economist_parse_index()

View File

@ -39,13 +39,17 @@ class Economist(BasicNewsRecipe):
delay = 1
def get_cover_url(self):
br = self.browser
br.open(self.INDEX)
issue = br.geturl().split('/')[4]
self.log('Fetching cover for issue: %s'%issue)
cover_url = "http://media.economist.com/sites/default/files/imagecache/print-cover-full/print-covers/%s_CNA400.jpg" %(issue.translate(None,'-'))
return cover_url
soup = self.index_to_soup('http://www.economist.com/printedition/covers')
div = soup.find('div', attrs={'class':lambda x: x and
'print-cover-links' in x})
a = div.find('a', href=True)
url = a.get('href')
if url.startswith('/'):
url = 'http://www.economist.com' + url
soup = self.index_to_soup(url)
div = soup.find('div', attrs={'class':'cover-content'})
img = div.find('img', src=True)
return img.get('src')
def parse_index(self):
try:

View File

@ -5,12 +5,11 @@ __license__ = 'GPL v3'
__copyright__ = '04 December 2010, desUBIKado'
__author__ = 'desUBIKado'
__description__ = 'Daily newspaper from Aragon'
__version__ = 'v0.07'
__date__ = '06, February 2011'
__version__ = 'v0.08'
__date__ = '13, November 2011'
'''
elperiodicodearagon.com
'''
import re
from calibre.web.feeds.news import BasicNewsRecipe
@ -20,13 +19,13 @@ class elperiodicodearagon(BasicNewsRecipe):
description = u'Noticias desde Aragon'
publisher = u'elperiodicodearagon.com'
category = u'news, politics, Spain, Aragon'
oldest_article = 2
oldest_article = 1
delay = 0
max_articles_per_feed = 100
no_stylesheets = True
use_embedded_content = False
language = 'es'
encoding = 'utf8'
encoding = 'iso-8859-1'
remove_empty_feeds = True
remove_javascript = True
@ -39,61 +38,30 @@ class elperiodicodearagon(BasicNewsRecipe):
}
feeds = [
(u'Arag\xf3n', u'http://elperiodicodearagon.com/RSS/2.xml'),
(u'Internacional', u'http://elperiodicodearagon.com/RSS/4.xml'),
(u'Espa\xf1a', u'http://elperiodicodearagon.com/RSS/3.xml'),
(u'Econom\xeda', u'http://elperiodicodearagon.com/RSS/5.xml'),
(u'Deportes', u'http://elperiodicodearagon.com/RSS/7.xml'),
(u'Real Zaragoza', u'http://elperiodicodearagon.com/RSS/10.xml'),
(u'Opini\xf3n', u'http://elperiodicodearagon.com/RSS/103.xml'),
(u'Escenarios', u'http://elperiodicodearagon.com/RSS/105.xml'),
(u'Sociedad', u'http://elperiodicodearagon.com/RSS/104.xml'),
(u'Gente', u'http://elperiodicodearagon.com/RSS/330.xml')
(u'Portada', u'http://zetaestaticos.com/aragon/rss/portada_es.xml'),
(u'Arag\xf3n', u'http://zetaestaticos.com/aragon/rss/2_es.xml'),
(u'Internacional', u'http://zetaestaticos.com/aragon/rss/4_es.xml'),
(u'Espa\xf1a', u'http://zetaestaticos.com/aragon/rss/3_es.xml'),
(u'Econom\xeda', u'http://zetaestaticos.com/aragon/rss/5_es.xml'),
(u'Deportes', u'http://zetaestaticos.com/aragon/rss/7_es.xml'),
(u'Real Zaragoza', u'http://zetaestaticos.com/aragon/rss/10_es.xml'),
(u'CAI Zaragoza', u'http://zetaestaticos.com/aragon/rss/91_es.xml'),
(u'Monta\xf1ismo', u'http://zetaestaticos.com/aragon/rss/354_es.xml'),
(u'Opini\xf3n', u'http://zetaestaticos.com/aragon/rss/103_es.xml'),
(u'Tema del d\xeda', u'http://zetaestaticos.com/aragon/rss/102_es.xml'),
(u'Escenarios', u'http://zetaestaticos.com/aragon/rss/105_es.xml'),
(u'Sociedad', u'http://zetaestaticos.com/aragon/rss/104_es.xml'),
(u'Gente', u'http://zetaestaticos.com/aragon/rss/330_es.xml'),
(u'Espacio 3', u'http://zetaestaticos.com/aragon/rss/328_es.xml'),
(u'Fiestas del Pilar', u'http://zetaestaticos.com/aragon/rss/107_es.xml')
]
extra_css = '''
h3 {font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:30px;}
h2 {font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:18px;}
h4 {font-family:Arial,Helvetica,sans-serif; font-style:italic; font-weight:normal;font-size:20px;}
.columnaDeRecursosRelacionados {font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:14px;}
img{margin-bottom: 0.4em}
'''
remove_attributes = ['height','width']
keep_only_tags = [dict(name='div', attrs={'id':'contenidos'})]
keep_only_tags = [dict(name='div', attrs={'id':'Noticia'})]
# Quitar toda la morralla
remove_tags = [dict(name='ul', attrs={'class':'herramientasDeNoticia'}),
dict(name='span', attrs={'class':'MasInformacion '}),
dict(name='span', attrs={'class':'MasInformacion'}),
dict(name='div', attrs={'class':'Middle'}),
dict(name='div', attrs={'class':'MenuCabeceraRZaragoza'}),
dict(name='div', attrs={'id':'MenuCabeceraRZaragoza'}),
dict(name='div', attrs={'class':'MenuEquipo'}),
dict(name='div', attrs={'class':'TemasRelacionados'}),
dict(name='div', attrs={'class':'GaleriaEnNoticia'}),
dict(name='div', attrs={'class':'Recorte'}),
dict(name='div', attrs={'id':'NoticiasenRecursos'}),
dict(name='div', attrs={'id':'NoticiaEnPapel'}),
dict(name='p', attrs={'class':'RecorteEnNoticias'}),
dict(name='div', attrs={'id':'Comparte'}),
dict(name='div', attrs={'id':'CajaComparte'}),
dict(name='a', attrs={'class':'EscribirComentario'}),
dict(name='a', attrs={'class':'AvisoComentario'}),
dict(name='div', attrs={'class':'CajaAvisoComentario'}),
dict(name='div', attrs={'class':'navegaNoticias'}),
dict(name='div', attrs={'class':'Mensaje'}),
dict(name='div', attrs={'id':'PaginadorDiCom'}),
dict(name='div', attrs={'id':'CajaAccesoCuentaUsuario'}),
dict(name='div', attrs={'id':'CintilloComentario'}),
dict(name='div', attrs={'id':'EscribeComentario'}),
dict(name='div', attrs={'id':'FormularioComentario'}),
dict(name='div', attrs={'id':'FormularioNormas'})]
# Recuperamos la portada de papel (la imagen format=1 tiene mayor resolucion)
def get_cover_url(self):
@ -104,23 +72,7 @@ class elperiodicodearagon(BasicNewsRecipe):
return image['src'].rstrip('format=2') + 'format=1'
return None
# Para quitar espacios entre la noticia y los comentarios (lineas 1 y 2)
# El indice no apuntaba correctamente al empiece de la noticia (linea 3)
# Usamos la versión para móviles
preprocess_regexps = [
(re.compile(r'<p>&nbsp;</p>', re.DOTALL|re.IGNORECASE), lambda match: ''),
(re.compile(r'<p> </p>', re.DOTALL|re.IGNORECASE), lambda match: ''),
(re.compile(r'<p id="">', re.DOTALL|re.IGNORECASE), lambda match: '<p>')
]
# Para sustituir el video incrustado de YouTube por una imagen
def preprocess_html(self, soup):
for video_yt in soup.findAll('iframe',{'title':'YouTube video player'}):
if video_yt:
video_yt.name = 'img'
fuente = video_yt['src']
fuente2 = fuente.replace('http://www.youtube.com/embed/','http://img.youtube.com/vi/')
video_yt['src'] = fuente2 + '/0.jpg'
return soup
def print_version(self, url):
return url.replace('http://www.elperiodicodearagon.com/', 'http://www.elperiodicodearagon.com/m/')

View File

@ -8,31 +8,35 @@ class FSP(BasicNewsRecipe):
__author__ = 'fluzao'
description = u'Printed edition contents. UOL subscription required (Folha subscription currently not supported).' + \
u' [Conte\xfado completo da edi\xe7\xe3o impressa. Somente para assinantes UOL.]'
INDEX = 'http://www1.folha.uol.com.br/fsp/indices/'
#found this to be the easiest place to find the index page (13-Nov-2011).
# searching for the "Indice Geral" link
HOMEPAGE = 'http://www1.folha.uol.com.br/fsp/'
masthead_url = 'http://f.i.uol.com.br/fsp/furniture/images/lgo-fsp-430x50-ffffff.gif'
language = 'pt'
no_stylesheets = True
max_articles_per_feed = 40
remove_javascript = True
needs_subscription = True
remove_tags_before = dict(name='b')
remove_tags_before = dict(name='p')
remove_tags = [dict(name='td', attrs={'align':'center'})]
remove_attributes = ['height','width']
masthead_url = 'http://f.i.uol.com.br/fsp/furniture/images/lgo-fsp-430x50-ffffff.gif'
# fixes the problem with the section names
section_dict = {'cotidian' : 'cotidiano', 'ilustrad': 'ilustrada', \
'quadrin': 'quadrinhos' , 'opiniao' : u'opini\xE3o', \
'ciencia' : u'ci\xeancia' , 'saude' : u'sa\xfade', \
'ribeirao' : u'ribeir\xE3o' , 'equilibrio' : u'equil\xedbrio'}
'ribeirao' : u'ribeir\xE3o' , 'equilibrio' : u'equil\xedbrio', \
'imoveis' : u'im\xf3veis', 'negocios' : u'neg\xf3cios', \
'veiculos' : u've\xedculos', 'corrida' : 'folha corrida'}
# this solves the problem with truncated content in Kindle
conversion_options = {'linearize_tables' : True}
# this bit removes the footer where there are links for Proximo Texto, Texto Anterior,
# Indice e Comunicar Erros
preprocess_regexps = [(re.compile(r'<BR><BR>Texto Anterior:.*<!--/NOTICIA-->',
re.DOTALL|re.IGNORECASE), lambda match: r''),
(re.compile(r'<BR><BR>Pr&oacute;ximo Texto:.*<!--/NOTICIA-->',
preprocess_regexps = [(re.compile(r'<!--/NOTICIA-->.*Comunicar Erros</a>',
re.DOTALL|re.IGNORECASE), lambda match: r'')]
def get_browser(self):
@ -49,7 +53,25 @@ class FSP(BasicNewsRecipe):
def parse_index(self):
soup = self.index_to_soup(self.INDEX)
#Searching for the index page on the HOMEPAGE
hpsoup = self.index_to_soup(self.HOMEPAGE)
indexref = hpsoup.find('a', href=re.compile('^indices.*'))
self.log('--> tag containing the today s index: ', indexref)
INDEX = indexref['href']
INDEX = 'http://www1.folha.uol.com.br/fsp/'+INDEX
self.log('--> INDEX after extracting href and adding prefix: ', INDEX)
# ... and taking the opportunity to get the cover image link
coverurl = hpsoup.find('a', href=re.compile('^cp.*'))['href']
if coverurl:
self.log('--> tag containing the today s cover: ', coverurl)
coverurl = coverurl.replace('htm', 'jpg')
coverurl = 'http://www1.folha.uol.com.br/fsp/images/'+coverurl
self.log('--> coverurl after extracting href and adding prefix: ', coverurl)
self.cover_url = coverurl
#soup = self.index_to_soup(self.INDEX)
soup = self.index_to_soup(INDEX)
feeds = []
articles = []
section_title = "Preambulo"
@ -68,8 +90,12 @@ class FSP(BasicNewsRecipe):
self.log('--> new section title: ', section_title)
if strpost.startswith('<a href'):
url = post['href']
#this bit is kept if they ever go back to the old format (pre Nov-2011)
if url.startswith('/fsp'):
url = 'http://www1.folha.uol.com.br'+url
#
if url.startswith('http://www1.folha.uol.com.br/fsp'):
#url = 'http://www1.folha.uol.com.br'+url
title = self.tag_to_string(post)
self.log()
self.log('--> post: ', post)
@ -82,15 +108,11 @@ class FSP(BasicNewsRecipe):
# keeping the front page url
minha_capa = feeds[0][1][1]['url']
# removing the 'Preambulo' section
# removing the first section (now called 'top')
del feeds[0]
# creating the url for the cover image
coverurl = feeds[0][1][0]['url']
coverurl = coverurl.replace('/opiniao/fz', '/images/cp')
coverurl = coverurl.replace('01.htm', '.jpg')
self.cover_url = coverurl
# inserting the cover page as the first article (nicer for kindle users)
feeds.insert(0,(u'primeira p\xe1gina', [{'title':u'Primeira p\xe1gina' , 'url':minha_capa}]))
return feeds

50
recipes/formulaas.recipe Normal file
View File

@ -0,0 +1,50 @@
# -*- coding: utf-8 -*-
#!/usr/bin/env python
__license__ = 'GPL v3'
__copyright__ = u'2011, Silviu Cotoar\u0103'
'''
formula-as.ro
'''
from calibre.web.feeds.news import BasicNewsRecipe
class FormulaAS(BasicNewsRecipe):
title = u'Formula AS'
__author__ = u'Silviu Cotoar\u0103'
publisher = u'Formula AS'
description = u'Formula AS'
oldest_article = 5
language = 'ro'
max_articles_per_feed = 100
no_stylesheets = True
use_embedded_content = False
category = 'Ziare,Romania'
encoding = 'utf-8'
cover_url = 'http://www.formula-as.ro/_client/img/header_logo.png'
conversion_options = {
'comments' : description
,'tags' : category
,'language' : language
,'publisher' : publisher
}
keep_only_tags = [
dict(name='div', attrs={'class':'item padded'})
]
remove_tags = [
dict(name='ul', attrs={'class':'subtitle lower'})
]
remove_tags_after = [
dict(name='ul', attrs={'class':'subtitle lower'}),
dict(name='div', attrs={'class':'item-brief-options'})
]
feeds = [
(u'\u0218tiri', u'http://www.formula-as.ro/rss/articole.xml')
]
def preprocess_html(self, soup):
return self.adeify_images(soup)

View File

@ -1,35 +1,61 @@
#!/usr/bin/env python
__license__ = 'GPL v3'
__copyright__ = '2010-2011, Christian Schmitt'
'''
fr-online.de
'''
from calibre.web.feeds.recipes import BasicNewsRecipe
class AdvancedUserRecipe(BasicNewsRecipe):
title = u'Frankfurter Rundschau'
__author__ = 'schuster'
oldest_article = 1
max_articles_per_feed = 100
no_stylesheets = True
use_embedded_content = False
language = 'de'
remove_javascript = True
cover_url = 'http://www.fr-online.de/image/view/-/1474018/data/823538/-/logo.png'
extra_css = '''
h1{font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:large;}
h4{font-family:Arial,Helvetica,sans-serif; font-weight:normal;font-size:small;}
img {min-width:300px; max-width:600px; min-height:300px; max-height:800px}
p{font-family:Arial,Helvetica,sans-serif;font-size:small;}
body{font-family:Helvetica,Arial,sans-serif;font-size:small;}
'''
feeds = [(u'Startseite', u'http://www.fr-online.de/home/-/1472778/1472778/-/view/asFeed/-/index.xml'),
(u'Politik', u'http://www.fr-online.de/politik/-/1472596/1472596/-/view/asFeed/-/index.xml'),
(u'Meinungen', u'http://www.fr-online.de/politik/meinung/-/1472602/1472602/-/view/asFeed/-/index.xml'),
(u'Wirtschaft', u'http://www.fr-online.de/wirtschaft/-/1472780/1472780/-/view/asFeed/-/index.xml'),
(u'Sport', u'http://www.fr-online.de/sport/-/1472784/1472784/-/view/asFeed/-/index.xml'),
(u'Kultur', u'http://www.fr-online.de/kultur/-/1472786/1472786/-/view/asFeed/-/index.xml'),
(u'Panorama', u'http://www.fr-online.de/panorama/-/1472782/1472782/-/view/asFeed/-/index.xml'),
(u'Digital', u'http://www.fr-online.de/digital/-/1472406/1472406/-/view/asFeed/-/index.xml'),
(u'Wissenschaft', u'http://www.fr-online.de/wissenschaft/-/1472788/1472788/-/view/asFeed/-/index.xml')
]
class FROnlineRecipe(BasicNewsRecipe):
title = 'Frankfurter Rundschau'
__author__ = 'maccs'
description = 'Nachrichten aus D und aller Welt'
encoding = 'utf-8'
masthead_url = 'http://www.fr-online.de/image/view/-/1474018/data/823552/-/logo.png'
publisher = 'Druck- und Verlagshaus Frankfurt am Main GmbH'
category = 'news, germany, world'
language = 'de'
publication_type = 'newspaper'
use_embedded_content = False
remove_javascript = True
no_stylesheets = True
oldest_article = 1 # Increase this number if you're interested in older articles
max_articles_per_feed = 50 # Seems a reasonable number to me
extra_css = '''
body { font-family: "arial", "verdana", "geneva", sans-serif; font-size: 12px; margin: 0px; background-color: #ffffff;}
.imgSubline{background-color: #f4f4f4; font-size: 0.8em;}
.p--heading-1 {font-weight: bold;}
.calibre_navbar {font-size: 0.8em; font-family: "arial", "verdana", "geneva", sans-serif;}
'''
keep_only_tags = [{'class':'ArticleHeadlineH1'}, {'class':'article_text'}]
cover_url = 'http://www.fr-online.de/image/view/-/1474018/data/823552/-/logo.png'
cover_margins = (100, 150, '#ffffff')
def print_version(self, url):
return url.replace('index.html', 'view/printVersion/-/index.html')
feeds = []
feeds.append(('Startseite', u'http://www.fr-online.de/home/-/1472778/1472778/-/view/asFeed/-/index.xml'))
feeds.append(('Politik', u'http://www.fr-online.de/politik/-/1472596/1472596/-/view/asFeed/-/index.xml'))
feeds.append(('Meinung', u'http://www.fr-online.de/politik/meinung/-/1472602/1472602/-/view/asFeed/-/index.xml'))
feeds.append(('Wirtschaft', u'http://www.fr-online.de/wirtschaft/-/1472780/1472780/-/view/asFeed/-/index.xml'))
feeds.append(('Sport', u'http://www.fr-online.de/sport/-/1472784/1472784/-/view/asFeed/-/index.xml'))
feeds.append(('Eintracht Frankfurt', u'http://www.fr-online.de/sport/eintracht-frankfurt/-/1473446/1473446/-/view/asFeed/-/index.xml'))
feeds.append(('Kultur und Medien', u'http://www.fr-online.de/kultur/-/1472786/1472786/-/view/asFeed/-/index.xml'))
feeds.append(('Panorama', u'http://www.fr-online.de/panorama/-/1472782/1472782/-/view/asFeed/-/index.xml'))
feeds.append(('Frankfurt', u'http://www.fr-online.de/frankfurt/-/1472798/1472798/-/view/asFeed/-/index.xml'))
feeds.append(('Rhein-Main', u'http://www.fr-online.de/rhein-main/-/1472796/1472796/-/view/asFeed/-/index.xml'))
feeds.append(('Hanau', u'http://www.fr-online.de/rhein-main/hanau/-/1472866/1472866/-/view/asFeed/-/index.xml'))
feeds.append(('Darmstadt', u'http://www.fr-online.de/rhein-main/darmstadt/-/1472858/1472858/-/view/asFeed/-/index.xml'))
feeds.append(('Wiesbaden', u'http://www.fr-online.de/rhein-main/wiesbaden/-/1472860/1472860/-/view/asFeed/-/index.xml'))
feeds.append(('Offenbach', u'http://www.fr-online.de/rhein-main/offenbach/-/1472856/1472856/-/view/asFeed/-/index.xml'))
feeds.append(('Bad Homburg', u'http://www.fr-online.de/rhein-main/bad-homburg/-/1472864/1472864/-/view/asFeed/-/index.xml'))
feeds.append(('Digital', u'http://www.fr-online.de/digital/-/1472406/1472406/-/view/asFeed/-/index.xml'))
feeds.append(('Wissenschaft', u'http://www.fr-online.de/wissenschaft/-/1472788/1472788/-/view/asFeed/-/index.xml'))
def print_version(self, url):
return url.replace('index.html', 'view/printVersion/-/index.html')

View File

@ -18,7 +18,7 @@ class FrazPC(BasicNewsRecipe):
max_articles_per_feed = 100
use_embedded_content = False
no_stylesheets = True
cover_url='http://www.frazpc.pl/images/logo.png'
feeds = [
(u'Aktualno\u015bci', u'http://www.frazpc.pl/feed/aktualnosci'),
(u'Artyku\u0142y', u'http://www.frazpc.pl/feed/artykuly')
@ -33,6 +33,7 @@ class FrazPC(BasicNewsRecipe):
dict(name='div', attrs={'class':'comments_box'})
]
remove_tags_after=dict(name='div', attrs={'class':'content'})
preprocess_regexps = [(re.compile(r'\| <a href="#comments">Komentarze \([0-9]*\)</a>'), lambda match: '')]
remove_attributes = [ 'width', 'height' ]

View File

@ -7,53 +7,18 @@ from calibre.web.feeds.news import BasicNewsRecipe
import re
class Histmag(BasicNewsRecipe):
title = u'Histmag'
oldest_article = 7
max_articles_per_feed = 100
cover_url='http://histmag.org/grafika/loga/histmag-logo-2-300px.png'
__author__ = 'matek09'
description = u"Artykuly historyczne i publicystyczne"
encoding = 'utf-8'
#preprocess_regexps = [(re.compile(r'</span>'), lambda match: '</span><br><br>'),(re.compile(r'<span>'), lambda match: '<br><br><span>')]
no_stylesheets = True
language = 'pl'
remove_javascript = True
keep_only_tags=[dict(id='article')]
remove_tags=[dict(name = 'p', attrs = {'class' : 'article-tags'})]
title = u'Histmag'
__author__ = 'matek09'
description = u"Artykuly historyczne i publicystyczne"
encoding = 'utf-8'
no_stylesheets = True
language = 'pl'
remove_javascript = True
#max_articles_per_feed = 1
remove_tags_before = dict(dict(name = 'div', attrs = {'id' : 'article'}))
remove_tags_after = dict(dict(name = 'h2', attrs = {'class' : 'komentarze'}))
#keep_only_tags =[]
#keep_only_tags.append(dict(name = 'h2'))
#keep_only_tags.append(dict(name = 'p'))
remove_tags =[]
remove_tags.append(dict(name = 'p', attrs = {'class' : 'podpis'}))
remove_tags.append(dict(name = 'h2', attrs = {'class' : 'komentarze'}))
remove_tags.append(dict(name = 'img', attrs = {'src' : 'style/buttons/wesprzyjnas-1.jpg'}))
preprocess_regexps = [(re.compile(r'</span>'), lambda match: '</span><br><br>'),
(re.compile(r'<span>'), lambda match: '<br><br><span>')]
extra_css = '''
.left {font-size: x-small}
.right {font-size: x-small}
'''
def find_articles(self, soup):
articles = []
for div in soup.findAll('div', attrs={'class' : 'text'}):
articles.append({
'title' : self.tag_to_string(div.h3.a),
'url' : 'http://www.histmag.org/' + div.h3.a['href'],
'date' : self.tag_to_string(div.next('p')).split('|')[0],
'description' : self.tag_to_string(div.next('p', podpis=False)),
})
return articles
def parse_index(self):
soup = self.index_to_soup('http://histmag.org/?arc=4&dx=0')
feeds = []
feeds.append((u"Artykuly historyczne", self.find_articles(soup)))
soup = self.index_to_soup('http://histmag.org/?arc=5&dx=0')
feeds.append((u"Artykuly publicystyczne", self.find_articles(soup)))
soup = self.index_to_soup('http://histmag.org/?arc=1&dx=0')
feeds.append((u"Wydarzenia", self.find_articles(soup)))
return feeds
feeds = [(u'Wszystkie', u'http://histmag.org/rss/wszystkie.xml'), (u'Wydarzenia', u'http://histmag.org/rss/wydarzenia.xml'), (u'Recenzje', u'http://histmag.org/rss/recenzje.xml'), (u'Artykuły historyczne', u'http://histmag.org/rss/historia.xml'), (u'Publicystyka', u'http://histmag.org/rss/publicystyka.xml')]

View File

@ -8,6 +8,15 @@ class Historia_org_pl(BasicNewsRecipe):
category = 'history'
language = 'pl'
oldest_article = 8
remove_empty_feeds=True
max_articles_per_feed = 100
feeds = [(u'Artykuły', u'http://www.historia.org.pl/index.php?format=feed&type=rss')]
feeds = [(u'Wszystkie', u'http://www.historia.org.pl/index.php?format=feed&type=rss'),
(u'Wiadomości', u'http://www.historia.org.pl/index.php/wiadomosci.feed?type=rss'),
(u'Publikacje', u'http://www.historia.org.pl/index.php/publikacje.feed?type=rss'),
(u'Publicystyka', u'http://www.historia.org.pl/index.php/publicystyka.feed?type=rss'),
(u'Recenzje', u'http://historia.org.pl/index.php/recenzje.feed?type=rss'),
(u'Kultura i sztuka', u'http://www.historia.org.pl/index.php/kultura-i-sztuka.feed?type=rss'),
(u'Rekonstykcje', u'http://www.historia.org.pl/index.php/rekonstrukcje.feed?type=rss'),
(u'Projekty', u'http://www.historia.org.pl/index.php/projekty.feed?type=rss'),
(u'Konkursy'), (u'http://www.historia.org.pl/index.php/konkursy.feed?type=rss')]

BIN
recipes/icons/formulaas.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 687 B

BIN
recipes/icons/infra_pl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,8 +1,8 @@
#!/usr/bin/env python
__license__ = 'GPL v3'
__author__ = 'Gabriele Marini, based on Darko Miletic'
__author__ = 'Gambarini, based on Darko Miletic'
__copyright__ = '2009-2010, Darko Miletic <darko.miletic at gmail.com>'
description = 'Italian daily newspaper - 19-04-2010'
description = 'Italian daily newspaper - 09-11-2011'
'''
http://www.ilgiornale.it/
@ -11,7 +11,7 @@ from calibre.ebooks.BeautifulSoup import BeautifulSoup
from calibre.web.feeds.news import BasicNewsRecipe
class IlGiornale(BasicNewsRecipe):
__author__ = 'Marini Gabriele'
__author__ = 'GAMBARINI'
description = 'Italian daily newspaper'
cover_url = 'http://www.ilgiornale.it/img_v1/logo.gif'
@ -23,9 +23,8 @@ class IlGiornale(BasicNewsRecipe):
timefmt = '[%a, %d %b, %Y]'
oldest_article = 7
max_articles_per_feed = 50
max_articles_per_feed = 100
use_embedded_content = False
recursion = 100
no_stylesheets = True
conversion_options = {'linearize_tables':True}
@ -38,11 +37,11 @@ class IlGiornale(BasicNewsRecipe):
def print_version(self, url):
raw = self.browser.open(url).read()
soup = BeautifulSoup(raw.decode('utf8', 'replace'))
all_print_tags = soup.find('div', {'style':'float:left; width:35%;'})
print_link = all_print_tags.contents[1]
if all_print_tags is None:
all_print_tags = soup.find('div', {'id':'print_article'})
print_link = all_print_tags.a
if print_link is None:
return url
return print_link['href']
return 'http://www.ilgiornale.it' + print_link['href']
feeds = [

View File

@ -1,18 +1,26 @@
# adapted from old recipe by Darko Miletic <darko.miletic at gmail.com>
import string, re
from calibre import strftime
import re
from calibre.web.feeds.recipes import BasicNewsRecipe
from calibre.ebooks.BeautifulSoup import BeautifulSoup, Tag, NavigableString
from calibre.ebooks.BeautifulSoup import Tag, NavigableString
class TheIndependentNew(BasicNewsRecipe):
# flag to enable/disable article graphics on business pages/some others
# eg http://www.independent.co.uk/news/world/europe/berlusconi-departure-fails-to-calm-the-markets-6259682.html
# -max dimensions can be altered using the .pictureContainer img selector in the css
_FETCH_ARTICLE_GRAPHICS = True
#Flag to enable/disable image fetching (not business)
_FETCH_IMAGES = True
#used for converting rating to stars
_STAR_URL = 'http://www.independent.co.uk/skins/ind/images/rating_star.png'
_NO_STAR_URL = 'http://www.independent.co.uk/skins/ind/images/rating_star_grey.png'
title = u'The Independent'
__author__ = 'Will'
description = 'The latest in UK News and World News from The \
@ -33,18 +41,26 @@ class TheIndependentNew(BasicNewsRecipe):
dict(attrs={'id' : ['RelatedArtTag','renderBiography']}),
dict(attrs={'class' : ['autoplay','openBiogPopup']})
]
keep_only_tags =[dict(attrs={'id':'main'})]
recursions = 0
# fixes non compliant html nesting and 'marks' article graphics links
preprocess_regexps = [
(re.compile('<span class="storyTop ">(?P<nested>.*?)</span>', re.DOTALL),
lambda match: '<div class="storyTop">' + match.group('nested') + '</div>'),
(re.compile('(<strong>.*?[Cc]lick.*?<a.*?((HERE)|([Hh]ere)).*?</strong>)', re.DOTALL),
lambda match: '<div class="article-graphic">' + match.group(0) + '</div>'),
]
conversion_options = {
'comment' : description
, 'tags' : category
, 'publisher' : publisher
, 'language' : language
}
}
extra_css = """
h1{font-family: Georgia,serif }
body{font-family: Verdana,Arial,Helvetica,sans-serif}
@ -62,98 +78,195 @@ class TheIndependentNew(BasicNewsRecipe):
.column-1 p,a,h1,h2,h3 { margin: 0; }
.column-1 div{color:#888888; margin: 0;}
.articleContent {display: block; clear:left;}
"""
.storyTop{}
.pictureContainer img { max-width: 400px; max-height: 400px;}
"""
oldest_article = 1
max_articles_per_feed = 100
_processed_urls = []
def get_article_url(self, article):
url = super(self.__class__,self).get_article_url(article)
title = article.get('title', None)
if title and re.search("^Video:",title):
return None
#remove duplicates
if not (url in self._processed_urls):
self._processed_urls.append(url)
else:
url = None
return url
def preprocess_html(self, soup):
#remove 'advertorial articles'
strapline = soup.find('div',attrs={'class' : re.compile('.*strapLine.*')})
if strapline:
for para in strapline.findAll('p'):
if len(para.contents) and isinstance(para.contents[0],NavigableString) \
and para.contents[0] == 'ADVERTORIAL FEATURE':
return None
items_to_extract = []
for item in soup.findAll(attrs={'class' : re.compile("widget.*")}):
remove = True
pattern = re.compile('((articleContent)|(title))$')
if (pattern.search(item['class'])) is not None:
remove = False
# corrections
# story content always good
pattern = re.compile('storyContent')
pattern = re.compile('storyContent')
if (pattern.search(item['class'])) is not None:
remove = False
#images
pattern = re.compile('slideshow')
pattern = re.compile('slideshow')
if (pattern.search(item['class'])) is not None:
remove = False
if self._FETCH_IMAGES:
remove = False
else:
remove = True
#social widgets always bad
pattern = re.compile('socialwidget')
pattern = re.compile('socialwidget')
if (pattern.search(item['class'])) is not None:
remove = True
if remove:
item.extract()
for item in soup.findAll('a',attrs={'href' : re.compile('.*')}):
if item.img is not None:
#use full size image
img = item.findNext('img')
img['src'] = item['href']
#insert caption if available
if img['title'] is not None and (len(img['title']) > 1):
tag = Tag(soup,'h3')
text = NavigableString(img['title'])
tag.insert(0,text)
#picture before text
img.extract()
item.insert(0,img)
item.insert(1,tag)
# remove link
item.name = "div"
item["class"]='image'
del item["href"]
items_to_extract.append(item)
for item in items_to_extract:
item.extract()
items_to_extract = []
if self._FETCH_IMAGES:
for item in soup.findAll('a',attrs={'href' : re.compile('.*')}):
if item.img is not None:
#use full size image
img = item.findNext('img')
img['src'] = item['href']
#insert caption if available
if img['title'] is not None and (len(img['title']) > 1):
tag = Tag(soup,'h3')
text = NavigableString(img['title'])
tag.insert(0,text)
#picture before text
img.extract()
item.insert(0,img)
item.insert(1,tag)
# remove link
item.name = "div"
item["class"]='image'
del item["href"]
#remove empty subtitles
"""
currently the subtitle is located in first paragraph after
sibling <h3 class="subtitle"> tag. This may be 'fixed' at
some point.
"""
some point.
"""
subtitle = soup.find('h3',attrs={'class' : 'subtitle'})
if subtitle is not None:
subtitleText = subtitle.findNext('p')
if subtitleText is not None:
if len(subtitleText.contents[0]) <= 1 :
subtitleText.extract()
subtitle.extract()
subtitleText = subtitle.findNext('p')
if subtitleText is not None:
if len(subtitleText.contents[0]) <= 1 :
subtitleText.extract()
subtitle.extract()
#replace rating numbers with stars
for item in soup.findAll('div',attrs={ 'class' : 'starRating'}):
if item is not None:
soup2 = self._insertRatingStars(soup,item)
if soup2 is not None:
soup = soup2
#remove empty paragraph tags in storyTop which can leave a space
#between first paragraph and rest of story
nested_content = False
storyTop = soup.find('div',attrs={ 'class' : ['storyTop']})
for item in storyTop.findAll('p'):
for nested in item:
if isinstance(nested, Tag):
nested_content = True
break
if not nested_content and item.contents is not None and len(item.contents[0]) <= 1 :
items_to_extract.append(item)
for item in items_to_extract:
item.extract()
items_to_extract = []
#remove line breaks immediately next to tags with default margins
#to prevent double line spacing and narrow columns of text
storyTop = soup.find('div',attrs={ 'class' : ['storyTop']})
self._remove_undesired_line_breaks_from_tag(storyTop,soup)
#replace article graphics link with the graphics themselves
if self._FETCH_ARTICLE_GRAPHICS:
items_to_insert = []
for item in soup.findAll('div', attrs={'class' : ['article-graphic']}):
strong = item.find('strong')
if not strong:
continue
for child in strong:
if isinstance(child,Tag):
if str(child.name) == 'a':
items_to_insert.extend(self._get_article_graphic(strong,child['href'],soup))
for item in items_to_insert:
item[0].replaceWith(item[1])
for item in items_to_extract:
item.extract()
return soup
def _get_article_graphic(self,old_item,url,soup):
items_to_insert = []
if re.search('\.jpg$',str(url)):
div = Tag(soup,'div')
div['class'] = 'pictureContainer'
img = Tag(soup,'img')
img['src'] = url
img['alt'] = 'article graphic'
div.insert(0,img)
items_to_insert.append((old_item,div,))
return items_to_insert
soup2 = self.index_to_soup(url)
for item in soup2.findAll('div',attrs={'class' : re.compile("widget picture article.*")}):
items_to_insert.append((old_item,item),)
return items_to_insert
def _insertRatingStars(self,soup,item):
if item.contents is None:
return
rating = item.contents[0]
if not rating.isdigit():
return None
rating = int(item.contents[0])
rating = int(item.contents[0])
for i in range(1,6):
star = Tag(soup,'img')
if i <= rating:
@ -163,24 +276,119 @@ class TheIndependentNew(BasicNewsRecipe):
star['alt'] = 'star number ' + str(i)
item.insert(i,star)
#item.contents[0] = NavigableString('(' + str(rating) + ')')
item.contents[0] = ''
item.contents[0] = ''
def postprocess_html(self,soup, first_fetch):
#find broken images and remove captions
items_to_extract = []
for item in soup.findAll('div', attrs={'class' : 'image'}):
img = item.findNext('img')
if img is not None and img['src'] is not None:
# broken images still point to remote url
pattern = re.compile('http://www.independent.co.uk.*')
# broken images still point to remote url
pattern = re.compile('http://www.independent.co.uk.*')
if pattern.match(img["src"]) is not None:
caption = img.findNextSibling('h3')
if caption is not None:
caption.extract()
img.extract()
items_to_extract.append(caption)
items_to_extract.append(img)
for item in items_to_extract:
item.extract()
return soup
def _recurisvely_linearise_tag_tree(
self,
item,
linearised= None,
count=0,
limit = 100
):
linearised = linearised or []
count = count + 1
if count > limit:
return linearised
if not (isinstance(item,Tag)):
return linearised
for nested in item:
linearised.append(nested)
linearised = self._recurisvely_linearise_tag_tree(nested,linearised, count)
return linearised
def _get_previous_tag(self,current_index, tag_tree):
if current_index == 0:
return None
else:
return tag_tree[current_index - 1]
def _get_next_tag(self,current_index, tag_tree):
if current_index < len(tag_tree) - 1:
return tag_tree[current_index + 1]
else:
return None
def _list_match(self,test_str, list_regex):
for regex in list_regex:
match = re.match(regex, test_str)
if match is not None:
return True
return False
def _remove_undesired_line_breaks_from_tag(self,parent,soup):
if parent is None:
return
tag_tree = self._recurisvely_linearise_tag_tree(parent)
items_to_remove = []
for item in tag_tree:
if item == u'\n':
items_to_remove.append(item)
continue;
for item in items_to_remove:
tag_tree.remove(item)
spaced_tags = [r'p', r'h\d', r'blockquote']
tags_to_extract = []
tags_to_replace = []
for (i, tag) in enumerate(tag_tree):
if isinstance(tag, Tag):
if str(tag) == '<br />':
previous_tag = self._get_previous_tag(i, tag_tree)
if isinstance(previous_tag, Tag):
previous_tag_is_spaced = previous_tag is not None\
and self._list_match(str(previous_tag.name),
spaced_tags)
else:
previous_tag_is_spaced = False
next_tag = self._get_next_tag(i, tag_tree)
if isinstance(next_tag, Tag):
next_tag_is_spaced = next_tag is not None\
and self._list_match(str(next_tag.name), spaced_tags)
else:
next_tag_is_spaced = False
if previous_tag_is_spaced or next_tag_is_spaced or i == 0\
or i == len(tag_tree) - 1:
tags_to_extract.append(tag)
else:
tags_to_replace.append((tag,NavigableString(' '),))
for pair in tags_to_replace:
pair[0].replaceWith(pair[1])
for tag in tags_to_extract:
tag.extract()
feeds = [
(u'News - UK',
@ -288,7 +496,4 @@ class TheIndependentNew(BasicNewsRecipe):
(u'IndyBest',
u'http://www.independent.co.uk/extras/indybest/?service=rss'),
]

17
recipes/infra_pl.recipe Normal file
View File

@ -0,0 +1,17 @@
from calibre.web.feeds.news import BasicNewsRecipe
class INFRA(BasicNewsRecipe):
title = u'INFRA'
oldest_article = 7
max_articles_per_feed = 100
__author__ = 'fenuks'
description = u'Serwis Informacyjny INFRA - UFO, Zjawiska Paranormalne, Duchy, Tajemnice świata.'
cover_url = 'http://npn.nazwa.pl/templates/ja_teline_ii/images/logo.jpg'
category = 'UFO'
language = 'pl'
max_articles_per_feed = 100
no_stylesheers=True
remove_tags_before=dict(name='h2', attrs={'class':'contentheading'})
remove_tags_after=dict(attrs={'class':'pagenav'})
remove_tags=[dict(attrs={'class':'pagenav'})]
feeds = [(u'Najnowsze wiadomo\u015bci', u'http://www.infra.org.pl/index.php?option=com_rd_rss&id=1')]

19
recipes/japan_news.recipe Normal file
View File

@ -0,0 +1,19 @@
from calibre.web.feeds.news import BasicNewsRecipe
from calibre.ebooks.BeautifulSoup import BeautifulSoup
class NewsOnJapan(BasicNewsRecipe):
title = u'News On Japan'
language = 'en'
__author__ = 'Krittika Goyal'
oldest_article = 1 #days
max_articles_per_feed = 25
use_embedded_content = False
no_stylesheets = True
auto_cleanup = True
feeds = [
('News',
'http://newsonjapan.com/rss/top.xml'),
]

View File

@ -11,7 +11,7 @@ __description__ = 'Italian weekly magazine'
from calibre.web.feeds.news import BasicNewsRecipe
class Espresso(BasicNewsRecipe):
__author__ = 'Lorenzo Vigentini, Gabriele Marini'
__author__ = 'Lorenzo Vigentini, Gabriele Marini, Krittika Goyal'
description = 'Italian weekly magazine'
cover_url = 'http://espresso.repubblica.it/images/logo_espresso.gif'
@ -26,10 +26,9 @@ class Espresso(BasicNewsRecipe):
oldest_article = 16
max_articles_per_feed = 100
use_embedded_content = False
recursion = 10
remove_javascript = True
no_stylesheets = True
auto_cleanup = True
feeds = [
@ -42,36 +41,3 @@ class Espresso(BasicNewsRecipe):
(u'Chiesa: HomePage', u'http://data.kataweb.it/rss/chiesa/homepage/it'),
(u'Chiesa: Speciali e Focus', u'http://data.kataweb.it/rss/chiesa/speciali_e_focus/it')
]
def print_version(self,url):
print url[7:25]
if url[7:25] == 'temi.repubblica.it':
return url + '/?printpage=undefined'
elif url[7:25] == 'www.chiesa.espress':
return url
return url + '/&print=true'
keep_only_tags = [
dict(name='div', attrs={'class':['testo','copertina','occhiello','firma','didascalia','content-second-right','detail-articles','titolo-local','generic-articles']}),
dict(name='div', attrs={'class':['generic-articles','summary','detail-articles']}),
dict(name='div', attrs={'id':['content-second-right','content2']})
]
remove_tags = [
dict(name='div',attrs={'class':['servizi','aggiungi','label-web','bottom-mobile','box-abbonamenti','box-cerca','big','little','stampaweb']}),
dict(name='div',attrs={'id':['topheader','header','navigation-new','navigation','content-second-left','menutext']}),
dict(name='ul',attrs={'id':'user-utility'}),
dict(name=['script','noscript','iframe'])
]
# extra_css = '''
# h1 {font-family:Times New Roman,"Trebuchet MS",Arial,Helvetica,sans-serif; font-size:24px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:18px;}
# h2 {font-family:Times New Roman, "Trebuchet MS",Arial,Helvetica,sans-serif; font-size:18px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:16px; }
# h3 {color:#333333;font-family:Times New Roman, "Trebuchet MS",Arial,Helvetica,sans-serif; font-size:16px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:14px;}
# h4 {color:#333333; font-family:Times New Roman, "Trebuchet MS",Arial,Helvetica,sans-serif;font-size:16px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:14px; }
# h5 {color:#333333; font-family:Times New Roman, "Trebuchet MS",Arial,Helvetica,sans-serif; font-size:12px; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; font-weight:bold; line-height:14px; text-transform:uppercase;}
# .firma {color:#333333;font-family:Times New Roman, "Trebuchet MS",Arial,Helvetica,sans-serif;font-size:12px; font-size-adjust:none; font-stretch:normal; font-style:italic; font-variant:normal; font-weight:bold; line-height:15px; text-decoration:none;}
# .testo {font-family:Times New Roman, "Trebuchet MS",Arial,Helvetica,sans-serif; font-size:10px;}
# '''

View File

@ -1,3 +1,4 @@
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
from calibre.web.feeds.news import BasicNewsRecipe
import re
from calibre.utils.magick import Image
@ -8,21 +9,27 @@ from calibre.utils.magick import Image
version 1.4 Updated tags, delay and added autoclean 22-09-2011
version 1.5 Changes due to changes in site
version 1.6 Added css, removed auto cleanup, added buitenland section, added use_embedded_content, added remove_attributes
Added som processing on pictures
Added some processing on pictures
Removed links in html
Removed extre white characters
changed handling of self closing span
'''
Version 1.7 11-11-2011 Changed oldest_article back to 1.5
changed è into &egrave;
updated remove tags
removed keep_only tags
'''
class AdvancedUserRecipe1306097511(BasicNewsRecipe):
title = u'Metro Nieuws NL'
oldest_article = 2
oldest_article = 1.5
max_articles_per_feed = 100
__author__ = u'DrMerry'
description = u'Metro Nederland'
language = u'nl'
simultaneous_downloads = 5
timeout = 2
#delay = 1
center_navbar = True
#auto_cleanup = True
#auto_cleanup_keep = '//div[@class="article-image-caption-2column"]/*|//div[@id="date"]/*|//div[@class="article-image-caption-3column"]/*'
timefmt = ' [%A, %d %b %Y]'
@ -31,31 +38,32 @@ class AdvancedUserRecipe1306097511(BasicNewsRecipe):
remove_empty_feeds = True
cover_url = 'http://www.oldreadmetro.com/img/en/metroholland/last/1/small.jpg'
publication_type = 'newspaper'
remove_tags_before = dict(name='div', attrs={'id':'date'})
remove_tags_before = dict(id='date')
remove_tags_after = dict(name='div', attrs={'class':'article-body'})
encoding = 'utf-8'
remove_attributes = ['style', 'font', 'width', 'height']
use_embedded_content = False
conversion_options = {
'authors' : 'Metro Nederland',
'author_sort' : 'Metro Nederland',
'publisher' : 'DrMerry/Metro Nederland'
}
extra_css = 'body {padding:5px 0px; background:#fff;font-size: 13px;}\
#date {clear: both;margin-left: 19px;font-size: 11px;font-weight: 300;color: #616262;height: 15px;}\
.article-box-fact.module-title {clear:both;border-top:1px solid black;border-bottom:4px solid black;padding: 8px 0;color: #24763b;font-family: arial, sans-serif;font-size: 14px;font-weight: bold;}\
h1.title {color: #000000;font-size: 44px;padding-bottom: 10px;line-height: 1.15;font-weight: 300;} h2.subtitle {font-size: 13px;font-weight: 700;padding-bottom: 10px;}\
.article-body p{padding-bottom:10px;}div.column-1-3{float: left;display: inline;width: 567px;margin-left: 19px;border-right: 1px solid #CACACA;padding-right: 9px;}\
div.column-1-2 {float: left;display: inline;width: 373px;padding-right: 7px;border-right: 1px solid #CACACA;}\
p.article-image-caption {font-size: 12px;font-weight: 300;line-height: 1.4;color: #616262;margin-top: 5px;} \
.article-box-fact.module-title {clear:both;padding: 8px 0;color: #24763b;font-family: arial, sans-serif;font-size: 14px;font-weight: bold;}\
h1.title {color: #000000;font-size: 44px;padding-bottom: 10px;font-weight: 300;} h2.subtitle {font-size: 13px;font-weight: 700;padding-bottom: 10px;}\
.article-body p{padding-bottom:10px;}div.column-1-3{margin-left: 19px;padding-right: 9px;}\
div.column-1-2 {display: inline;padding-right: 7px;}\
p.article-image-caption {font-size: 12px;font-weight: 300;color: #616262;margin-top: 5px;} \
p.article-image-caption .credits {font-style: italic;font-size: 10px;}\
div.article-image-caption {width: 246px;margin-bottom: 5px;margin-left: 10px;}\
div.article-image-caption-2column {margin-bottom: 10px;width: 373px;} div.article-image-caption-3column {}\
img {border:0px;} .img-mask {position:absolute;top:0px;left:0px;}'
keep_only_tags = [dict(name='div', attrs={'class':[ 'article-image-caption-2column', 'article-image-caption-3column', 'article-body', 'article-box-fact']}),
dict(name='div', attrs={'id':['date']}),
dict(name='h1', attrs={'class':['title']}),
dict(name='h2', attrs={'class':['subtitle']})]
remove_tags = [dict(name='div', attrs={'class':[ 'metroCommentFormWrap',
remove_tags = [dict(name='div', attrs={'class':[ 'metroCommentFormWrap', 'related-links'
'commentForm', 'metroCommentInnerWrap', 'article-slideshow-counter-container', 'article-slideshow-control', 'ad', 'header-links',
'art-rgt','pluck-app pluck-comm', 'share-and-byline', 'article-tools-below-title', 'col-179 ', 'related-links', 'clear padding-top-15', 'share-tools', 'article-page-auto-pushes', 'footer-edit']}),
'art-rgt','pluck-app pluck-comm', 'share-and-byline', 'article-tools-below-title', 'col-179 ', 'related-links', 'clear padding-top-15', 'share-tools',
'article1','article-page-auto-pushes', 'footer-edit','clear']}),
dict(name='div', attrs={'id':['article-2', 'article-4', 'article-1', 'navigation', 'footer', 'header', 'comments', 'sidebar', 'share-and-byline']}),
dict(name='iframe')]
@ -70,26 +78,8 @@ class AdvancedUserRecipe1306097511(BasicNewsRecipe):
iurl = tag['src']
img = Image()
img.open(iurl)
#width, height = img.size
#print '***img is: ', iurl, '\n****width is: ', width, 'height is: ', height
img.trim(0)
img.save(iurl)
'''
#width, height = img.size
#print '***TRIMMED img width is: ', width, 'height is: ', height
left=0
top=0
border_color='#ffffff'
width, height = img.size
#print '***retrieved img width is: ', width, 'height is: ', height
height_correction = 1.17
canvas = create_canvas(width, height*height_correction,border_color)
canvas.compose(img, left, top)
#img = canvas
canvas.save(iurl)
#width, height = canvas.size
#print '***NEW img width is: ', width, 'height is: ', height
'''
return soup
feeds = [

View File

@ -23,7 +23,7 @@ class OSNewsRecipe(BasicNewsRecipe):
oldest_article = 7
max_articles_per_feed = 100
cover_url='http://osnews.pl/wp-content/themes/osnews/img/logo.png'
extra_css = '''
.news-heading {font-size:150%}
.newsinformations li {display:inline;}
@ -44,7 +44,9 @@ class OSNewsRecipe(BasicNewsRecipe):
dict(name = 'div', attrs = {'class' : 'sociable'}),
dict(name = 'div', attrs = {'class' : 'post_prev'}),
dict(name = 'div', attrs = {'class' : 'post_next'}),
dict(name = 'div', attrs = {'class' : 'clr'})
dict(name = 'div', attrs = {'class' : 'clr'}),
dict(name = 'div', attrs = {'class' : 'tw_button'}),
dict(name = 'div', attrs = {'style' : 'width:56px;height:60px;float:left;margin-right:10px'})
]
preprocess_regexps = [(re.compile(u'</span>Komentarze: \(?[0-9]+\)? ?<span'), lambda match: '</span><span')]

View File

@ -8,13 +8,13 @@ radikal.com.tr
from calibre.web.feeds.news import BasicNewsRecipe
class Radikal_tr(BasicNewsRecipe):
title = 'Radikal - Turkey'
__author__ = 'Darko Miletic'
description = 'News from Turkey'
title = 'Radikal Ekleri'
__author__ = 'Darko Mileticden uyarlama'
description = 'Politic-Cultural Articles from Turkey'
publisher = 'radikal'
category = 'news, politics, Turkey'
oldest_article = 7
max_articles_per_feed = 150
oldest_article = 14
max_articles_per_feed = 120
no_stylesheets = True
encoding = 'cp1254'
use_embedded_content = False
@ -37,11 +37,9 @@ class Radikal_tr(BasicNewsRecipe):
feeds = [
(u'Yazarlar' , u'http://www.radikal.com.tr/d/rss/RssYazarlar.xml')
,(u'Turkiye' , u'http://www.radikal.com.tr/d/rss/Rss_97.xml' )
,(u'Politika' , u'http://www.radikal.com.tr/d/rss/Rss_98.xml' )
,(u'Dis Haberler', u'http://www.radikal.com.tr/d/rss/Rss_100.xml' )
,(u'Ekonomi' , u'http://www.radikal.com.tr/d/rss/Rss_101.xml' )
(u'Radikal Iki' , u'http://www.radikal.com.tr/d/rss/Rss_42.xml')
,(u'Radikal Hayat' , u'http://www.radikal.com.tr/d/rss/Rss_41.xml' )
,(u'Radikal Kitap' , u'http://www.radikal.com.tr/d/rss/Rss_40.xml' )
]
def print_version(self, url):

BIN
recipes/spiders_web_pl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 605 B

View File

@ -0,0 +1,15 @@
from calibre.web.feeds.news import BasicNewsRecipe
class SpidersWeb(BasicNewsRecipe):
title = u"Spider's Web"
oldest_article = 7
__author__ = 'fenuks'
description = u''
cover_url = 'http://www.spidersweb.pl/wp-content/themes/spiderweb/img/Logo.jpg'
category = 'IT, WEB'
language = 'pl'
max_articles_per_feed = 100
remove_tags_before=dict(name="h1", attrs={'class':'Title'})
remove_tags_after=dict(name="div", attrs={'class':'Text'})
remove_tags=[dict(name='div', attrs={'class':['Tags', 'CommentCount FloatL', 'Show FloatL']})]
feeds = [(u'Wpisy', u'http://www.spidersweb.pl/feed')]

View File

@ -3,7 +3,7 @@ __license__ = 'GPL v3'
__copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
'''
Fetch sueddeutsche.
Fetch sueddeutsche.de
'''
from calibre.web.feeds.news import BasicNewsRecipe
@ -62,7 +62,7 @@ class Sueddeutsche(BasicNewsRecipe):
(u'Sport', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5ESport%24?output=rss'),
(u'Leben', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5ELeben%24?output=rss'),
(u'Karriere', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EKarriere%24?output=rss'),
(u'M&uuml;nchen & Region', u'http://www.sueddeutsche.de/app/service/rss/ressort/muenchen/rss.xml'),
(u'München & Region', u'http://www.sueddeutsche.de/app/service/rss/ressort/muenchen/rss.xml'), # AGe 2011-11-13
(u'Bayern', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EBayern%24?output=rss'),
(u'Medien', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EMedien%24?output=rss'),
(u'Digital', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EDigital%24?output=rss'),

View File

@ -9,6 +9,7 @@ class Tablety_pl(BasicNewsRecipe):
language = 'pl'
oldest_article = 8
max_articles_per_feed = 100
keep_only_tags=[dict(name='header', attrs={'class':'entry-header'}), dict(name='div', attrs={'class':'entry-content clearfix'})]
remove_tags=[dict(name='div', attrs={'class':'snap_nopreview sharing robots-nocontent'}), dict(name='span', attrs={'class':'dsq-postid'})]
remove_tags_before=dict(name="h1", attrs={'class':'entry-title'})
remove_tags_after=dict(name="div", attrs={'class':'snap_nopreview sharing robots-nocontent'})
remove_tags=[dict(name='div', attrs={'class':'snap_nopreview sharing robots-nocontent'})]
feeds = [(u'Najnowsze posty', u'http://www.tablety.pl/feed/')]

View File

@ -2,8 +2,8 @@
__license__ = 'GPL v3'
__copyright__ = '4 February 2011, desUBIKado'
__author__ = 'desUBIKado'
__version__ = 'v0.05'
__date__ = '13, April 2011'
__version__ = 'v0.07'
__date__ = '13, November 2011'
'''
http://www.weblogssl.com/
'''
@ -33,6 +33,7 @@ class weblogssl(BasicNewsRecipe):
feeds = [
(u'Xataka', u'http://feeds.weblogssl.com/xataka2')
,(u'Xataka Mexico', u'http://feeds.weblogssl.com/xatakamx')
,(u'Xataka M\xf3vil', u'http://feeds.weblogssl.com/xatakamovil')
,(u'Xataka Android', u'http://feeds.weblogssl.com/xatakandroid')
,(u'Xataka Foto', u'http://feeds.weblogssl.com/xatakafoto')
@ -40,6 +41,7 @@ class weblogssl(BasicNewsRecipe):
,(u'Xataka Ciencia', u'http://feeds.weblogssl.com/xatakaciencia')
,(u'Genbeta', u'http://feeds.weblogssl.com/genbeta')
,(u'Genbeta Dev', u'http://feeds.weblogssl.com/genbetadev')
,(u'Genbeta Social Media', u'http://feeds.weblogssl.com/genbetasocialmedia')
,(u'Applesfera', u'http://feeds.weblogssl.com/applesfera')
,(u'Vida Extra', u'http://feeds.weblogssl.com/vidaextra')
,(u'Naci\xf3n Red', u'http://feeds.weblogssl.com/nacionred')
@ -51,7 +53,6 @@ class weblogssl(BasicNewsRecipe):
,(u'Pop rosa', u'http://feeds.weblogssl.com/poprosa')
,(u'Zona FandoM', u'http://feeds.weblogssl.com/zonafandom')
,(u'Fandemia', u'http://feeds.weblogssl.com/fandemia')
,(u'Noctamina', u'http://feeds.weblogssl.com/noctamina')
,(u'Tendencias', u'http://feeds.weblogssl.com/trendencias')
,(u'Beb\xe9s y m\xe1s', u'http://feeds.weblogssl.com/bebesymas')
,(u'Directo al paladar', u'http://feeds.weblogssl.com/directoalpaladar')
@ -60,8 +61,8 @@ class weblogssl(BasicNewsRecipe):
,(u'Embelezzia', u'http://feeds.weblogssl.com/embelezzia')
,(u'Vit\xf3nica', u'http://feeds.weblogssl.com/vitonica')
,(u'Ambiente G', u'http://feeds.weblogssl.com/ambienteg')
,(u'Arrebatadora', u'http://feeds.weblogssl.com/arrebatadora')
,(u'Mensencia', u'http://feeds.weblogssl.com/mensencia')
,(u'Tendencias Belleza', u'http://feeds.weblogssl.com/trendenciasbelleza')
,(u'Tendencias Hombre', u'http://feeds.weblogssl.com/trendenciashombre')
,(u'Peques y m\xe1s', u'http://feeds.weblogssl.com/pequesymas')
,(u'Motorpasi\xf3n', u'http://feeds.weblogssl.com/motorpasion')
,(u'Motorpasi\xf3n F1', u'http://feeds.weblogssl.com/motorpasionf1')
@ -69,7 +70,6 @@ class weblogssl(BasicNewsRecipe):
,(u'Motorpasi\xf3n Futuro', u'http://feeds.weblogssl.com/motorpasionfuturo')
,(u'Notas de futbol', u'http://feeds.weblogssl.com/notasdefutbol')
,(u'Fuera de l\xedmites', u'http://feeds.weblogssl.com/fueradelimites')
,(u'Salir a ganar', u'http://feeds.weblogssl.com/saliraganar')
,(u'El blog salm\xf3n', u'http://feeds.weblogssl.com/elblogsalmon2')
,(u'Pymes y aut\xf3nomos', u'http://feeds.weblogssl.com/pymesyautonomos')
,(u'Tecnolog\xeda Pyme', u'http://feeds.weblogssl.com/tecnologiapyme')
@ -105,3 +105,22 @@ class weblogssl(BasicNewsRecipe):
return soup
# Para obtener la url original del articulo a partir de la de "feedsportal"
# El siguiente código es gracias al usuario "bosplans" de www.mobileread.com
# http://www.mobileread.com/forums/showthread.php?t=130297
def get_article_url(self, article):
link = article.get('link', None)
if link is None:
return article
if link.split('/')[-1]=="story01.htm":
link=link.split('/')[-2]
a=['0B','0C','0D','0E','0F','0G','0N' ,'0L0S','0A']
b=['.' ,'/' ,'?' ,'-' ,'=' ,'&' ,'.com','www.','0']
for i in range(0,len(a)):
link=link.replace(a[i],b[i])
link="http://"+link
return link

View File

@ -141,21 +141,33 @@ sort_columns_at_startup = None
#: Control how dates are displayed
# Format to be used for publication date and the timestamp (date).
# A string controlling how the publication date is displayed in the GUI
# d the day as number without a leading zero (1 to 31)
# d the day as number without a leading zero (1 to 31)
# dd the day as number with a leading zero (01 to 31)
# ddd the abbreviated localized day name (e.g. 'Mon' to 'Sun').
# dddd the long localized day name (e.g. 'Monday' to 'Qt::Sunday').
# M the month as number without a leading zero (1-12)
# ddd the abbreviated localized day name (e.g. 'Mon' to 'Sun').
# dddd the long localized day name (e.g. 'Monday' to 'Qt::Sunday').
# M the month as number without a leading zero (1-12)
# MM the month as number with a leading zero (01-12)
# MMM the abbreviated localized month name (e.g. 'Jan' to 'Dec').
# MMMM the long localized month name (e.g. 'January' to 'December').
# MMM the abbreviated localized month name (e.g. 'Jan' to 'Dec').
# MMMM the long localized month name (e.g. 'January' to 'December').
# yy the year as two digit number (00-99)
# yyyy the year as four digit number
# yyyy the year as four digit number
# h the hours without a leading 0 (0 to 11 or 0 to 23, depending on am/pm) '
# hh the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm) '
# m the minutes without a leading 0 (0 to 59) '
# mm the minutes with a leading 0 (00 to 59) '
# s the seconds without a leading 0 (0 to 59) '
# ss the seconds with a leading 0 (00 to 59) '
# ap use a 12-hour clock instead of a 24-hour clock, with "ap"
# replaced by the localized string for am or pm '
# AP use a 12-hour clock instead of a 24-hour clock, with "AP"
# replaced by the localized string for AM or PM '
# iso the date with time and timezone. Must be the only format present
# For example, given the date of 9 Jan 2010, the following formats show
# MMM yyyy ==> Jan 2010 yyyy ==> 2010 dd MMM yyyy ==> 09 Jan 2010
# MM/yyyy ==> 01/2010 d/M/yy ==> 9/1/10 yy ==> 10
# publication default if not set: MMM yyyy
# timestamp default if not set: dd MMM yyyy
# last_modified_display_format if not set: dd MMM yyyy
gui_pubdate_display_format = 'MMM yyyy'
gui_timestamp_display_format = 'dd MMM yyyy'
gui_last_modified_display_format = 'dd MMM yyyy'

View File

@ -36,6 +36,14 @@
<div class="cbj_footer">{footer}</div>
</div>
<hr class="cbj_kindle_banner_hr" />
<!--
In addition you can add code to show the values of custom columns here.
The value is available as _column_name and the title as _column_name_label.
For example, if you have a custom column with label #genre, you can add it to
this template with:
<div>{_genre_label}: {_genre}</div>
-->
<div class="cbj_comments">{comments}</div>
</body>
</html>

View File

@ -18,7 +18,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-05 04:46+0000\n"
"X-Launchpad-Export-Date: 2011-11-06 05:23+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"Language: ca\n"

View File

@ -9,101 +9,101 @@ msgstr ""
"Report-Msgid-Bugs-To: Debian iso-codes team <pkg-isocodes-"
"devel@lists.alioth.debian.org>\n"
"POT-Creation-Date: 2011-09-27 14:31+0000\n"
"PO-Revision-Date: 2011-10-15 17:29+0000\n"
"PO-Revision-Date: 2011-11-10 07:13+0000\n"
"Last-Translator: Devilinside <Unknown>\n"
"Language-Team: Hungarian <debian-l10n-hungarian@lists.d.o>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-10-16 05:14+0000\n"
"X-Generator: Launchpad (build 14124)\n"
"X-Launchpad-Export-Date: 2011-11-11 04:52+0000\n"
"X-Generator: Launchpad (build 14277)\n"
"X-Poedit-Country: HUNGARY\n"
"Language: hu\n"
"X-Poedit-Language: Hungarian\n"
#. name for aaa
msgid "Ghotuo"
msgstr "Ghotuo"
msgstr "ghotuo"
#. name for aab
msgid "Alumu-Tesu"
msgstr "Alumu-Tesu"
msgstr "alumu-tesu"
#. name for aac
msgid "Ari"
msgstr "Ari"
msgstr "ari"
#. name for aad
msgid "Amal"
msgstr "Amal"
msgstr "amal"
#. name for aae
msgid "Albanian; Arbëreshë"
msgstr "Albán; Arbëreshë"
msgstr "albán; Arbëreshë"
#. name for aaf
msgid "Aranadan"
msgstr "Aranadan"
msgstr "aranadan"
#. name for aag
msgid "Ambrak"
msgstr "Ambrak"
msgstr "ambrak"
#. name for aah
msgid "Arapesh; Abu'"
msgstr "Arapesh; Abu'"
msgstr "arapesh; Abu'"
#. name for aai
msgid "Arifama-Miniafia"
msgstr ""
msgstr "arifama-miniafia"
#. name for aak
msgid "Ankave"
msgstr ""
msgstr "ankave"
#. name for aal
msgid "Afade"
msgstr ""
msgstr "afade"
#. name for aam
msgid "Aramanik"
msgstr ""
msgstr "aramanik"
#. name for aan
msgid "Anambé"
msgstr ""
msgstr "anambé"
#. name for aao
msgid "Arabic; Algerian Saharan"
msgstr "Arab; Algériai Szaharai"
msgstr "arab; algériai-szaharai"
#. name for aap
msgid "Arára; Pará"
msgstr ""
msgstr "arára; Pará"
#. name for aaq
msgid "Abnaki; Eastern"
msgstr ""
msgstr "abnaki; keleti"
#. name for aar
msgid "Afar"
msgstr "Afar"
msgstr "afar"
#. name for aas
msgid "Aasáx"
msgstr ""
msgstr "aasáx"
#. name for aat
msgid "Albanian; Arvanitika"
msgstr ""
msgstr "albán; Arvanitika"
#. name for aau
msgid "Abau"
msgstr ""
msgstr "abau"
#. name for aaw
msgid "Solong"
msgstr ""
msgstr "szolong"
#. name for aax
msgid "Mandobo Atas"
@ -115,7 +115,7 @@ msgstr ""
#. name for aba
msgid "Abé"
msgstr ""
msgstr "abé"
#. name for abb
msgid "Bankon"
@ -131,7 +131,7 @@ msgstr ""
#. name for abe
msgid "Abnaki; Western"
msgstr ""
msgstr "abnaki; nyugati"
#. name for abf
msgid "Abai Sungai"
@ -143,7 +143,7 @@ msgstr ""
#. name for abh
msgid "Arabic; Tajiki"
msgstr ""
msgstr "arab; tadzsik"
#. name for abi
msgid "Abidji"
@ -151,7 +151,7 @@ msgstr ""
#. name for abj
msgid "Aka-Bea"
msgstr ""
msgstr "aka-bea"
#. name for abk
msgid "Abkhazian"
@ -187,7 +187,7 @@ msgstr ""
#. name for abs
msgid "Malay; Ambonese"
msgstr ""
msgstr "maláj; amboni"
#. name for abt
msgid "Ambulas"
@ -199,7 +199,7 @@ msgstr ""
#. name for abv
msgid "Arabic; Baharna"
msgstr ""
msgstr "arab; Baharna"
#. name for abw
msgid "Pal"
@ -236,7 +236,7 @@ msgstr "akinéz"
#. name for acf
msgid "Creole French; Saint Lucian"
msgstr ""
msgstr "francia (kreol); Sainte-Lucie"
#. name for ach
msgid "Acoli"
@ -256,7 +256,7 @@ msgstr ""
#. name for acm
msgid "Arabic; Mesopotamian"
msgstr ""
msgstr "arab; mezopotámiai"
#. name for acn
msgid "Achang"
@ -268,7 +268,7 @@ msgstr ""
#. name for acq
msgid "Arabic; Ta'izzi-Adeni"
msgstr ""
msgstr "arabic; ta'izzi-adeni"
#. name for acr
msgid "Achi"
@ -296,11 +296,11 @@ msgstr ""
#. name for acx
msgid "Arabic; Omani"
msgstr ""
msgstr "arab; ománi"
#. name for acy
msgid "Arabic; Cypriot"
msgstr ""
msgstr "arab; ciprusi"
#. name for acz
msgid "Acheron"
@ -384,11 +384,11 @@ msgstr ""
#. name for adx
msgid "Tibetan; Amdo"
msgstr ""
msgstr "tibeti; Amdo"
#. name for ady
msgid "Adyghe"
msgstr ""
msgstr "adyghe"
#. name for adz
msgid "Adzera"
@ -408,7 +408,7 @@ msgstr ""
#. name for aed
msgid "Argentine Sign Language"
msgstr ""
msgstr "argentín jelnyelv"
#. name for aee
msgid "Pashayi; Northeast"
@ -500,7 +500,7 @@ msgstr ""
#. name for afr
msgid "Afrikaans"
msgstr "Afrikaans"
msgstr "afrikaansz"
#. name for afs
msgid "Creole; Afro-Seminole"
@ -680,7 +680,7 @@ msgstr ""
#. name for aib
msgid "Ainu (China)"
msgstr ""
msgstr "ainu (Kína)"
#. name for aic
msgid "Ainbai"
@ -700,7 +700,7 @@ msgstr ""
#. name for aig
msgid "Creole English; Antigua and Barbuda"
msgstr ""
msgstr "angol (kreol); Antigua és Barbuda"
#. name for aih
msgid "Ai-Cham"
@ -708,7 +708,7 @@ msgstr ""
#. name for aii
msgid "Neo-Aramaic; Assyrian"
msgstr ""
msgstr "arámi; új-arámi; asszír"
#. name for aij
msgid "Lishanid Noshan"
@ -728,7 +728,7 @@ msgstr ""
#. name for ain
msgid "Ainu (Japan)"
msgstr ""
msgstr "ainu (Japán)"
#. name for aio
msgid "Aiton"
@ -800,7 +800,7 @@ msgstr ""
#. name for aka
msgid "Akan"
msgstr "Akan"
msgstr "akan"
#. name for akb
msgid "Batak Angkola"
@ -968,7 +968,7 @@ msgstr ""
#. name for alt
msgid "Altai; Southern"
msgstr ""
msgstr "altáji; déli"
#. name for alu
msgid "'Are'are"
@ -1014,9 +1014,10 @@ msgstr ""
msgid "Amarag"
msgstr ""
# src/trans.h:283
#. name for amh
msgid "Amharic"
msgstr "Amhara"
msgstr "amhara"
#. name for ami
msgid "Amis"
@ -1076,7 +1077,7 @@ msgstr ""
#. name for amw
msgid "Neo-Aramaic; Western"
msgstr ""
msgstr "arámi; új-arámi; nyugati"
#. name for amx
msgid "Anmatyerre"
@ -1116,7 +1117,7 @@ msgstr ""
#. name for ang
msgid "English; Old (ca. 450-1100)"
msgstr ""
msgstr "angol; óangol (kb. 450-1100)"
#. name for anh
msgid "Nend"
@ -1413,7 +1414,7 @@ msgstr ""
#. name for arc
msgid "Aramaic; Official (700-300 BCE)"
msgstr ""
msgstr "arámi; hivatalos (i.e. 700- i.e. 300)"
#. name for ard
msgid "Arabana"
@ -1423,9 +1424,10 @@ msgstr ""
msgid "Arrarnta; Western"
msgstr ""
# src/trans.h:294
#. name for arg
msgid "Aragonese"
msgstr "Aragóniai"
msgstr "aragóniai"
#. name for arh
msgid "Arhuaco"
@ -1545,7 +1547,7 @@ msgstr ""
#. name for asm
msgid "Assamese"
msgstr "Asszámi"
msgstr "asszámi"
#. name for asn
msgid "Asuriní; Xingú"
@ -1677,7 +1679,7 @@ msgstr ""
#. name for atv
msgid "Altai; Northern"
msgstr ""
msgstr "altáji; északi"
#. name for atw
msgid "Atsugewi"
@ -1787,9 +1789,10 @@ msgstr ""
msgid "Arabic; Uzbeki"
msgstr ""
# src/trans.h:283
#. name for ava
msgid "Avaric"
msgstr "Avar"
msgstr "avar"
#. name for avb
msgid "Avau"
@ -1801,7 +1804,7 @@ msgstr ""
#. name for ave
msgid "Avestan"
msgstr "Avesztai"
msgstr "avesztai"
#. name for avi
msgid "Avikam"
@ -1941,7 +1944,7 @@ msgstr ""
#. name for ayc
msgid "Aymara; Southern"
msgstr "Ajmara; Déli"
msgstr "ajmara; Déli"
#. name for ayd
msgid "Ayabadhu"
@ -1973,7 +1976,7 @@ msgstr ""
#. name for aym
msgid "Aymara"
msgstr "Ajmara"
msgstr "ajmara"
#. name for ayn
msgid "Arabic; Sanaani"
@ -1993,7 +1996,7 @@ msgstr ""
#. name for ayr
msgid "Aymara; Central"
msgstr "Ajmara; Közép"
msgstr "ajmara; Közép"
#. name for ays
msgid "Ayta; Sorsogon"
@ -2021,11 +2024,12 @@ msgstr ""
#. name for azb
msgid "Azerbaijani; South"
msgstr "Azeri; Déli"
msgstr "azeri; Déli"
# src/trans.h:311
#. name for aze
msgid "Azerbaijani"
msgstr "Azeri"
msgstr "azeri"
#. name for azg
msgid "Amuzgo; San Pedro Amuzgos"
@ -2033,7 +2037,7 @@ msgstr ""
#. name for azj
msgid "Azerbaijani; North"
msgstr "Azeri; Északi"
msgstr "azeri; Északi"
#. name for azm
msgid "Amuzgo; Ipalapa"
@ -2077,7 +2081,7 @@ msgstr ""
#. name for bah
msgid "Creole English; Bahamas"
msgstr ""
msgstr "angol (kreol); Bahamák"
#. name for baj
msgid "Barakai"
@ -2085,7 +2089,7 @@ msgstr ""
#. name for bak
msgid "Bashkir"
msgstr "Baskír"
msgstr "baskír"
#. name for bal
msgid "Baluchi"
@ -2110,7 +2114,7 @@ msgstr ""
#. name for bar
msgid "Bavarian"
msgstr "Bajor"
msgstr "bajor"
#. name for bas
msgid "Basa (Cameroon)"
@ -2494,7 +2498,7 @@ msgstr ""
#. name for bel
msgid "Belarusian"
msgstr "Belarusz"
msgstr "belarusz"
#. name for bem
msgid "Bemba (Zambia)"
@ -2502,7 +2506,7 @@ msgstr ""
#. name for ben
msgid "Bengali"
msgstr "Bengáli"
msgstr "bengáli"
#. name for beo
msgid "Beami"
@ -2798,7 +2802,7 @@ msgstr ""
#. name for bhn
msgid "Neo-Aramaic; Bohtan"
msgstr ""
msgstr "arámi; új-arámi; bohtan"
#. name for bho
msgid "Bhojpuri"
@ -2966,7 +2970,7 @@ msgstr ""
#. name for bjf
msgid "Neo-Aramaic; Barzani Jewish"
msgstr ""
msgstr "arámi; új-arámi; barzani zsidó"
#. name for bjg
msgid "Bidyogo"
@ -3366,7 +3370,7 @@ msgstr ""
#. name for bng
msgid "Benga"
msgstr ""
msgstr "benga"
#. name for bni
msgid "Bangi"
@ -3504,9 +3508,10 @@ msgstr ""
msgid "Borôro"
msgstr ""
# src/trans.h:309
#. name for bos
msgid "Bosnian"
msgstr "Bosnyák"
msgstr "bosnyák"
#. name for bot
msgid "Bongo"
@ -3678,7 +3683,7 @@ msgstr ""
#. name for bqn
msgid "Bulgarian Sign Language"
msgstr "Bolgár jelnyelv"
msgstr "bolgár jelnyelv"
#. name for bqo
msgid "Balo"
@ -4071,9 +4076,10 @@ msgstr ""
msgid "Bugawac"
msgstr ""
# src/trans.h:285
#. name for bul
msgid "Bulgarian"
msgstr "Bolgár"
msgstr "bolgár"
#. name for bum
msgid "Bulu (Cameroon)"
@ -4557,11 +4563,11 @@ msgstr ""
#. name for bzj
msgid "Kriol English; Belize"
msgstr ""
msgstr "angol (kreol); Belize"
#. name for bzk
msgid "Creole English; Nicaragua"
msgstr ""
msgstr "angol (kreol); Nicaragua"
#. name for bzl
msgid "Boano (Sulawesi)"
@ -5036,7 +5042,7 @@ msgstr ""
#. name for chu
msgid "Slavonic; Old"
msgstr ""
msgstr "szláv; ószláv"
#. name for chv
msgid "Chuvash"
@ -5224,7 +5230,7 @@ msgstr ""
#. name for cld
msgid "Neo-Aramaic; Chaldean"
msgstr ""
msgstr "arámi; új-arámi; új-babilóniai"
#. name for cle
msgid "Chinantec; Lealao"
@ -5622,7 +5628,7 @@ msgstr "kasubi"
#. name for csc
msgid "Catalan Sign Language"
msgstr ""
msgstr "katalán jelnyelv"
#. name for csd
msgid "Chiangmai Sign Language"
@ -5630,7 +5636,7 @@ msgstr ""
#. name for cse
msgid "Czech Sign Language"
msgstr ""
msgstr "cseh jelnyelv"
#. name for csf
msgid "Cuba Sign Language"
@ -7261,7 +7267,7 @@ msgstr ""
#. name for enm
msgid "English; Middle (1100-1500)"
msgstr "közép-angol (1100-1500)"
msgstr "angol; középkori (1100-1500)"
#. name for enn
msgid "Engenni"
@ -7697,7 +7703,7 @@ msgstr ""
#. name for fpe
msgid "Creole English; Fernando Po"
msgstr ""
msgstr "angol (kreol); Fernando Po"
#. name for fqs
msgid "Fas"
@ -7726,7 +7732,7 @@ msgstr ""
#. name for fro
msgid "French; Old (842-ca. 1400)"
msgstr ""
msgstr "francia; ófrancia (842- kb. 1400)"
#. name for frp
msgid "Arpitan"
@ -8059,7 +8065,7 @@ msgstr ""
#. name for gcl
msgid "Creole English; Grenadian"
msgstr ""
msgstr "angol (kreol); Grenada"
#. name for gcn
msgid "Gaina"
@ -8442,7 +8448,7 @@ msgstr "ír"
#. name for glg
msgid "Galician"
msgstr ""
msgstr "galíciai"
#. name for glh
msgid "Pashayi; Northwest"
@ -8634,7 +8640,7 @@ msgstr ""
#. name for goh
msgid "German; Old High (ca. 750-1050)"
msgstr ""
msgstr "német; ónémet (kb. 750-1050)"
#. name for goi
msgid "Gobasi"
@ -9716,7 +9722,7 @@ msgstr ""
#. name for hsh
msgid "Hungarian Sign Language"
msgstr ""
msgstr "magyar jelnyelv"
#. name for hsl
msgid "Hausa Sign Language"
@ -10931,7 +10937,7 @@ msgstr ""
#. name for jpa
msgid "Aramaic; Jewish Palestinian"
msgstr ""
msgstr "arámi; zsidó palesztin"
# src/trans.h:222
#. name for jpn
@ -11799,7 +11805,7 @@ msgstr ""
#. name for khg
msgid "Tibetan; Khams"
msgstr ""
msgstr "tibeti; Khams"
#. name for khh
msgid "Kehu"
@ -12076,7 +12082,7 @@ msgstr ""
#. name for kka
msgid "Kakanda"
msgstr ""
msgstr "kakanda"
#. name for kkb
msgid "Kwerisa"
@ -18256,7 +18262,7 @@ msgstr ""
#. name for nhb
msgid "Beng"
msgstr ""
msgstr "beng"
#. name for nhc
msgid "Nahuatl; Tabasco"
@ -18926,7 +18932,7 @@ msgstr ""
#. name for non
msgid "Norse; Old"
msgstr "ónorvég"
msgstr "norvég; ónorvég"
#. name for nop
msgid "Numanggang"
@ -19347,7 +19353,7 @@ msgstr ""
#. name for nwc
msgid "Newari; Old"
msgstr ""
msgstr "newari; ónewari"
#. name for nwe
msgid "Ngwe"
@ -19567,11 +19573,11 @@ msgstr ""
#. name for oar
msgid "Aramaic; Old (up to 700 BCE)"
msgstr ""
msgstr "arámi; óarámi (i.e. 700-ig)"
#. name for oav
msgid "Avar; Old"
msgstr ""
msgstr "avar; óavar"
#. name for obi
msgid "Obispeño"
@ -19595,11 +19601,11 @@ msgstr ""
#. name for obr
msgid "Burmese; Old"
msgstr ""
msgstr "burmai; óburmai"
#. name for obt
msgid "Breton; Old"
msgstr ""
msgstr "breton; óbreton"
#. name for obu
msgid "Obulom"
@ -19611,7 +19617,7 @@ msgstr ""
#. name for och
msgid "Chinese; Old"
msgstr ""
msgstr "kínai; ókínai"
#. name for oci
msgid "Occitan (post 1500)"
@ -19635,7 +19641,7 @@ msgstr ""
#. name for odt
msgid "Dutch; Old"
msgstr ""
msgstr "holland; óholland"
#. name for odu
msgid "Odual"
@ -19647,7 +19653,7 @@ msgstr ""
#. name for ofs
msgid "Frisian; Old"
msgstr ""
msgstr "fríz; ófríz"
#. name for ofu
msgid "Efutop"
@ -19663,7 +19669,7 @@ msgstr ""
#. name for oge
msgid "Georgian; Old"
msgstr ""
msgstr "grúz; ógrúz"
#. name for ogg
msgid "Ogbogolo"
@ -19679,11 +19685,11 @@ msgstr ""
#. name for oht
msgid "Hittite; Old"
msgstr ""
msgstr "hettita; óhettita"
#. name for ohu
msgid "Hungarian; Old"
msgstr ""
msgstr "magyar; ómagyar"
#. name for oia
msgid "Oirata"
@ -19711,7 +19717,7 @@ msgstr "odzsibwa"
#. name for ojp
msgid "Japanese; Old"
msgstr ""
msgstr "japán; ójapán"
#. name for ojs
msgid "Ojibwa; Severn"
@ -19771,7 +19777,7 @@ msgstr ""
#. name for oko
msgid "Korean; Old (3rd-9th cent.)"
msgstr ""
msgstr "koreai; ókoreai (III--IX. sz.)"
#. name for okr
msgid "Kirike"
@ -19939,7 +19945,7 @@ msgstr ""
#. name for onw
msgid "Nubian; Old"
msgstr ""
msgstr "núbiai; ónúbiai"
#. name for onx
msgid "Onin Based Pidgin"
@ -20043,7 +20049,7 @@ msgstr ""
#. name for orv
msgid "Russian; Old"
msgstr ""
msgstr "orosz; óorosz"
#. name for orw
msgid "Oro Win"
@ -20075,7 +20081,7 @@ msgstr ""
#. name for osp
msgid "Spanish; Old"
msgstr ""
msgstr "spanyol; óspanyol"
#. name for oss
msgid "Ossetian"
@ -20091,7 +20097,7 @@ msgstr ""
#. name for osx
msgid "Saxon; Old"
msgstr ""
msgstr "szász; ószász"
#. name for ota
msgid "Turkish; Ottoman (1500-1928)"
@ -20099,7 +20105,7 @@ msgstr "török (ottomán) (1500-1928)"
#. name for otb
msgid "Tibetan; Old"
msgstr ""
msgstr "tibeti; ótibeti"
#. name for otd
msgid "Ot Danum"
@ -20115,7 +20121,7 @@ msgstr ""
#. name for otk
msgid "Turkish; Old"
msgstr ""
msgstr "török; ótörök"
#. name for otl
msgid "Otomi; Tilapa"
@ -20159,7 +20165,7 @@ msgstr ""
#. name for oty
msgid "Tamil; Old"
msgstr ""
msgstr "tamil; ótamil"
#. name for otz
msgid "Otomi; Ixtenco"
@ -20179,7 +20185,7 @@ msgstr ""
#. name for oui
msgid "Uighur; Old"
msgstr ""
msgstr "ujgur; óujgur"
#. name for oum
msgid "Ouma"
@ -20195,7 +20201,7 @@ msgstr ""
#. name for owl
msgid "Welsh; Old"
msgstr ""
msgstr "walesi; ówalesi"
#. name for oyb
msgid "Oy"
@ -20532,7 +20538,7 @@ msgstr ""
#. name for peo
msgid "Persian; Old (ca. 600-400 B.C.)"
msgstr ""
msgstr "perzsa"
#. name for pep
msgid "Kunja"
@ -22487,7 +22493,7 @@ msgstr ""
#. name for sam
msgid "Aramaic; Samaritan"
msgstr ""
msgstr "arámi; szamaritánus"
# src/trans.h:193
#. name for san
@ -22914,7 +22920,7 @@ msgstr ""
#. name for sga
msgid "Irish; Old (to 900)"
msgstr "óír (900-ig)"
msgstr "ír; óír (900-ig)"
#. name for sgb
msgid "Ayta; Mag-antsi"
@ -25571,7 +25577,7 @@ msgstr "tumleo"
#. name for tmr
msgid "Aramaic; Jewish Babylonian (ca. 200-1200 CE)"
msgstr ""
msgstr "arámi; zsidó babilóniai (kb. 200-1200)"
#. name for tms
msgid "Tima"
@ -28446,10 +28452,9 @@ msgstr ""
msgid "Kombio"
msgstr "kombio"
# src/trans.h:285
#. name for xbm
msgid "Breton; Middle"
msgstr "breton; közép"
msgstr "breton; Középkori"
#. name for xbn
msgid "Kenaboi"
@ -28514,7 +28519,7 @@ msgstr ""
#. name for xct
msgid "Tibetan; Classical"
msgstr ""
msgstr "tibeti; klasszikus"
#. name for xcu
msgid "Curonian"
@ -30792,7 +30797,7 @@ msgstr ""
#. name for zpg
msgid "Zapotec; Guevea De Humboldt"
msgstr ""
msgstr "zapoték; Guevea De Humboldt"
#. name for zph
msgid "Zapotec; Totomachapan"

View File

@ -10,14 +10,14 @@ msgstr ""
"Report-Msgid-Bugs-To: Debian iso-codes team <pkg-isocodes-"
"devel@lists.alioth.debian.org>\n"
"POT-Creation-Date: 2011-09-27 14:31+0000\n"
"PO-Revision-Date: 2011-10-25 19:06+0000\n"
"Last-Translator: zeugma <Unknown>\n"
"PO-Revision-Date: 2011-11-11 00:16+0000\n"
"Last-Translator: kulkke <Unknown>\n"
"Language-Team: Turkish <gnome-turk@gnome.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-10-26 05:13+0000\n"
"X-Generator: Launchpad (build 14189)\n"
"X-Launchpad-Export-Date: 2011-11-11 04:53+0000\n"
"X-Generator: Launchpad (build 14277)\n"
"Language: tr\n"
#. name for aaa
@ -18891,7 +18891,7 @@ msgstr ""
#. name for nor
msgid "Norwegian"
msgstr "Norveççe"
msgstr "Norveçce"
#. name for nos
msgid "Nisu; Eastern"

View File

@ -116,8 +116,14 @@ class UploadToGoogleCode(Command): # {{{
return self.re_upload()
for fname in installers():
path = self.upload_one(fname)
self.paths[os.path.basename(fname)] = path
bname = os.path.basename(fname)
if bname in self.old_files:
path = 'http://calibre-ebook.googlecode.com/files/'+bname
self.info('%s already uploaded, skipping. Assuming URL is: %s',
bname, path)
else:
path = self.upload_one(fname)
self.paths[bname] = path
self.info('Updating path map')
self.info(repr(self.paths))
raw = subprocess.Popen(['ssh', 'divok', 'cat', self.GPATHS],

View File

@ -4,7 +4,7 @@ __license__ = 'GPL v3'
__copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net'
__docformat__ = 'restructuredtext en'
__appname__ = u'calibre'
numeric_version = (0, 8, 25)
numeric_version = (0, 8, 26)
__version__ = u'.'.join(map(unicode, numeric_version))
__author__ = u"Kovid Goyal <kovid@kovidgoyal.net>"

View File

@ -554,7 +554,8 @@ from calibre.devices.eb600.driver import (EB600, COOL_ER, SHINEBOOK,
from calibre.devices.iliad.driver import ILIAD
from calibre.devices.irexdr.driver import IREXDR1000, IREXDR800
from calibre.devices.jetbook.driver import JETBOOK, MIBUK, JETBOOK_MINI
from calibre.devices.kindle.driver import KINDLE, KINDLE2, KINDLE_DX
from calibre.devices.kindle.driver import (KINDLE, KINDLE2, KINDLE_DX,
KINDLE_FIRE)
from calibre.devices.nook.driver import NOOK, NOOK_COLOR
from calibre.devices.prs505.driver import PRS505
from calibre.devices.prst1.driver import PRST1
@ -656,9 +657,7 @@ plugins += [
MIBUK,
SHINEBOOK,
POCKETBOOK360, POCKETBOOK301, POCKETBOOK602, POCKETBOOK701, POCKETBOOK360P,
KINDLE,
KINDLE2,
KINDLE_DX,
KINDLE, KINDLE2, KINDLE_DX, KINDLE_FIRE,
NOOK, NOOK_COLOR,
PRS505, PRST1,
ANDROID, S60, WEBOS,

View File

@ -652,6 +652,15 @@ class KindleDXOutput(OutputProfile):
return u'%s <br/><span style="color: white">%s</span>' % (', '.join(tags),
'ttt '.join(tags)+'ttt ')
class KindleFireOutput(KindleDXOutput):
name = 'Kindle Fire'
short_name = 'kindle_fire'
description = _('This profile is intended for the Amazon Kindle Fire.')
screen_size = (570, 1016)
dpi = 169.0
comic_screen_size = (570, 1016)
class IlliadOutput(OutputProfile):

View File

@ -106,7 +106,7 @@ class ANDROID(USBMS):
0x61c5 : [0x100, 0x226, 0x9999],
0x61cc : [0x100],
0x61ce : [0x100],
0x618e : [0x226, 0x9999, 0x100]
0x618e : [0x226, 0x227, 0x9999, 0x100]
},
# Archos

View File

@ -256,6 +256,8 @@ class DevicePlugin(Plugin):
def set_progress_reporter(self, report_progress):
'''
Set a function to report progress information.
:param report_progress: Function that is called with a % progress
(number between 0 and 100) for various tasks
If it is called with -1 that means that the

View File

@ -377,3 +377,22 @@ class KINDLE_DX(KINDLE2):
PRODUCT_ID = [0x0003]
BCD = [0x0100]
class KINDLE_FIRE(KINDLE2):
name = 'Kindle Fire Device Interface'
description = _('Communicate with the Kindle Fire')
gui_name = 'Fire'
PRODUCT_ID = [0x0006]
BCD = [0x216, 0x100]
EBOOK_DIR_MAIN = 'Documents'
SUPPORTS_SUB_DIRS = False
def get_main_ebook_dir(self, for_upload=False):
if for_upload:
return self.EBOOK_DIR_MAIN
return ''

View File

@ -83,7 +83,7 @@ class NOOK(USBMS):
class NOOK_COLOR(NOOK):
description = _('Communicate with the Nook Color and TSR eBook readers.')
PRODUCT_ID = [0x002, 0x003]
PRODUCT_ID = [0x002, 0x003, 0x004]
BCD = [0x216]
WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = 'EBOOK_DISK'
@ -105,4 +105,3 @@ class NOOK_COLOR(NOOK):
return USBMS.create_upload_path(self, path, mdata, fname,
create_dirs=create_dirs)

View File

@ -13,9 +13,11 @@ Device driver for the SONY T1 devices
import os, time, re
import sqlite3 as sqlite
from sqlite3 import DatabaseError
from contextlib import closing
from datetime import date
from calibre.devices.errors import DeviceError
from calibre.devices.usbms.driver import USBMS, debug_print
from calibre.devices.usbms.device import USBDevice
from calibre.devices.usbms.books import CollectionsBookList
@ -275,11 +277,19 @@ class PRST1(USBMS):
refresh_covers = opts.extra_customization[self.OPT_REFRESH_COVERS]
use_sony_authors = opts.extra_customization[self.OPT_USE_SONY_AUTHORS]
cursor = connection.cursor()
try:
cursor = connection.cursor()
# Get existing books
query = 'SELECT file_path, _id FROM books'
cursor.execute(query)
# Get existing books
query = 'SELECT file_path, _id FROM books'
cursor.execute(query)
except DatabaseError:
raise DeviceError('The SONY database is corrupted. '
' Delete the file %s on your reader and then disconnect '
' reconnect it. If you are using an SD card, you '
' should delete the file on the card as well. Note that '
' deleting this file may cause your reader to forget '
' any notes/highlights, etc.')
db_books = {}
for i, row in enumerate(cursor):
@ -503,7 +513,10 @@ class PRST1(USBMS):
def upload_book_cover(self, connection, book, source_id):
debug_print('PRST1: Uploading/Refreshing Cover for ' + book.title)
if not book.thumbnail or not book.thumbnail[-1]:
if (not book.thumbnail or isinstance(book.thumbnail, ImageWrapper) or
not book.thumbnail[-1]):
# If the thumbnail is an ImageWrapper instance, it refers to a book
# not in the calibre library
return
cursor = connection.cursor()

View File

@ -134,7 +134,7 @@ def add_pipeline_options(parser, plumber):
'font_size_mapping',
'line_height', 'minimum_line_height',
'linearize_tables',
'extra_css',
'extra_css', 'filter_css',
'smarten_punctuation', 'unsmarten_punctuation',
'margin_top', 'margin_left', 'margin_right',
'margin_bottom', 'change_justification',

View File

@ -308,6 +308,16 @@ OptionRecommendation(name='extra_css',
'rules.')
),
OptionRecommendation(name='filter_css',
recommended_value=None, level=OptionRecommendation.LOW,
help=_('A comma separated list of CSS properties that '
'will be removed from all CSS style rules. This is useful '
'if the presence of some style information prevents it '
'from being overridden on your device. '
'For example: '
'font-family,color,margin-left,margin-right')
),
OptionRecommendation(name='page_breaks_before',
recommended_value="//*[name()='h1' or name()='h2']",
level=OptionRecommendation.LOW,

View File

@ -180,7 +180,7 @@ class EPUBInput(InputFormatPlugin):
for y in opf.itermanifest():
id_ = y.get('id', None)
if id_ and y.get('media-type', None) in \
('application/vnd.adobe-page-template+xml',):
('application/vnd.adobe-page-template+xml','application/text'):
not_for_spine.add(id_)
for x in list(opf.iterspine()):
@ -189,6 +189,9 @@ class EPUBInput(InputFormatPlugin):
x.getparent().remove(x)
continue
if len(list(opf.iterspine())) == 0:
raise ValueError('No valid entries in the spine of this EPUB')
with open('content.opf', 'wb') as nopf:
nopf.write(opf.render())

View File

@ -13,7 +13,7 @@ Input plugin for HTML or OPF ebooks.
import os, re, sys, uuid, tempfile, errno as gerrno
from urlparse import urlparse, urlunparse
from urllib import unquote
from urllib import unquote, quote
from functools import partial
from itertools import izip
@ -468,7 +468,10 @@ class HTMLInput(InputFormatPlugin):
self.oeb.log, ignore_opf=True)
# Load into memory
item = self.oeb.manifest.add(id, href, media_type)
item.html_input_href = bhref
# bhref refers to an already existing file. The read() method of
# DirContainer will call unquote on it before trying to read the
# file, therefore we quote it here.
item.html_input_href = quote(bhref)
if guessed in self.OEB_STYLES:
item.override_css_fetch = partial(
self.css_import_handler, os.path.dirname(link))

View File

@ -12,7 +12,7 @@ from urllib import urlencode
from threading import Thread
from Queue import Queue, Empty
from lxml.html import soupparser, tostring
from lxml.html import tostring
from calibre import as_unicode
from calibre.ebooks.metadata import check_isbn
@ -23,6 +23,7 @@ from calibre.ebooks.metadata.book.base import Metadata
from calibre.library.comments import sanitize_comments_html
from calibre.utils.date import parse_date
from calibre.utils.localization import canonicalize_lang
from calibre.utils.soupparser import fromstring
class Worker(Thread): # Get details {{{
@ -199,7 +200,7 @@ class Worker(Thread): # Get details {{{
return
try:
root = soupparser.fromstring(clean_ascii_chars(raw))
root = fromstring(clean_ascii_chars(raw))
except:
msg = 'Failed to parse amazon details page: %r'%self.url
self.log.exception(msg)
@ -623,7 +624,7 @@ class Amazon(Source):
if found:
try:
root = soupparser.fromstring(clean_ascii_chars(raw))
root = fromstring(clean_ascii_chars(raw))
except:
msg = 'Failed to parse amazon page for query: %r'%query
log.exception(msg)

View File

@ -14,13 +14,13 @@ from threading import RLock
from Queue import Queue, Empty
from lxml import html
from lxml.html import soupparser
from calibre.ebooks.metadata import check_isbn
from calibre.ebooks.metadata.sources.base import Source, Option
from calibre.ebooks.metadata.book.base import Metadata
from calibre.ebooks.chardet import xml_to_unicode
from calibre.library.comments import sanitize_comments_html
from calibre.utils.soupparser import fromstring
ovrdrv_data_cache = {}
cache_lock = RLock()
@ -403,7 +403,7 @@ class OverDrive(Source):
raw = xml_to_unicode(raw, strip_encoding_pats=True,
resolve_entities=True)[0]
try:
root = soupparser.fromstring(raw)
root = fromstring(raw)
except:
return False

View File

@ -353,14 +353,14 @@ class MobiReader(object):
self.processed_html = self.remove_random_bytes(self.processed_html)
root = html.fromstring(self.processed_html)
if root.xpath('descendant::p/descendant::p'):
from lxml.html import soupparser
from calibre.utils.soupparser import fromstring
self.log.warning('Malformed markup, parsing using BeautifulSoup')
try:
root = soupparser.fromstring(self.processed_html)
root = fromstring(self.processed_html)
except Exception:
self.log.warning('MOBI markup appears to contain random bytes. Stripping.')
self.processed_html = self.remove_random_bytes(self.processed_html)
root = soupparser.fromstring(self.processed_html)
root = fromstring(self.processed_html)
if root.tag != 'html':
self.log.warn('File does not have opening <html> tag')
@ -929,7 +929,7 @@ class MobiReader(object):
for match in link_pattern.finditer(self.mobi_html):
positions.add(int(match.group(1)))
pos = 0
self.processed_html = ''
processed_html = cStringIO.StringIO()
end_tag_re = re.compile(r'<\s*/')
for end in sorted(positions):
if end == 0:
@ -947,12 +947,14 @@ class MobiReader(object):
end = r
else:
end = r + 1
self.processed_html += self.mobi_html[pos:end] + (anchor % oend)
processed_html.write(self.mobi_html[pos:end] + (anchor % oend))
pos = end
self.processed_html += self.mobi_html[pos:]
processed_html.write(self.mobi_html[pos:])
processed_html = processed_html.getvalue()
# Remove anchors placed inside entities
self.processed_html = re.sub(r'&([^;]*?)(<a id="filepos\d+"></a>)([^;]*);',
r'&\1\3;\2', self.processed_html)
r'&\1\3;\2', processed_html)
def extract_images(self, processed_records, output_dir):

View File

@ -44,15 +44,19 @@ class Extract(ODF2XHTML):
# Remove the position:relative as it causes problems with some epub
# renderers. Remove display: block on an image inside a div as it is
# redundant and prevents text-align:center from working in ADE
# Also ensure that the img is contained in its containing div
imgpath = XPath('//h:div/h:img[@style]')
for img in imgpath(root):
div = img.getparent()
if len(div) == 1:
style = div.attrib['style'].replace('position:relative', '')
if style.startswith(';'): style = style[1:]
style = div.attrib.get('style', '')
if style and not style.endswith(';'):
style = style + ';'
style += 'position:static' # Ensures position of containing
# div is static
# Ensure that the img is always contained in its frame
div.attrib['style'] = style
if img.attrib.get('style', '') == 'display: block;':
del img.attrib['style']
img.attrib['style'] = 'max-width: 100%; max-height: 100%'
# A div/div/img construct causes text-align:center to not work in ADE
# so set the display of the second div to inline. This should have no

View File

@ -894,8 +894,8 @@ class Manifest(object):
except etree.XMLSyntaxError as err:
self.oeb.logger.warn('Parsing file %r as HTML' % self.href)
if err.args and err.args[0].startswith('Excessive depth'):
from lxml.html import soupparser
data = soupparser.fromstring(data)
from calibre.utils.soupparser import fromstring
data = fromstring(data)
else:
data = html.fromstring(data)
data.attrib.pop('xmlns', None)

View File

@ -118,8 +118,20 @@ class CSSFlattener(object):
def __call__(self, oeb, context):
oeb.logger.info('Flattening CSS and remapping font sizes...')
self.context = self.opts =context
self.oeb = oeb
self.context = context
self.filter_css = frozenset()
if self.opts.filter_css:
try:
self.filter_css = frozenset([x.strip().lower() for x in
self.opts.filter_css.split(',')])
except:
self.oeb.log.warning('Failed to parse filter_css, ignoring')
else:
self.oeb.log.debug('Filtering CSS properties: %s'%
', '.join(self.filter_css))
self.stylize_spine()
self.sbase = self.baseline_spine() if self.fbase else None
self.fmap = FontMapper(self.sbase, self.fbase, self.fkey)
@ -279,6 +291,10 @@ class CSSFlattener(object):
except:
self.oeb.logger.exception('Failed to set minimum line-height')
if cssdict:
for x in self.filter_css:
cssdict.pop(x, None)
if cssdict:
if self.lineh and self.fbase and tag != 'body':
self.clean_edges(cssdict, style, psize)
@ -311,7 +327,6 @@ class CSSFlattener(object):
lineh = self.lineh / psize
cssdict['line-height'] = "%0.5fem" % lineh
if (self.context.remove_paragraph_spacing or
self.context.insert_blank_line) and tag in ('p', 'div'):
if item_id != 'calibre_jacket' or self.context.output_profile.name == 'Kindle':

View File

@ -171,6 +171,14 @@ def render_jacket(mi, output_profile,
comments=comments,
footer=''
)
for key in mi.custom_field_keys():
try:
display_name, val = mi.format_field_extended(key)[:2]
key = key.replace('#', '_')
args[key] = val
args[key+'_label'] = display_name
except:
pass
generated_html = P('jacket/template.xhtml',
data=True).decode('utf-8').format(**args)

View File

@ -175,6 +175,8 @@ def _config(): # {{{
help='Search history for the plugin preferences')
c.add_opt('shortcuts_search_history', default=[],
help='Search history for the keyboard preferences')
c.add_opt('jobs_search_history', default=[],
help='Search history for the keyboard preferences')
c.add_opt('tweaks_search_history', default=[],
help='Search history for tweaks')
c.add_opt('worker_limit', default=6,

View File

@ -22,7 +22,6 @@ from calibre.constants import preferred_encoding, filesystem_encoding
from calibre.gui2.actions import InterfaceAction
from calibre.gui2 import question_dialog
from calibre.ebooks.metadata import MetaInformation
from calibre.ebooks.metadata.sources.base import msprefs
def get_filters():
return [
@ -181,17 +180,9 @@ class AddAction(InterfaceAction):
except IndexError:
self.gui.library_view.model().books_added(self.isbn_add_dialog.value)
self.isbn_add_dialog.accept()
orig = msprefs['ignore_fields']
new = list(orig)
for x in ('title', 'authors'):
if x in new:
new.remove(x)
msprefs['ignore_fields'] = new
try:
self.gui.iactions['Edit Metadata'].download_metadata(
ids=self.add_by_isbn_ids)
finally:
msprefs['ignore_fields'] = orig
self.gui.iactions['Edit Metadata'].download_metadata(
ids=self.add_by_isbn_ids, ensure_fields=frozenset(['title',
'authors']))
return

View File

@ -66,7 +66,7 @@ class EditMetadataAction(InterfaceAction):
self.action_merge.setEnabled(enabled)
# Download metadata {{{
def download_metadata(self, ids=None):
def download_metadata(self, ids=None, ensure_fields=None):
if ids is None:
rows = self.gui.library_view.selectionModel().selectedRows()
if not rows or len(rows) == 0:
@ -76,7 +76,8 @@ class EditMetadataAction(InterfaceAction):
ids = [db.id(row.row()) for row in rows]
from calibre.gui2.metadata.bulk_download import start_download
start_download(self.gui, ids,
Dispatcher(self.metadata_downloaded))
Dispatcher(self.metadata_downloaded),
ensure_fields=ensure_fields)
def metadata_downloaded(self, job):
if job.failed:

View File

@ -8,7 +8,6 @@ __docformat__ = 'restructuredtext en'
import re, os
from lxml import html
from lxml.html import soupparser
from PyQt4.Qt import QApplication, QFontInfo, QSize, QWidget, QPlainTextEdit, \
QToolBar, QVBoxLayout, QAction, QIcon, Qt, QTabWidget, QUrl, \
@ -19,6 +18,7 @@ from PyQt4.QtWebKit import QWebView, QWebPage
from calibre.ebooks.chardet import xml_to_unicode
from calibre import xml_replace_entities
from calibre.gui2 import open_url
from calibre.utils.soupparser import fromstring
class PageAction(QAction): # {{{
@ -227,7 +227,7 @@ class EditorWidget(QWebView): # {{{
try:
root = html.fromstring(raw)
except:
root = soupparser.fromstring(raw)
root = fromstring(raw)
elems = []
for body in root.xpath('//body'):

View File

@ -18,6 +18,16 @@ class LookAndFeelWidget(Widget, Ui_Form):
HELP = _('Control the look and feel of the output')
COMMIT_NAME = 'look_and_feel'
FILTER_CSS = {
'fonts': {'font-family'},
'margins': {'margin', 'margin-left', 'margin-right', 'margin-top',
'margin-bottom'},
'padding': {'padding', 'padding-left', 'padding-right', 'padding-top',
'padding-bottom'},
'floats': {'float'},
'colors': {'color', 'background', 'background-color'},
}
def __init__(self, parent, get_option, get_help, db=None, book_id=None):
Widget.__init__(self, parent,
['change_justification', 'extra_css', 'base_font_size',
@ -27,7 +37,7 @@ class LookAndFeelWidget(Widget, Ui_Form):
'remove_paragraph_spacing',
'remove_paragraph_spacing_indent_size',
'insert_blank_line_size',
'input_encoding',
'input_encoding', 'filter_css',
'asciiize', 'keep_ligatures',
'linearize_tables']
)
@ -56,6 +66,15 @@ class LookAndFeelWidget(Widget, Ui_Form):
if g is self.opt_change_justification:
ans = unicode(g.itemData(g.currentIndex()).toString())
return ans
if g is self.opt_filter_css:
ans = set()
for key, item in self.FILTER_CSS.iteritems():
w = getattr(self, 'filter_css_%s'%key)
if w.isChecked():
ans = ans.union(item)
ans = ans.union(set([x.strip().lower() for x in
unicode(self.filter_css_others.text()).split(',')]))
return ','.join(ans) if ans else None
return Widget.get_value_handler(self, g)
def set_value_handler(self, g, val):
@ -66,6 +85,27 @@ class LookAndFeelWidget(Widget, Ui_Form):
g.setCurrentIndex(i)
break
return True
if g is self.opt_filter_css:
if not val: val = ''
items = frozenset([x.strip().lower() for x in val.split(',')])
for key, vals in self.FILTER_CSS.iteritems():
w = getattr(self, 'filter_css_%s'%key)
if not vals - items:
items = items - vals
w.setChecked(True)
else:
w.setChecked(False)
self.filter_css_others.setText(', '.join(items))
return True
def connect_gui_obj_handler(self, gui_obj, slot):
if gui_obj is self.opt_filter_css:
for key in self.FILTER_CSS:
w = getattr(self, 'filter_css_%s'%key)
w.stateChanged.connect(slot)
self.filter_css_others.textChanged.connect(slot)
return
raise NotImplementedError()
def font_key_wizard(self):
from calibre.gui2.convert.font_key import FontKeyChooser

View File

@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>642</width>
<width>655</width>
<height>522</height>
</rect>
</property>
@ -164,6 +164,41 @@
</property>
</widget>
</item>
<item row="6" column="3">
<widget class="QLabel" name="label_4">
<property name="text">
<string>&amp;Indent size:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>opt_remove_paragraph_spacing_indent_size</cstring>
</property>
</widget>
</item>
<item row="6" column="4">
<widget class="QDoubleSpinBox" name="opt_remove_paragraph_spacing_indent_size">
<property name="toolTip">
<string>&lt;p&gt;When calibre removes inter paragraph spacing, it automatically sets a paragraph indent, to ensure that paragraphs can be easily distinguished. This option controls the width of that indent.</string>
</property>
<property name="specialValueText">
<string>No change</string>
</property>
<property name="suffix">
<string> em</string>
</property>
<property name="decimals">
<number>1</number>
</property>
<property name="minimum">
<double>-0.100000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
<item row="7" column="0" colspan="2">
<widget class="QCheckBox" name="opt_insert_blank_line">
<property name="text">
@ -171,6 +206,19 @@
</property>
</widget>
</item>
<item row="7" column="3">
<widget class="QLabel" name="label_7">
<property name="text">
<string>&amp;Line size:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>opt_insert_blank_line_size</cstring>
</property>
</widget>
</item>
<item row="7" column="4">
<widget class="QDoubleSpinBox" name="opt_insert_blank_line_size">
<property name="suffix">
@ -194,80 +242,6 @@
<item row="8" column="2" colspan="3">
<widget class="QComboBox" name="opt_change_justification"/>
</item>
<item row="9" column="1" colspan="4">
<widget class="QCheckBox" name="opt_asciiize">
<property name="text">
<string>&amp;Transliterate unicode characters to ASCII</string>
</property>
</widget>
</item>
<item row="10" column="1" colspan="2">
<widget class="QCheckBox" name="opt_keep_ligatures">
<property name="text">
<string>Keep &amp;ligatures</string>
</property>
</widget>
</item>
<item row="13" column="0" colspan="5">
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Extra &amp;CSS</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<widget class="QTextEdit" name="opt_extra_css"/>
</item>
</layout>
</widget>
</item>
<item row="6" column="4">
<widget class="QDoubleSpinBox" name="opt_remove_paragraph_spacing_indent_size">
<property name="toolTip">
<string>&lt;p&gt;When calibre removes inter paragraph spacing, it automatically sets a paragraph indent, to ensure that paragraphs can be easily distinguished. This option controls the width of that indent.</string>
</property>
<property name="specialValueText">
<string>No change</string>
</property>
<property name="suffix">
<string> em</string>
</property>
<property name="decimals">
<number>1</number>
</property>
<property name="minimum">
<double>-0.100000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
<item row="6" column="3">
<widget class="QLabel" name="label_4">
<property name="text">
<string>&amp;Indent size:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>opt_remove_paragraph_spacing_indent_size</cstring>
</property>
</widget>
</item>
<item row="7" column="3">
<widget class="QLabel" name="label_7">
<property name="text">
<string>&amp;Line size:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>opt_insert_blank_line_size</cstring>
</property>
</widget>
</item>
<item row="9" column="0">
<widget class="QCheckBox" name="opt_smarten_punctuation">
<property name="text">
@ -275,6 +249,13 @@
</property>
</widget>
</item>
<item row="9" column="1" colspan="4">
<widget class="QCheckBox" name="opt_asciiize">
<property name="text">
<string>&amp;Transliterate unicode characters to ASCII</string>
</property>
</widget>
</item>
<item row="10" column="0">
<widget class="QCheckBox" name="opt_unsmarten_punctuation">
<property name="text">
@ -282,6 +263,13 @@
</property>
</widget>
</item>
<item row="10" column="1" colspan="2">
<widget class="QCheckBox" name="opt_keep_ligatures">
<property name="text">
<string>Keep &amp;ligatures</string>
</property>
</widget>
</item>
<item row="10" column="3">
<widget class="QCheckBox" name="opt_linearize_tables">
<property name="text">
@ -289,6 +277,111 @@
</property>
</widget>
</item>
<item row="11" column="0" colspan="5">
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="extra_css_tab">
<attribute name="title">
<string>&amp;Extra CSS</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QTextEdit" name="opt_extra_css"/>
</item>
</layout>
</widget>
<widget class="QWidget" name="opt_filter_css">
<attribute name="title">
<string>&amp;Filter Style Information</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0" colspan="5">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Select what style information you want completely removed:</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="filter_css_fonts">
<property name="toolTip">
<string>Removes the font-family CSS property</string>
</property>
<property name="text">
<string>&amp;Fonts</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="filter_css_margins">
<property name="toolTip">
<string>Removes the margin CSS properties. Note that page margins are not affected by this setting.</string>
</property>
<property name="text">
<string>&amp;Margins</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QCheckBox" name="filter_css_padding">
<property name="toolTip">
<string>Removes the padding CSS properties</string>
</property>
<property name="text">
<string>&amp;Padding</string>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QCheckBox" name="filter_css_floats">
<property name="toolTip">
<string>Convert floating images/text into static images/text</string>
</property>
<property name="text">
<string>F&amp;loats</string>
</property>
</widget>
</item>
<item row="1" column="4">
<widget class="QCheckBox" name="filter_css_colors">
<property name="toolTip">
<string>Removes foreground and background colors</string>
</property>
<property name="text">
<string>&amp;Colors</string>
</property>
</widget>
</item>
<item row="2" column="0" colspan="5">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label_9">
<property name="text">
<string>&amp;Other CSS Properties:</string>
</property>
<property name="buddy">
<cstring>filter_css_others</cstring>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="filter_css_others">
<property name="toolTip">
<string>Comma separated list of CSS properties to remove. For example: display, color, font-family</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<customwidgets>

View File

@ -17,8 +17,36 @@
<iconset resource="../../../../resources/images.qrc">
<normaloff>:/images/jobs.png</normaloff>:/images/jobs.png</iconset>
</property>
<layout class="QVBoxLayout">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="SearchBox2" name="search"/>
</item>
<item>
<widget class="QToolButton" name="search_button">
<property name="toolTip">
<string>Find next match</string>
</property>
<property name="text">
<string>&amp;Search</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="clear_button">
<property name="toolTip">
<string>Find previous match</string>
</property>
<property name="icon">
<iconset resource="../../../../resources/images.qrc">
<normaloff>:/images/clear_left.png</normaloff>:/images/clear_left.png</iconset>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0" colspan="2">
<widget class="QTableView" name="jobs_view">
<property name="contextMenuPolicy">
<enum>Qt::NoContextMenu</enum>
@ -40,29 +68,57 @@
</property>
</widget>
</item>
<item>
<item row="2" column="0">
<widget class="QPushButton" name="kill_button">
<property name="text">
<string>&amp;Stop selected jobs</string>
</property>
</widget>
</item>
<item>
<item row="2" column="1">
<widget class="QPushButton" name="hide_button">
<property name="text">
<string>&amp;Hide selected jobs</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QPushButton" name="details_button">
<property name="text">
<string>Show job &amp;details</string>
</property>
</widget>
</item>
<item>
<item row="3" column="1">
<widget class="QPushButton" name="show_button">
<property name="text">
<string>Show &amp;all jobs</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QPushButton" name="stop_all_jobs_button">
<property name="text">
<string>Stop &amp;all non device jobs</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QPushButton" name="hide_all_button">
<property name="text">
<string>&amp;Hide all jobs</string>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>SearchBox2</class>
<extends>QComboBox</extends>
<header>calibre/gui2/search_box.h</header>
</customwidget>
</customwidgets>
<resources>
<include location="../../../../resources/images.qrc"/>
</resources>

View File

@ -340,6 +340,7 @@ class MetadataBulkDialog(ResizableDialog, Ui_MetadataBulkDialog):
self.restoreGeometry(bytes(geom))
self.languages.init_langs(self.db)
self.languages.setEditText('')
self.authors.setFocus(Qt.OtherFocusReason)
self.exec_()
def save_state(self, *args):

View File

@ -14,7 +14,7 @@
<string>Edit Meta information</string>
</property>
<property name="windowIcon">
<iconset resource="../../../../resources/images.qrc">
<iconset resource="../../../work/calibre/resources/images.qrc">
<normaloff>:/images/edit_input.png</normaloff>:/images/edit_input.png</iconset>
</property>
<layout class="QGridLayout" name="gridLayout_2">
@ -44,8 +44,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>954</width>
<height>584</height>
<width>950</width>
<height>576</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
@ -210,7 +210,7 @@
<string>Open Tag Editor</string>
</property>
<property name="icon">
<iconset resource="../../../../resources/images.qrc">
<iconset resource="../../../work/calibre/resources/images.qrc">
<normaloff>:/images/chapters.png</normaloff>:/images/chapters.png</iconset>
</property>
</widget>
@ -381,7 +381,7 @@ from the value in the box</string>
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../resources/images.qrc">
<iconset resource="../../../work/calibre/resources/images.qrc">
<normaloff>:/images/trash.png</normaloff>:/images/trash.png</iconset>
</property>
</widget>
@ -429,7 +429,7 @@ from the value in the box</string>
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../resources/images.qrc">
<iconset resource="../../../work/calibre/resources/images.qrc">
<normaloff>:/images/trash.png</normaloff>:/images/trash.png</iconset>
</property>
</widget>
@ -1078,8 +1078,8 @@ not multiple and the destination field is multiple</string>
<rect>
<x>0</x>
<y>0</y>
<width>197</width>
<height>60</height>
<width>205</width>
<height>66</height>
</rect>
</property>
<layout class="QGridLayout" name="testgrid">
@ -1177,6 +1177,7 @@ not multiple and the destination field is multiple</string>
<tabstops>
<tabstop>authors</tabstop>
<tabstop>auto_author_sort</tabstop>
<tabstop>swap_title_and_author</tabstop>
<tabstop>author_sort</tabstop>
<tabstop>rating</tabstop>
<tabstop>publisher</tabstop>
@ -1185,50 +1186,52 @@ not multiple and the destination field is multiple</string>
<tabstop>remove_tags</tabstop>
<tabstop>remove_all_tags</tabstop>
<tabstop>series</tabstop>
<tabstop>clear_series</tabstop>
<tabstop>autonumber_series</tabstop>
<tabstop>series_numbering_restarts</tabstop>
<tabstop>series_start_number</tabstop>
<tabstop>button_box</tabstop>
<tabstop>query_field</tabstop>
<tabstop>save_button</tabstop>
<tabstop>remove_button</tabstop>
<tabstop>search_field</tabstop>
<tabstop>search_mode</tabstop>
<tabstop>s_r_src_ident</tabstop>
<tabstop>s_r_template</tabstop>
<tabstop>search_for</tabstop>
<tabstop>case_sensitive</tabstop>
<tabstop>replace_with</tabstop>
<tabstop>replace_func</tabstop>
<tabstop>destination_field</tabstop>
<tabstop>replace_mode</tabstop>
<tabstop>comma_separated</tabstop>
<tabstop>s_r_dst_ident</tabstop>
<tabstop>results_count</tabstop>
<tabstop>starting_from</tabstop>
<tabstop>multiple_separator</tabstop>
<tabstop>test_text</tabstop>
<tabstop>test_result</tabstop>
<tabstop>scrollArea</tabstop>
<tabstop>central_widget</tabstop>
<tabstop>swap_title_and_author</tabstop>
<tabstop>clear_series</tabstop>
<tabstop>adddate</tabstop>
<tabstop>clear_adddate_button</tabstop>
<tabstop>apply_adddate</tabstop>
<tabstop>pubdate</tabstop>
<tabstop>clear_pubdate_button</tabstop>
<tabstop>apply_pubdate</tabstop>
<tabstop>languages</tabstop>
<tabstop>clear_languages</tabstop>
<tabstop>remove_format</tabstop>
<tabstop>change_title_to_title_case</tabstop>
<tabstop>update_title_sort</tabstop>
<tabstop>remove_conversion_settings</tabstop>
<tabstop>cover_generate</tabstop>
<tabstop>cover_remove</tabstop>
<tabstop>cover_from_fmt</tabstop>
<tabstop>starting_from</tabstop>
<tabstop>multiple_separator</tabstop>
<tabstop>test_text</tabstop>
<tabstop>test_result</tabstop>
<tabstop>scrollArea</tabstop>
<tabstop>central_widget</tabstop>
<tabstop>query_field</tabstop>
<tabstop>button_box</tabstop>
<tabstop>save_button</tabstop>
<tabstop>remove_button</tabstop>
<tabstop>search_field</tabstop>
<tabstop>search_mode</tabstop>
<tabstop>s_r_src_ident</tabstop>
<tabstop>s_r_template</tabstop>
<tabstop>replace_with</tabstop>
<tabstop>replace_func</tabstop>
<tabstop>replace_mode</tabstop>
<tabstop>comma_separated</tabstop>
<tabstop>s_r_dst_ident</tabstop>
<tabstop>results_count</tabstop>
<tabstop>scrollArea11</tabstop>
<tabstop>destination_field</tabstop>
<tabstop>search_for</tabstop>
<tabstop>case_sensitive</tabstop>
</tabstops>
<resources>
<include location="../../../../resources/images.qrc"/>
<include location="../../../work/calibre/resources/images.qrc"/>
</resources>
<connections>
<connection>

View File

@ -14,25 +14,30 @@ from PyQt4.Qt import (QAbstractTableModel, QVariant, QModelIndex, Qt,
QTimer, pyqtSignal, QIcon, QDialog, QAbstractItemDelegate, QApplication,
QSize, QStyleOptionProgressBarV2, QString, QStyle, QToolTip, QFrame,
QHBoxLayout, QVBoxLayout, QSizePolicy, QLabel, QCoreApplication, QAction,
QByteArray)
QByteArray, QSortFilterProxyModel)
from calibre.utils.ipc.server import Server
from calibre.utils.ipc.job import ParallelJob
from calibre.gui2 import Dispatcher, error_dialog, question_dialog, NONE, config, gprefs
from calibre.gui2 import (Dispatcher, error_dialog, question_dialog, NONE,
config, gprefs)
from calibre.gui2.device import DeviceJob
from calibre.gui2.dialogs.jobs_ui import Ui_JobsDialog
from calibre import __appname__, as_unicode
from calibre.gui2.dialogs.job_view_ui import Ui_Dialog
from calibre.gui2.progress_indicator import ProgressIndicator
from calibre.gui2.threaded_jobs import ThreadedJobServer, ThreadedJob
from calibre.utils.search_query_parser import SearchQueryParser, ParseException
from calibre.utils.icu import lower
class JobManager(QAbstractTableModel): # {{{
class JobManager(QAbstractTableModel, SearchQueryParser): # {{{
job_added = pyqtSignal(int)
job_done = pyqtSignal(int)
def __init__(self):
QAbstractTableModel.__init__(self)
SearchQueryParser.__init__(self, ['all'])
self.wait_icon = QVariant(QIcon(I('jobs.png')))
self.running_icon = QVariant(QIcon(I('exec.png')))
self.error_icon = QVariant(QIcon(I('dialog_error.png')))
@ -251,6 +256,18 @@ class JobManager(QAbstractTableModel): # {{{
else:
job.kill_on_start = True
def hide_jobs(self, rows):
for r in rows:
self.jobs[r].hidden_in_gui = True
for r in rows:
self.dataChanged.emit(self.index(r, 0), self.index(r, 0))
def show_hidden_jobs(self):
for j in self.jobs:
j.hidden_in_gui = False
for r in xrange(len(self.jobs)):
self.dataChanged.emit(self.index(r, 0), self.index(r, 0))
def kill_job(self, row, view):
job = self.jobs[row]
if isinstance(job, DeviceJob):
@ -299,6 +316,62 @@ class JobManager(QAbstractTableModel): # {{{
continue
if not isinstance(job, ParallelJob):
self._kill_job(job)
def universal_set(self):
return set([i for i, j in enumerate(self.jobs) if not getattr(j,
'hidden_in_gui', False)])
def get_matches(self, location, query, candidates=None):
if candidates is None:
candidates = self.universal_set()
ans = set()
if not query:
return ans
query = lower(query)
for j in candidates:
job = self.jobs[j]
if job.description and query in lower(job.description):
ans.add(j)
return ans
def find(self, query):
query = query.strip()
rows = self.parse(query)
return rows
# }}}
class FilterModel(QSortFilterProxyModel): # {{{
search_done = pyqtSignal(object)
def __init__(self, parent):
QSortFilterProxyModel.__init__(self, parent)
self.search_filter = None
def filterAcceptsRow(self, source_row, source_parent):
if (self.search_filter is not None and source_row not in
self.search_filter):
return False
m = self.sourceModel()
try:
job = m.row_to_job(source_row)
except:
return False
return not getattr(job, 'hidden_in_gui', False)
def find(self, query):
ok = True
val = None
if query:
try:
val = self.sourceModel().parse(query)
except ParseException:
ok = False
self.search_filter = val
self.search_done.emit(ok)
self.reset()
# }}}
# Jobs UI {{{
@ -450,8 +523,11 @@ class JobsDialog(QDialog, Ui_JobsDialog):
QDialog.__init__(self, window)
Ui_JobsDialog.__init__(self)
self.setupUi(self)
self.jobs_view.setModel(model)
self.model = model
self.proxy_model = FilterModel(self)
self.proxy_model.setSourceModel(self.model)
self.proxy_model.search_done.connect(self.search.search_done)
self.jobs_view.setModel(self.proxy_model)
self.setWindowModality(Qt.NonModal)
self.setWindowTitle(__appname__ + _(' - Jobs'))
self.details_button.clicked.connect(self.show_details)
@ -461,6 +537,15 @@ class JobsDialog(QDialog, Ui_JobsDialog):
self.jobs_view.setItemDelegateForColumn(2, self.pb_delegate)
self.jobs_view.doubleClicked.connect(self.show_job_details)
self.jobs_view.horizontalHeader().setMovable(True)
self.hide_button.clicked.connect(self.hide_selected)
self.hide_all_button.clicked.connect(self.hide_all)
self.show_button.clicked.connect(self.show_hidden)
self.search.initialize('jobs_search_history',
help_text=_('Search for a job by name'))
self.search.search.connect(self.find)
self.search_button.clicked.connect(lambda :
self.find(self.search.current_text))
self.clear_button.clicked.connect(lambda : self.search.clear())
self.restore_state()
def restore_state(self):
@ -486,11 +571,13 @@ class JobsDialog(QDialog, Ui_JobsDialog):
pass
def show_job_details(self, index):
row = index.row()
job = self.jobs_view.model().row_to_job(row)
d = DetailView(self, job)
d.exec_()
d.timer.stop()
index = self.proxy_model.mapToSource(index)
if index.isValid():
row = index.row()
job = self.model.row_to_job(row)
d = DetailView(self, job)
d.exec_()
d.timer.stop()
def show_details(self, *args):
index = self.jobs_view.currentIndex()
@ -498,8 +585,10 @@ class JobsDialog(QDialog, Ui_JobsDialog):
self.show_job_details(index)
def kill_job(self, *args):
rows = [index.row() for index in
indices = [self.proxy_model.mapToSource(index) for index in
self.jobs_view.selectionModel().selectedRows()]
indices = [i for i in indices if i.isValid()]
rows = [index.row() for index in indices]
if not rows:
return error_dialog(self, _('No job'),
_('No job selected'), show=True)
@ -517,6 +606,26 @@ class JobsDialog(QDialog, Ui_JobsDialog):
_('Do you really want to stop all non-device jobs?')):
self.model.kill_all_jobs()
def hide_selected(self, *args):
indices = [self.proxy_model.mapToSource(index) for index in
self.jobs_view.selectionModel().selectedRows()]
indices = [i for i in indices if i.isValid()]
rows = [index.row() for index in indices]
if not rows:
return error_dialog(self, _('No job'),
_('No job selected'), show=True)
self.model.hide_jobs(rows)
self.proxy_model.reset()
def hide_all(self, *args):
self.model.hide_jobs(list(xrange(0,
self.model.rowCount(QModelIndex()))))
self.proxy_model.reset()
def show_hidden(self, *args):
self.model.show_hidden_jobs()
self.find(self.search.current_text)
def closeEvent(self, e):
self.save_state()
return QDialog.closeEvent(self, e)
@ -528,5 +637,9 @@ class JobsDialog(QDialog, Ui_JobsDialog):
def hide(self, *args):
self.save_state()
return QDialog.hide(self, *args)
def find(self, query):
self.proxy_model.find(query)
# }}}

View File

@ -112,7 +112,7 @@ class DateDelegate(QStyledItemDelegate): # {{{
self.tweak_name = tweak_name
self.format = tweaks[self.tweak_name]
if self.format is None:
format = default_format
self.format = default_format
def displayText(self, val, locale):
d = val.toDateTime()

View File

@ -5,13 +5,13 @@ __license__ = 'GPL v3'
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
__docformat__ = 'restructuredtext en'
import functools, re, os, traceback
import functools, re, os, traceback, errno
from collections import defaultdict
from PyQt4.Qt import (QAbstractTableModel, Qt, pyqtSignal, QIcon, QImage,
QModelIndex, QVariant, QDateTime, QColor)
from calibre.gui2 import NONE, UNDEFINED_QDATETIME
from calibre.gui2 import NONE, UNDEFINED_QDATETIME, error_dialog
from calibre.utils.pyparsing import ParseException
from calibre.ebooks.metadata import fmt_sidx, authors_to_string, string_to_authors
from calibre.ebooks.metadata.book.base import SafeFormat
@ -851,59 +851,78 @@ class BooksModel(QAbstractTableModel): # {{{
def setData(self, index, value, role):
if role == Qt.EditRole:
row, col = index.row(), index.column()
column = self.column_map[col]
if self.is_custom_column(column):
if not self.set_custom_column_data(row, column, value):
return False
else:
if column not in self.editable_cols:
return False
val = int(value.toInt()[0]) if column == 'rating' else \
value.toDateTime() if column in ('timestamp', 'pubdate') else \
unicode(value.toString()).strip()
id = self.db.id(row)
books_to_refresh = set([id])
if column == 'rating':
val = 0 if val < 0 else 5 if val > 5 else val
val *= 2
self.db.set_rating(id, val)
elif column == 'series':
val = val.strip()
if not val:
books_to_refresh |= self.db.set_series(id, val,
allow_case_change=True)
self.db.set_series_index(id, 1.0)
else:
pat = re.compile(r'\[([.0-9]+)\]')
match = pat.search(val)
if match is not None:
self.db.set_series_index(id, float(match.group(1)))
val = pat.sub('', val).strip()
elif val:
if tweaks['series_index_auto_increment'] != 'const':
ni = self.db.get_next_series_num_for(val)
if ni != 1:
self.db.set_series_index(id, ni)
if val:
books_to_refresh |= self.db.set_series(id, val,
allow_case_change=True)
elif column == 'timestamp':
if val.isNull() or not val.isValid():
return False
self.db.set_timestamp(id, qt_to_dt(val, as_utc=False))
elif column == 'pubdate':
if val.isNull() or not val.isValid():
return False
self.db.set_pubdate(id, qt_to_dt(val, as_utc=False))
elif column == 'languages':
val = val.split(',')
self.db.set_languages(id, val)
else:
books_to_refresh |= self.db.set(row, column, val,
from calibre.gui2.ui import get_gui
try:
return self._set_data(index, value)
except (IOError, OSError) as err:
if getattr(err, 'errno', None) == errno.EACCES: # Permission denied
import traceback
error_dialog(get_gui(), _('Permission denied'),
_('Could not change the on disk location of this'
' book. Is it open in another program?'),
det_msg=traceback.format_exc(), show=True)
except:
import traceback
traceback.print_exc()
error_dialog(get_gui(), _('Failed to set data'),
_('Could not set data, click Show Details to see why.'),
det_msg=traceback.format_exc(), show=True)
return False
def _set_data(self, index, value):
row, col = index.row(), index.column()
column = self.column_map[col]
if self.is_custom_column(column):
if not self.set_custom_column_data(row, column, value):
return False
else:
if column not in self.editable_cols:
return False
val = (int(value.toInt()[0]) if column == 'rating' else
value.toDateTime() if column in ('timestamp', 'pubdate')
else unicode(value.toString()).strip())
id = self.db.id(row)
books_to_refresh = set([id])
if column == 'rating':
val = 0 if val < 0 else 5 if val > 5 else val
val *= 2
self.db.set_rating(id, val)
elif column == 'series':
val = val.strip()
if not val:
books_to_refresh |= self.db.set_series(id, val,
allow_case_change=True)
self.refresh_ids(list(books_to_refresh), row)
self.dataChanged.emit(index, index)
self.db.set_series_index(id, 1.0)
else:
pat = re.compile(r'\[([.0-9]+)\]')
match = pat.search(val)
if match is not None:
self.db.set_series_index(id, float(match.group(1)))
val = pat.sub('', val).strip()
elif val:
if tweaks['series_index_auto_increment'] != 'const':
ni = self.db.get_next_series_num_for(val)
if ni != 1:
self.db.set_series_index(id, ni)
if val:
books_to_refresh |= self.db.set_series(id, val,
allow_case_change=True)
elif column == 'timestamp':
if val.isNull() or not val.isValid():
return False
self.db.set_timestamp(id, qt_to_dt(val, as_utc=False))
elif column == 'pubdate':
if val.isNull() or not val.isValid():
return False
self.db.set_pubdate(id, qt_to_dt(val, as_utc=False))
elif column == 'languages':
val = val.split(',')
self.db.set_languages(id, val)
else:
books_to_refresh |= self.db.set(row, column, val,
allow_case_change=True)
self.refresh_ids(list(books_to_refresh), row)
self.dataChanged.emit(index, index)
return True
# }}}

View File

@ -134,10 +134,12 @@ class GuiRunner(QObject):
main = Main(self.opts, gui_debug=self.gui_debug)
if self.splash_screen is not None:
self.splash_screen.showMessage(_('Initializing user interface...'))
self.splash_screen.finish(main)
main.initialize(self.library_path, db, self.listener, self.actions)
if self.splash_screen is not None:
self.splash_screen.finish(main)
if DEBUG:
prints('Started up in', time.time() - self.startup_time)
prints('Started up in', time.time() - self.startup_time, 'with',
len(db.data), 'books')
add_filesystem_book = partial(main.iactions['Add Books'].add_filesystem_book, allow_device=False)
sys.excepthook = main.unhandled_exception
if len(self.args) > 1:

View File

@ -98,7 +98,7 @@ def split_jobs(ids, batch_size=100):
ids = ids[batch_size:]
return ans
def start_download(gui, ids, callback):
def start_download(gui, ids, callback, ensure_fields=None):
d = ConfirmDialog(ids, gui)
ret = d.exec_()
d.b.clicked.disconnect()
@ -108,7 +108,8 @@ def start_download(gui, ids, callback):
for batch in split_jobs(ids):
job = ThreadedJob('metadata bulk download',
_('Download metadata for %d books')%len(batch),
download, (batch, gui.current_db, d.identify, d.covers), {}, callback)
download, (batch, gui.current_db, d.identify, d.covers,
ensure_fields), {}, callback)
gui.job_manager.run_threaded_job(job)
gui.status_bar.show_message(_('Metadata download started'), 3000)
@ -127,11 +128,12 @@ def get_job_details(job):
det_msg = '\n'.join(det_msg)
return id_map, failed_ids, failed_covers, all_failed, det_msg
def merge_result(oldmi, newmi):
def merge_result(oldmi, newmi, ensure_fields=None):
dummy = Metadata(_('Unknown'))
for f in msprefs['ignore_fields']:
if ':' not in f:
setattr(newmi, f, getattr(dummy, f))
if ':' in f or (ensure_fields and f in ensure_fields):
continue
setattr(newmi, f, getattr(dummy, f))
fields = set()
for plugin in metadata_plugins(['identify']):
fields |= plugin.touched_fields
@ -154,7 +156,7 @@ def merge_result(oldmi, newmi):
return newmi
def download(ids, db, do_identify, covers,
def download(ids, db, do_identify, covers, ensure_fields,
log=None, abort=None, notifications=None):
ids = list(ids)
metadata = [db.get_metadata(i, index_is_id=True, get_user_categories=False)
@ -184,7 +186,7 @@ def download(ids, db, do_identify, covers,
pass
if results:
all_failed = False
mi = merge_result(mi, results[0])
mi = merge_result(mi, results[0], ensure_fields=ensure_fields)
identifiers = mi.identifiers
if not mi.is_null('rating'):
# set_metadata expects a rating out of 10
@ -193,7 +195,7 @@ def download(ids, db, do_identify, covers,
log.error('Failed to download metadata for', title)
failed_ids.add(i)
# We don't want set_metadata operating on anything but covers
mi = merge_result(mi, mi)
mi = merge_result(mi, mi, ensure_fields=ensure_fields)
if covers:
cdata = download_cover(log, title=title, authors=authors,
identifiers=identifiers)

View File

@ -440,8 +440,8 @@ class MetadataSingleDialogBase(ResizableDialog):
return False
self.books_to_refresh |= getattr(widget, 'books_to_refresh',
set([]))
except IOError as err:
if err.errno == errno.EACCES: # Permission denied
except (IOError, OSError) as err:
if getattr(err, 'errno', None) == errno.EACCES: # Permission denied
import traceback
fname = err.filename if err.filename else 'file'
error_dialog(self, _('Permission denied'),

View File

@ -127,7 +127,7 @@
<item row="2" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Number of conver download threads to use</string>
<string>Number of cover download threads to use</string>
</property>
</widget>
</item>

View File

@ -107,6 +107,12 @@ class KindleDX(Kindle):
name = 'Kindle DX'
id = 'kindledx'
class KindleFire(KindleDX):
name = 'Kindle Fire'
id = 'kindle_fire'
output_profile = 'kindle_fire'
supports_color = True
class Sony505(Device):
output_profile = 'sony'
@ -179,6 +185,10 @@ class NookColor(Nook):
output_profile = 'nook_color'
supports_color = True
class NookTablet(NookColor):
id = 'nook_tablet'
name = 'Nook Tablet'
class CybookG3(Device):
name = 'Cybook Gen 3'

View File

@ -1317,10 +1317,8 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns):
if path is None:
path = os.path.join(self.library_path, self.path(id, index_is_id=True))
name = self.conn.get('SELECT name FROM data WHERE book=? AND format=?', (id, format), all=False)
if name:
if not replace:
return False
self.conn.execute('DELETE FROM data WHERE book=? AND format=?', (id, format))
if name and not replace:
return False
name = self.construct_file_name(id)
ext = ('.' + format.lower()) if format else ''
dest = os.path.join(path, name+ext)
@ -1333,7 +1331,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns):
shutil.copyfileobj(stream, f)
stream.seek(0, 2)
size=stream.tell()
self.conn.execute('INSERT INTO data (book,format,uncompressed_size,name) VALUES (?,?,?,?)',
self.conn.execute('INSERT OR REPLACE INTO data (book,format,uncompressed_size,name) VALUES (?,?,?,?)',
(id, format.upper(), size, name))
self.conn.commit()
self.refresh_ids([id])

View File

@ -114,7 +114,7 @@ html_short_title = 'Start'
html_logo = 'resources/logo.png'
epub_author = 'Kovid Goyal'
epub_cover = 'epub_cover.jpg'
kovid_epub_cover = 'epub_cover.jpg'
epub_publisher = 'Kovid Goyal'
epub_identifier = 'http://manual.calibre-ebook.com'
epub_scheme = 'url'

View File

@ -251,7 +251,7 @@ def template_docs(app):
update_cli_doc('template_ref.rst', raw, info)
def setup(app):
app.add_config_value('epub_cover', None, False)
app.add_config_value('kovid_epub_cover', None, False)
app.add_builder(EPUBHelpBuilder)
app.connect('doctree-read', substitute)
app.connect('builder-inited', generate_docs)

View File

@ -136,7 +136,7 @@ the previously checked out |app| code directory, for example::
cd /Users/kovid/work/calibre
calibre is the directory that contains the src and resources sub-directories. Ensure you have installed the |app| commandline tools via :guilabel:Preferences->Advanced->Miscellaneous in the |app| GUI.
calibre is the directory that contains the src and resources sub-directories. Ensure you have installed the |app| commandline tools via :guilabel:`Preferences->Advanced->Miscellaneous` in the |app| GUI.
The next step is to set the environment variable ``CALIBRE_DEVELOP_FROM`` to the absolute path of the src directory.
So, following the example above, it would be ``/Users/kovid/work/calibre/src``. Apple

View File

@ -55,8 +55,8 @@ class EPUBHelpBuilder(EpubBuilder):
open(opf, 'wb').write(raw)
def build_epub(self, outdir, *args, **kwargs):
if self.config.epub_cover:
self.add_cover(outdir, self.config.epub_cover)
if self.config.kovid_epub_cover:
self.add_cover(outdir, self.config.kovid_epub_cover)
self.fix_duplication_bugs(outdir)
EpubBuilder.build_epub(self, outdir, *args, **kwargs)

View File

@ -242,10 +242,6 @@ Replace ``192.168.1.2`` with the local IP address of the computer running |app|.
If you get timeout errors while browsing the calibre catalog in Stanza, try increasing the connection timeout value in the stanza settings. Go to Info->Settings and increase the value of Download Timeout.
.. note::
As of iOS version 5 Stanza no longer works on Apple devices. Alternatives to Stanza are discussed `in this forum <http://www.mobileread.com/forums/showthread.php?t=152789>`_.
Using iBooks
**************

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-27 11:21+0000\n"
"POT-Creation-Date: 2011-11-06 08:51+0000\n"
"PO-Revision-Date: 2011-08-05 17:39+0000\n"
"Last-Translator: Kovid Goyal <Unknown>\n"
"Language-Team: Afrikaans <af@li.org>\n"
@ -15,8 +15,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Launchpad-Export-Date: 2011-10-28 05:14+0000\n"
"X-Generator: Launchpad (build 14197)\n"
"X-Launchpad-Export-Date: 2011-11-07 05:21+0000\n"
"X-Generator: Launchpad (build 14231)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
msgid "Does absolutely nothing"
@ -26,20 +26,20 @@ msgstr "Doen absolute niks"
#: /home/kovid/work/calibre/src/calibre/db/cache.py:104
#: /home/kovid/work/calibre/src/calibre/db/cache.py:107
#: /home/kovid/work/calibre/src/calibre/db/cache.py:118
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:258
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:259
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:265
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:266
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:79
#: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:579
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:593
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:309
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:310
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:311
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:312
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109
@ -48,12 +48,12 @@ msgstr "Doen absolute niks"
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:332
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:98
@ -144,7 +144,7 @@ msgstr "Doen absolute niks"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:380
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:161
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:168
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:579
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:580
#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:151
@ -894,8 +894,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
#: /home/kovid/work/calibre/src/calibre/library/database2.py:990
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:820
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:832
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841
msgid "Yes"
msgstr ""
@ -924,17 +924,17 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:148
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:198
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:205
msgid "Communicate with S60 phones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:217
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:224
msgid "Communicate with WebOS tablets."
msgstr ""
@ -1046,11 +1046,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:527
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:546
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1084
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1090
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1125
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:529
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:548
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1054
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453
#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1148
@ -1110,11 +1110,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:218
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:234
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:88
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:91
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:94
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:303
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:151
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:95
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:98
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:101
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:153
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:140
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146
@ -1134,8 +1134,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:330
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:344
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:437
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:472
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:451
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:486
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:297
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:328
msgid "Adding books to device metadata listing..."
@ -1145,8 +1145,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:354
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:125
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:389
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:421
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:403
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:435
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:334
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:352
msgid "Removing books from device..."
@ -1154,8 +1154,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:369
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:374
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:432
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:439
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:446
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:364
msgid "Removing books from device metadata listing..."
@ -1428,26 +1428,37 @@ msgstr ""
msgid "Upload Black and White Covers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:559
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:65
msgid "Show expired books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:66
msgid ""
"A bug in an earlier version left non kepubs book records in the datbase. "
"With this option Calibre will show the expired records and allow you to "
"delete them with the new delete logic."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:573
#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:390
msgid "Not Implemented"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:560
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:574
msgid ""
"\".kobo\" files do not exist on the device as books instead, they are rows "
"in the sqlite database. Currently they cannot be exported or viewed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:989
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:995
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1003
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1009
#, python-format
msgid ""
"<hr /><b>Book Last Read:</b> %(time)s<br /><b>Percentage Read:</b> "
"%(pr)d%%<hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1027
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1455,7 +1466,7 @@ msgid ""
"/><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1022
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1036
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1463,8 +1474,8 @@ msgid ""
"%(text)s<br /><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1031
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1041
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1045
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1055
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1736,50 +1747,49 @@ msgstr ""
msgid "Unable to detect the %s disk drive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:629
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:784
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:827
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:837
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:847
#, python-format
msgid "Could not find mount helper: %s."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:632
#, python-format
msgid ""
"Unable to detect the %s disk drive. Either the device has already been "
"ejected, or your kernel is exporting a deprecated version of SYSFS."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:650
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#, python-format
msgid "Unable to mount main memory (Error code: %d)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:701
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:692
#, python-format
msgid ""
"The main memory of %s is read only. This usually happens because of file "
"system errors."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1011
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:778
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:821
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:831
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:841
#, python-format
msgid "Could not find mount helper: %s."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:975
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:977
msgid "The reader has no storage card in this slot."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1015
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:979
#, python-format
msgid "Selected slot: %s is not supported."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1044
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1008
msgid "There is insufficient free space in main memory"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1046
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1010
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1012
msgid "There is insufficient free space on the storage card"
msgstr ""
@ -2731,13 +2741,13 @@ msgstr ""
msgid "for a complete list with descriptions."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:248
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250
msgid ""
"Traverse links in HTML files breadth first. Normally, they are traversed "
"depth first."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:255
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257
#, python-format
msgid ""
"Maximum levels of recursion when following links in HTML files. Must be non-"
@ -2745,7 +2755,7 @@ msgid ""
"Default is %default."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:264
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266
msgid ""
"Normally this input plugin re-arranges all the input files into a standard "
"folder hierarchy. Only use this option if you know what you are doing as it "
@ -3824,32 +3834,32 @@ msgstr ""
msgid "Split Options:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:31
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:30
#, python-format
msgid ""
"The unit of measure. Default is inch. Choices are %s Note: This does not "
"override the unit for margins!"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:35
#, python-format
msgid ""
"The size of the paper. This size will be overridden when an output profile "
"is used. Default is letter. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:39
msgid ""
"Custom size of the document. Use the form widthxheight EG. `123x321` to "
"specify the width and height. This overrides any specified paper-size."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:44
#, python-format
msgid "The orientation of the page. Default is portrait. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:48
msgid ""
"Preserve the aspect ratio of the cover, instead of stretching it to fill the "
"full first page of the generated pdf."
@ -5775,49 +5785,49 @@ msgstr ""
msgid "Donate"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:120
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:121
msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:135
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:136
msgid "Ids"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:173
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:174
#, python-format
msgid "Book %(sidx)s of <span class=\"series_name\">%(series)s</span>"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:189
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1035
msgid "Collections"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:291
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:256
msgid "Paste Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:257
msgid "Copy Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:294
msgid "Remove Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:335
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
msgid "Double-click to open Book Details window"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295
msgid "Path"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:338
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:109
#, python-format
msgid "Cover size: %(width)d x %(height)d"
@ -11717,7 +11727,7 @@ msgstr ""
msgid "Searching..."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:706
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:705
#, python-format
msgid "Downloading covers for <b>%s</b>, please wait..."
msgstr ""
@ -12713,11 +12723,11 @@ msgstr ""
msgid "Partitioned"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:172
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:175
msgid "Column coloring"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:178
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:181
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223
msgid " or "
@ -17534,7 +17544,7 @@ msgid ""
"uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:608
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:609
msgid ""
"formats_sizes() -- return a comma-separated list of colon_separated items "
"representing sizes in bytes of the formats of a book. You can use the select "
@ -17542,13 +17552,13 @@ msgid ""
"always uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:624
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:625
msgid ""
"human_readable(v) -- return a string representing the number v in KB, MB, "
"GB, etc."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:638
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid ""
"format_number(v, template) -- format the number v using a python formatting "
"template such as \"{0:5.2f}\" or \"{0:,d}\" or \"${0:5,.2f}\". The "
@ -17557,7 +17567,7 @@ msgid ""
"examples. Returns the empty string if formatting fails."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:663
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:664
msgid ""
"sublist(val, start_index, end_index, separator) -- interpret the value as a "
"list of items separated by `separator`, returning a new list made from the "
@ -17570,7 +17580,7 @@ msgid ""
"\"A, B\"."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:698
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:699
msgid ""
"subitems(val, start_index, end_index) -- This function is used to break "
"apart lists of items such as genres. It interprets the value as a comma-"
@ -17587,7 +17597,7 @@ msgid ""
"returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:736
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737
msgid ""
"format_date(val, format_string) -- format the value, which must be a date, "
"using the format_string, returning a string. The formatting codes are: d "
@ -17598,71 +17608,79 @@ msgid ""
"(1 to 12). MM : the month as number with a leading zero (01 to 12) MMM : "
"the abbreviated localized month name (e.g. \"Jan\" to \"Dec\"). MMMM : the "
"long localized month name (e.g. \"January\" to \"December\"). yy : the "
"year as two digit number (00 to 99). yyyy : the year as four digit number. "
"iso : the date with time and timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:765
msgid "uppercase(val) -- return value of the field in upper case"
"year as two digit number (00 to 99). yyyy : the year as four digit number. h "
" : the hours without a leading 0 (0 to 11 or 0 to 23, depending on am/pm) "
"hh : the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm) "
"m : the minutes without a leading 0 (0 to 59) mm : the minutes with a "
"leading 0 (00 to 59) s : the seconds without a leading 0 (0 to 59) ss : "
"the seconds with a leading 0 (00 to 59) ap : use a 12-hour clock instead "
"of a 24-hour clock, with \"ap\" replaced by the localized string for am or "
"pm AP : use a 12-hour clock instead of a 24-hour clock, with \"AP\" "
"replaced by the localized string for AM or PM iso : the date with time and "
"timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774
msgid "lowercase(val) -- return value of the field in lower case"
msgid "uppercase(val) -- return value of the field in upper case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783
msgid "titlecase(val) -- return value of the field in title case"
msgid "lowercase(val) -- return value of the field in lower case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792
msgid "capitalize(val) -- return value of the field capitalized"
msgid "titlecase(val) -- return value of the field in title case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801
msgid "capitalize(val) -- return value of the field capitalized"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810
msgid "booksize() -- return value of the size field"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:815
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:827
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836
msgid ""
"has_cover() -- return Yes if the book has a cover, otherwise return the "
"empty string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:839
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848
msgid ""
"first_non_empty(value, value, ...) -- returns the first value that is not "
"empty. If all values are empty, then the empty value is returned.You can "
"have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:856
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865
msgid ""
"and(value, value, ...) -- returns the string \"1\" if all values are not "
"empty, otherwise returns the empty string. This function works well with "
"test or first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:873
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882
msgid ""
"or(value, value, ...) -- returns the string \"1\" if any value is not empty, "
"otherwise returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:890
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899
msgid ""
"not(value) -- returns the string \"1\" if the value is empty, otherwise "
"returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:902
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911
msgid ""
"list_union(list1, list2, separator) -- return a list made by merging the "
"items in list1 and list2, removing duplicate items using a case-insensitive "
@ -17671,7 +17689,7 @@ msgid ""
"list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:927
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:936
msgid ""
"list_difference(list1, list2, separator) -- return a list made by removing "
"from list1 any item found in list2, using a case-insensitive compare. The "
@ -17679,7 +17697,7 @@ msgid ""
"returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:948
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:957
msgid ""
"list_intersection(list1, list2, separator) -- return a list made by removing "
"from list1 any item not found in list2, using a case-insensitive compare. "
@ -17687,7 +17705,7 @@ msgid ""
"the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:969
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:978
msgid ""
"list_sort(list, direction, separator) -- return list sorted using a case-"
"insensitive sort. If direction is zero, the list is sorted ascending, "
@ -17695,7 +17713,7 @@ msgid ""
"items in the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:984
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:993
msgid ""
"list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if "
"list1 and list2 contain the same items, otherwise return no_val. The items "
@ -17704,7 +17722,7 @@ msgid ""
"The compare is case insensitive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1002
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1011
msgid ""
"list_re(src_list, separator, search_re, opt_replace) -- Construct a list by "
"first separating src_list into items using the separator character. For each "
@ -17713,14 +17731,14 @@ msgid ""
"the replacement before adding the item to the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1026
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035
msgid ""
"today() -- return a date string for today. This value is designed for use in "
"format_date or days_between, but can be manipulated like any other string. "
"The date is in ISO format."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1037
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046
msgid ""
"days_between(date1, date2) -- return the number of days between date1 and "
"date2. The number is positive if date1 is greater than date2, otherwise "
@ -17728,7 +17746,7 @@ msgid ""
"empty string."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1059
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068
msgid ""
"language_strings(lang_codes, localize) -- return the strings for the "
"language codes passed in lang_codes. If localize is zero, return the strings "
@ -17736,7 +17754,7 @@ msgid ""
"the current locale. Lang_codes is a comma-separated list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1079
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088
msgid ""
"language_codes(lang_strings) -- return the language codes for the strings "
"passed in lang_strings. The strings must be in the language of the current "
@ -17828,7 +17846,7 @@ msgid "English (Cyprus)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124
msgid "English (Czechoslovakia)"
msgid "English (Czech Republic)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125

View File

@ -7,17 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-27 11:21+0000\n"
"PO-Revision-Date: 2011-09-30 11:29+0000\n"
"Last-Translator: meshari alnaim <Unknown>\n"
"POT-Creation-Date: 2011-11-06 08:51+0000\n"
"PO-Revision-Date: 2011-11-08 17:08+0000\n"
"Last-Translator: shtywi@lttnet.net <Unknown>\n"
"Language-Team: Arabic <ar@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
"3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n"
"X-Launchpad-Export-Date: 2011-10-28 05:14+0000\n"
"X-Generator: Launchpad (build 14197)\n"
"X-Launchpad-Export-Date: 2011-11-09 04:47+0000\n"
"X-Generator: Launchpad (build 14263)\n"
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:182
msgid "&Monospace family:"
@ -63,20 +63,20 @@ msgstr "لا يفعل شيءً"
#: /home/kovid/work/calibre/src/calibre/db/cache.py:104
#: /home/kovid/work/calibre/src/calibre/db/cache.py:107
#: /home/kovid/work/calibre/src/calibre/db/cache.py:118
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:258
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:259
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:265
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:266
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:79
#: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:579
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:593
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:309
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:310
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:311
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:312
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109
@ -85,12 +85,12 @@ msgstr "لا يفعل شيءً"
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:332
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:98
@ -181,7 +181,7 @@ msgstr "لا يفعل شيءً"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:380
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:161
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:168
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:579
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:580
#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:151
@ -966,8 +966,8 @@ msgstr "الطريق إلى المكتبة وقتا طويلا. يجب أن يك
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
#: /home/kovid/work/calibre/src/calibre/library/database2.py:990
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:820
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:832
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841
msgid "Yes"
msgstr "نعم"
@ -996,7 +996,7 @@ msgstr "تصحيح السجل"
msgid "Communicate with Android phones."
msgstr "التواصل مع هواتف أندرويد ."
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:148
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@ -1004,11 +1004,11 @@ msgstr ""
"مفصولة بفواصل قائمة الدلائل إلى إرسال البريد إلى الكتب على الجهاز. وسيتم "
"استخدام أول واحد موجود"
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:198
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:205
msgid "Communicate with S60 phones."
msgstr "تواصل معا هواتف S60."
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:217
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:224
msgid "Communicate with WebOS tablets."
msgstr ""
@ -1141,11 +1141,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:527
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:546
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1084
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1090
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1125
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:529
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:548
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1054
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453
#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1148
@ -1210,11 +1210,11 @@ msgstr "Bambook"
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:218
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:234
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:88
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:91
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:94
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:303
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:151
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:95
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:98
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:101
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:153
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:140
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146
@ -1234,8 +1234,8 @@ msgstr "يجري تحويل الكتب إلى الجهاز..."
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:330
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:344
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:437
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:472
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:451
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:486
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:297
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:328
msgid "Adding books to device metadata listing..."
@ -1245,8 +1245,8 @@ msgstr "إضافة كتب لقائمة البيانات الوصفية للجه
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:354
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:125
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:389
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:421
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:403
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:435
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:334
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:352
msgid "Removing books from device..."
@ -1254,8 +1254,8 @@ msgstr "يجري حذف الكتب من الجهاز..."
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:369
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:374
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:432
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:439
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:446
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:364
msgid "Removing books from device metadata listing..."
@ -1536,12 +1536,23 @@ msgstr ""
msgid "Upload Black and White Covers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:559
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:65
msgid "Show expired books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:66
msgid ""
"A bug in an earlier version left non kepubs book records in the datbase. "
"With this option Calibre will show the expired records and allow you to "
"delete them with the new delete logic."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:573
#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:390
msgid "Not Implemented"
msgstr "غير مطبق"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:560
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:574
msgid ""
"\".kobo\" files do not exist on the device as books instead, they are rows "
"in the sqlite database. Currently they cannot be exported or viewed."
@ -1549,15 +1560,15 @@ msgstr ""
"\". كوبو\" الملفات لم تكن موجودة على الجهاز كما كتب بدلا من ذلك، فهي الصفوف "
"في قاعدة بيانات SQLite. حاليا لا يمكن أن تكون تصديرها أو عرضها."
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:989
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:995
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1003
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1009
#, python-format
msgid ""
"<hr /><b>Book Last Read:</b> %(time)s<br /><b>Percentage Read:</b> "
"%(pr)d%%<hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1027
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1565,7 +1576,7 @@ msgid ""
"/><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1022
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1036
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1573,8 +1584,8 @@ msgid ""
"%(text)s<br /><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1031
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1041
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1045
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1055
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1861,16 +1872,7 @@ msgstr "غير قادر على الكشف عن %s نقطة التحميل. حا
msgid "Unable to detect the %s disk drive."
msgstr "%s غير قادر على اكتشاف عن الذاكرة"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:629
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:784
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:827
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:837
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:847
#, python-format
msgid "Could not find mount helper: %s."
msgstr "غير قادر على جلب المساعد : %s ."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:632
#, python-format
msgid ""
"Unable to detect the %s disk drive. Either the device has already been "
@ -1879,12 +1881,12 @@ msgstr ""
"قادر على الكشف عن محرك القرص %s. اما وقد تم بالفعل طرد الجهاز، أو النواة "
"تصدر نسخة من إهمال SYSFS."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:650
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#, python-format
msgid "Unable to mount main memory (Error code: %d)"
msgstr "غير قادر على تحميل الذاكرة الرئيسية (رمز الخطأ : %d"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:701
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:692
#, python-format
msgid ""
"The main memory of %s is read only. This usually happens because of file "
@ -1892,22 +1894,30 @@ msgid ""
msgstr ""
"قراءة الذاكرة الرئيسية ليالي %s فقط. هذا يحدث عادة بسبب أخطاء نظام الملفات."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1011
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:778
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:821
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:831
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:841
#, python-format
msgid "Could not find mount helper: %s."
msgstr "غير قادر على جلب المساعد : %s ."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:975
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:977
msgid "The reader has no storage card in this slot."
msgstr "لا يوجد بطاقات تخزين في القارئ ."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1015
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:979
#, python-format
msgid "Selected slot: %s is not supported."
msgstr "الفتحة المختارة : %s ليست مدعومة ."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1044
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1008
msgid "There is insufficient free space in main memory"
msgstr "لا توجد مساحة كافية في الذاكرة الرئيسية"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1046
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1010
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1012
msgid "There is insufficient free space on the storage card"
msgstr "لا توجد مساحة كافية في بطاقة التخزين"
@ -2966,7 +2976,7 @@ msgstr ""
msgid "for a complete list with descriptions."
msgstr "للحصول على قائمة كاملة مع الأوصاف."
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:248
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250
msgid ""
"Traverse links in HTML files breadth first. Normally, they are traversed "
"depth first."
@ -2974,7 +2984,7 @@ msgstr ""
"اجتياز الارتباطات في اتساع ملفات HTML أولا. عادة، يتم اجتيازه أنهم عمق "
"الأولى."
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:255
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257
#, python-format
msgid ""
"Maximum levels of recursion when following links in HTML files. Must be non-"
@ -2982,7 +2992,7 @@ msgid ""
"Default is %default."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:264
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266
msgid ""
"Normally this input plugin re-arranges all the input files into a standard "
"folder hierarchy. Only use this option if you know what you are doing as it "
@ -4098,21 +4108,21 @@ msgstr ""
msgid "Split Options:"
msgstr "تقسيم الخيارات :"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:31
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:30
#, python-format
msgid ""
"The unit of measure. Default is inch. Choices are %s Note: This does not "
"override the unit for margins!"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:35
#, python-format
msgid ""
"The size of the paper. This size will be overridden when an output profile "
"is used. Default is letter. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:39
msgid ""
"Custom size of the document. Use the form widthxheight EG. `123x321` to "
"specify the width and height. This overrides any specified paper-size."
@ -4120,12 +4130,12 @@ msgstr ""
"عرف حجم الوثيقة. استخدام EG widthxheight النموذج. `` 123x321 لتحديد العرض "
"والارتفاع. هذا يتجاوز أي ورقة من الحجم المحدد."
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:44
#, python-format
msgid "The orientation of the page. Default is portrait. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:48
msgid ""
"Preserve the aspect ratio of the cover, instead of stretching it to fill the "
"full first page of the generated pdf."
@ -6070,49 +6080,49 @@ msgstr ""
msgid "Donate"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:120
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:121
msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:135
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:136
msgid "Ids"
msgstr "معرفات"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:173
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:174
#, python-format
msgid "Book %(sidx)s of <span class=\"series_name\">%(series)s</span>"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:189
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1035
msgid "Collections"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:291
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:256
msgid "Paste Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:257
msgid "Copy Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:294
msgid "Remove Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:335
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
msgid "Double-click to open Book Details window"
msgstr "انقر نقرا مزدوجا لفتح نافذة تفاصيل الكتاب"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295
msgid "Path"
msgstr "المسار"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:338
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:109
#, python-format
msgid "Cover size: %(width)d x %(height)d"
@ -12025,7 +12035,7 @@ msgstr ""
msgid "Searching..."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:706
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:705
#, python-format
msgid "Downloading covers for <b>%s</b>, please wait..."
msgstr ""
@ -13037,11 +13047,11 @@ msgstr ""
msgid "Partitioned"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:172
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:175
msgid "Column coloring"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:178
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:181
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223
msgid " or "
@ -17852,7 +17862,7 @@ msgstr ""
"يمكنك استخدام الدالة حدد للحصول على الوقت وزارة الدفاع للتنسيق محدد. علما أن "
"أسماء كبيرة وشكل دائما، كما في EPUB."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:608
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:609
msgid ""
"formats_sizes() -- return a comma-separated list of colon_separated items "
"representing sizes in bytes of the formats of a book. You can use the select "
@ -17860,13 +17870,13 @@ msgid ""
"always uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:624
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:625
msgid ""
"human_readable(v) -- return a string representing the number v in KB, MB, "
"GB, etc."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:638
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid ""
"format_number(v, template) -- format the number v using a python formatting "
"template such as \"{0:5.2f}\" or \"{0:,d}\" or \"${0:5,.2f}\". The "
@ -17875,7 +17885,7 @@ msgid ""
"examples. Returns the empty string if formatting fails."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:663
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:664
msgid ""
"sublist(val, start_index, end_index, separator) -- interpret the value as a "
"list of items separated by `separator`, returning a new list made from the "
@ -17888,7 +17898,7 @@ msgid ""
"\"A, B\"."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:698
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:699
msgid ""
"subitems(val, start_index, end_index) -- This function is used to break "
"apart lists of items such as genres. It interprets the value as a comma-"
@ -17905,7 +17915,7 @@ msgid ""
"returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:736
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737
msgid ""
"format_date(val, format_string) -- format the value, which must be a date, "
"using the format_string, returning a string. The formatting codes are: d "
@ -17916,71 +17926,79 @@ msgid ""
"(1 to 12). MM : the month as number with a leading zero (01 to 12) MMM : "
"the abbreviated localized month name (e.g. \"Jan\" to \"Dec\"). MMMM : the "
"long localized month name (e.g. \"January\" to \"December\"). yy : the "
"year as two digit number (00 to 99). yyyy : the year as four digit number. "
"iso : the date with time and timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:765
msgid "uppercase(val) -- return value of the field in upper case"
"year as two digit number (00 to 99). yyyy : the year as four digit number. h "
" : the hours without a leading 0 (0 to 11 or 0 to 23, depending on am/pm) "
"hh : the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm) "
"m : the minutes without a leading 0 (0 to 59) mm : the minutes with a "
"leading 0 (00 to 59) s : the seconds without a leading 0 (0 to 59) ss : "
"the seconds with a leading 0 (00 to 59) ap : use a 12-hour clock instead "
"of a 24-hour clock, with \"ap\" replaced by the localized string for am or "
"pm AP : use a 12-hour clock instead of a 24-hour clock, with \"AP\" "
"replaced by the localized string for AM or PM iso : the date with time and "
"timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774
msgid "lowercase(val) -- return value of the field in lower case"
msgid "uppercase(val) -- return value of the field in upper case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783
msgid "titlecase(val) -- return value of the field in title case"
msgid "lowercase(val) -- return value of the field in lower case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792
msgid "capitalize(val) -- return value of the field capitalized"
msgid "titlecase(val) -- return value of the field in title case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801
msgid "capitalize(val) -- return value of the field capitalized"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810
msgid "booksize() -- return value of the size field"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:815
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:827
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836
msgid ""
"has_cover() -- return Yes if the book has a cover, otherwise return the "
"empty string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:839
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848
msgid ""
"first_non_empty(value, value, ...) -- returns the first value that is not "
"empty. If all values are empty, then the empty value is returned.You can "
"have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:856
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865
msgid ""
"and(value, value, ...) -- returns the string \"1\" if all values are not "
"empty, otherwise returns the empty string. This function works well with "
"test or first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:873
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882
msgid ""
"or(value, value, ...) -- returns the string \"1\" if any value is not empty, "
"otherwise returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:890
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899
msgid ""
"not(value) -- returns the string \"1\" if the value is empty, otherwise "
"returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:902
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911
msgid ""
"list_union(list1, list2, separator) -- return a list made by merging the "
"items in list1 and list2, removing duplicate items using a case-insensitive "
@ -17989,7 +18007,7 @@ msgid ""
"list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:927
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:936
msgid ""
"list_difference(list1, list2, separator) -- return a list made by removing "
"from list1 any item found in list2, using a case-insensitive compare. The "
@ -17997,7 +18015,7 @@ msgid ""
"returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:948
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:957
msgid ""
"list_intersection(list1, list2, separator) -- return a list made by removing "
"from list1 any item not found in list2, using a case-insensitive compare. "
@ -18005,7 +18023,7 @@ msgid ""
"the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:969
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:978
msgid ""
"list_sort(list, direction, separator) -- return list sorted using a case-"
"insensitive sort. If direction is zero, the list is sorted ascending, "
@ -18013,7 +18031,7 @@ msgid ""
"items in the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:984
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:993
msgid ""
"list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if "
"list1 and list2 contain the same items, otherwise return no_val. The items "
@ -18022,7 +18040,7 @@ msgid ""
"The compare is case insensitive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1002
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1011
msgid ""
"list_re(src_list, separator, search_re, opt_replace) -- Construct a list by "
"first separating src_list into items using the separator character. For each "
@ -18031,14 +18049,14 @@ msgid ""
"the replacement before adding the item to the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1026
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035
msgid ""
"today() -- return a date string for today. This value is designed for use in "
"format_date or days_between, but can be manipulated like any other string. "
"The date is in ISO format."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1037
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046
msgid ""
"days_between(date1, date2) -- return the number of days between date1 and "
"date2. The number is positive if date1 is greater than date2, otherwise "
@ -18046,7 +18064,7 @@ msgid ""
"empty string."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1059
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068
msgid ""
"language_strings(lang_codes, localize) -- return the strings for the "
"language codes passed in lang_codes. If localize is zero, return the strings "
@ -18054,7 +18072,7 @@ msgid ""
"the current locale. Lang_codes is a comma-separated list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1079
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088
msgid ""
"language_codes(lang_strings) -- return the language codes for the strings "
"passed in lang_strings. The strings must be in the language of the current "
@ -18146,7 +18164,7 @@ msgid "English (Cyprus)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124
msgid "English (Czechoslovakia)"
msgid "English (Czech Republic)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125
@ -19157,7 +19175,7 @@ msgstr ""
#: /home/kovid/work/calibre/resources/default_tweaks.py:324
msgid "Control behavior of the book list"
msgstr ""
msgstr "التحكم بطريقة عرض الكتب"
#: /home/kovid/work/calibre/resources/default_tweaks.py:325
msgid ""
@ -19170,10 +19188,12 @@ msgid ""
"You can also control whether the book list scrolls horizontal per column or\n"
"per pixel. Default is per column."
msgstr ""
"تستطيع التحكم بطريقة عرض الكتب.\n"
"اﻻختيارات: فتح العارض,ﻻ يفعل شيئ,"
#: /home/kovid/work/calibre/resources/default_tweaks.py:336
msgid "Language to use when sorting."
msgstr ""
msgstr "لغة الترتيب المستخدمة"
#: /home/kovid/work/calibre/resources/default_tweaks.py:337
msgid ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-27 11:21+0000\n"
"POT-Creation-Date: 2011-11-06 08:51+0000\n"
"PO-Revision-Date: 2011-09-26 16:28+0000\n"
"Last-Translator: Xandru <xandru@softastur.org>\n"
"Language-Team: Asturian <ast@li.org>\n"
@ -15,8 +15,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Launchpad-Export-Date: 2011-10-28 05:14+0000\n"
"X-Generator: Launchpad (build 14197)\n"
"X-Launchpad-Export-Date: 2011-11-07 05:22+0000\n"
"X-Generator: Launchpad (build 14231)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
msgid "Does absolutely nothing"
@ -26,20 +26,20 @@ msgstr "Nun fai nada"
#: /home/kovid/work/calibre/src/calibre/db/cache.py:104
#: /home/kovid/work/calibre/src/calibre/db/cache.py:107
#: /home/kovid/work/calibre/src/calibre/db/cache.py:118
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:258
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:259
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:265
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:266
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:79
#: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:579
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:593
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:309
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:310
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:311
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:312
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109
@ -48,12 +48,12 @@ msgstr "Nun fai nada"
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:332
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:98
@ -144,7 +144,7 @@ msgstr "Nun fai nada"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:380
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:161
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:168
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:579
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:580
#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:151
@ -900,8 +900,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
#: /home/kovid/work/calibre/src/calibre/library/database2.py:990
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:820
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:832
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841
msgid "Yes"
msgstr ""
@ -930,17 +930,17 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:148
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:198
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:205
msgid "Communicate with S60 phones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:217
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:224
msgid "Communicate with WebOS tablets."
msgstr ""
@ -1052,11 +1052,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:527
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:546
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1084
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1090
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1125
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:529
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:548
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1054
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453
#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1148
@ -1116,11 +1116,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:218
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:234
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:88
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:91
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:94
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:303
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:151
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:95
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:98
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:101
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:153
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:140
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146
@ -1140,8 +1140,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:330
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:344
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:437
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:472
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:451
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:486
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:297
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:328
msgid "Adding books to device metadata listing..."
@ -1151,8 +1151,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:354
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:125
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:389
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:421
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:403
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:435
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:334
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:352
msgid "Removing books from device..."
@ -1160,8 +1160,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:369
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:374
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:432
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:439
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:446
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:364
msgid "Removing books from device metadata listing..."
@ -1434,26 +1434,37 @@ msgstr ""
msgid "Upload Black and White Covers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:559
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:65
msgid "Show expired books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:66
msgid ""
"A bug in an earlier version left non kepubs book records in the datbase. "
"With this option Calibre will show the expired records and allow you to "
"delete them with the new delete logic."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:573
#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:390
msgid "Not Implemented"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:560
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:574
msgid ""
"\".kobo\" files do not exist on the device as books instead, they are rows "
"in the sqlite database. Currently they cannot be exported or viewed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:989
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:995
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1003
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1009
#, python-format
msgid ""
"<hr /><b>Book Last Read:</b> %(time)s<br /><b>Percentage Read:</b> "
"%(pr)d%%<hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1027
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1461,7 +1472,7 @@ msgid ""
"/><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1022
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1036
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1469,8 +1480,8 @@ msgid ""
"%(text)s<br /><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1031
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1041
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1045
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1055
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1742,50 +1753,49 @@ msgstr ""
msgid "Unable to detect the %s disk drive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:629
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:784
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:827
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:837
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:847
#, python-format
msgid "Could not find mount helper: %s."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:632
#, python-format
msgid ""
"Unable to detect the %s disk drive. Either the device has already been "
"ejected, or your kernel is exporting a deprecated version of SYSFS."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:650
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#, python-format
msgid "Unable to mount main memory (Error code: %d)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:701
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:692
#, python-format
msgid ""
"The main memory of %s is read only. This usually happens because of file "
"system errors."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1011
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:778
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:821
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:831
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:841
#, python-format
msgid "Could not find mount helper: %s."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:975
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:977
msgid "The reader has no storage card in this slot."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1015
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:979
#, python-format
msgid "Selected slot: %s is not supported."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1044
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1008
msgid "There is insufficient free space in main memory"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1046
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1010
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1012
msgid "There is insufficient free space on the storage card"
msgstr ""
@ -2737,13 +2747,13 @@ msgstr ""
msgid "for a complete list with descriptions."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:248
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250
msgid ""
"Traverse links in HTML files breadth first. Normally, they are traversed "
"depth first."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:255
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257
#, python-format
msgid ""
"Maximum levels of recursion when following links in HTML files. Must be non-"
@ -2751,7 +2761,7 @@ msgid ""
"Default is %default."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:264
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266
msgid ""
"Normally this input plugin re-arranges all the input files into a standard "
"folder hierarchy. Only use this option if you know what you are doing as it "
@ -3827,32 +3837,32 @@ msgstr ""
msgid "Split Options:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:31
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:30
#, python-format
msgid ""
"The unit of measure. Default is inch. Choices are %s Note: This does not "
"override the unit for margins!"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:35
#, python-format
msgid ""
"The size of the paper. This size will be overridden when an output profile "
"is used. Default is letter. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:39
msgid ""
"Custom size of the document. Use the form widthxheight EG. `123x321` to "
"specify the width and height. This overrides any specified paper-size."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:44
#, python-format
msgid "The orientation of the page. Default is portrait. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:48
msgid ""
"Preserve the aspect ratio of the cover, instead of stretching it to fill the "
"full first page of the generated pdf."
@ -5778,49 +5788,49 @@ msgstr ""
msgid "Donate"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:120
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:121
msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:135
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:136
msgid "Ids"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:173
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:174
#, python-format
msgid "Book %(sidx)s of <span class=\"series_name\">%(series)s</span>"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:189
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1035
msgid "Collections"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:291
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:256
msgid "Paste Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:257
msgid "Copy Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:294
msgid "Remove Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:335
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
msgid "Double-click to open Book Details window"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295
msgid "Path"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:338
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:109
#, python-format
msgid "Cover size: %(width)d x %(height)d"
@ -11720,7 +11730,7 @@ msgstr ""
msgid "Searching..."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:706
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:705
#, python-format
msgid "Downloading covers for <b>%s</b>, please wait..."
msgstr ""
@ -12716,11 +12726,11 @@ msgstr ""
msgid "Partitioned"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:172
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:175
msgid "Column coloring"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:178
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:181
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223
msgid " or "
@ -17537,7 +17547,7 @@ msgid ""
"uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:608
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:609
msgid ""
"formats_sizes() -- return a comma-separated list of colon_separated items "
"representing sizes in bytes of the formats of a book. You can use the select "
@ -17545,13 +17555,13 @@ msgid ""
"always uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:624
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:625
msgid ""
"human_readable(v) -- return a string representing the number v in KB, MB, "
"GB, etc."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:638
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid ""
"format_number(v, template) -- format the number v using a python formatting "
"template such as \"{0:5.2f}\" or \"{0:,d}\" or \"${0:5,.2f}\". The "
@ -17560,7 +17570,7 @@ msgid ""
"examples. Returns the empty string if formatting fails."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:663
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:664
msgid ""
"sublist(val, start_index, end_index, separator) -- interpret the value as a "
"list of items separated by `separator`, returning a new list made from the "
@ -17573,7 +17583,7 @@ msgid ""
"\"A, B\"."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:698
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:699
msgid ""
"subitems(val, start_index, end_index) -- This function is used to break "
"apart lists of items such as genres. It interprets the value as a comma-"
@ -17590,7 +17600,7 @@ msgid ""
"returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:736
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737
msgid ""
"format_date(val, format_string) -- format the value, which must be a date, "
"using the format_string, returning a string. The formatting codes are: d "
@ -17601,71 +17611,79 @@ msgid ""
"(1 to 12). MM : the month as number with a leading zero (01 to 12) MMM : "
"the abbreviated localized month name (e.g. \"Jan\" to \"Dec\"). MMMM : the "
"long localized month name (e.g. \"January\" to \"December\"). yy : the "
"year as two digit number (00 to 99). yyyy : the year as four digit number. "
"iso : the date with time and timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:765
msgid "uppercase(val) -- return value of the field in upper case"
"year as two digit number (00 to 99). yyyy : the year as four digit number. h "
" : the hours without a leading 0 (0 to 11 or 0 to 23, depending on am/pm) "
"hh : the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm) "
"m : the minutes without a leading 0 (0 to 59) mm : the minutes with a "
"leading 0 (00 to 59) s : the seconds without a leading 0 (0 to 59) ss : "
"the seconds with a leading 0 (00 to 59) ap : use a 12-hour clock instead "
"of a 24-hour clock, with \"ap\" replaced by the localized string for am or "
"pm AP : use a 12-hour clock instead of a 24-hour clock, with \"AP\" "
"replaced by the localized string for AM or PM iso : the date with time and "
"timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774
msgid "lowercase(val) -- return value of the field in lower case"
msgid "uppercase(val) -- return value of the field in upper case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783
msgid "titlecase(val) -- return value of the field in title case"
msgid "lowercase(val) -- return value of the field in lower case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792
msgid "capitalize(val) -- return value of the field capitalized"
msgid "titlecase(val) -- return value of the field in title case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801
msgid "capitalize(val) -- return value of the field capitalized"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810
msgid "booksize() -- return value of the size field"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:815
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:827
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836
msgid ""
"has_cover() -- return Yes if the book has a cover, otherwise return the "
"empty string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:839
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848
msgid ""
"first_non_empty(value, value, ...) -- returns the first value that is not "
"empty. If all values are empty, then the empty value is returned.You can "
"have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:856
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865
msgid ""
"and(value, value, ...) -- returns the string \"1\" if all values are not "
"empty, otherwise returns the empty string. This function works well with "
"test or first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:873
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882
msgid ""
"or(value, value, ...) -- returns the string \"1\" if any value is not empty, "
"otherwise returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:890
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899
msgid ""
"not(value) -- returns the string \"1\" if the value is empty, otherwise "
"returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:902
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911
msgid ""
"list_union(list1, list2, separator) -- return a list made by merging the "
"items in list1 and list2, removing duplicate items using a case-insensitive "
@ -17674,7 +17692,7 @@ msgid ""
"list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:927
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:936
msgid ""
"list_difference(list1, list2, separator) -- return a list made by removing "
"from list1 any item found in list2, using a case-insensitive compare. The "
@ -17682,7 +17700,7 @@ msgid ""
"returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:948
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:957
msgid ""
"list_intersection(list1, list2, separator) -- return a list made by removing "
"from list1 any item not found in list2, using a case-insensitive compare. "
@ -17690,7 +17708,7 @@ msgid ""
"the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:969
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:978
msgid ""
"list_sort(list, direction, separator) -- return list sorted using a case-"
"insensitive sort. If direction is zero, the list is sorted ascending, "
@ -17698,7 +17716,7 @@ msgid ""
"items in the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:984
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:993
msgid ""
"list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if "
"list1 and list2 contain the same items, otherwise return no_val. The items "
@ -17707,7 +17725,7 @@ msgid ""
"The compare is case insensitive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1002
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1011
msgid ""
"list_re(src_list, separator, search_re, opt_replace) -- Construct a list by "
"first separating src_list into items using the separator character. For each "
@ -17716,14 +17734,14 @@ msgid ""
"the replacement before adding the item to the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1026
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035
msgid ""
"today() -- return a date string for today. This value is designed for use in "
"format_date or days_between, but can be manipulated like any other string. "
"The date is in ISO format."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1037
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046
msgid ""
"days_between(date1, date2) -- return the number of days between date1 and "
"date2. The number is positive if date1 is greater than date2, otherwise "
@ -17731,7 +17749,7 @@ msgid ""
"empty string."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1059
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068
msgid ""
"language_strings(lang_codes, localize) -- return the strings for the "
"language codes passed in lang_codes. If localize is zero, return the strings "
@ -17739,7 +17757,7 @@ msgid ""
"the current locale. Lang_codes is a comma-separated list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1079
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088
msgid ""
"language_codes(lang_strings) -- return the language codes for the strings "
"passed in lang_strings. The strings must be in the language of the current "
@ -17831,7 +17849,7 @@ msgid "English (Cyprus)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124
msgid "English (Czechoslovakia)"
msgid "English (Czech Republic)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-27 11:21+0000\n"
"POT-Creation-Date: 2011-11-06 08:51+0000\n"
"PO-Revision-Date: 2011-10-27 13:57+0000\n"
"Last-Translator: Elvin Haci <Unknown>\n"
"Language-Team: Azerbaijani <az@li.org>\n"
@ -15,8 +15,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Launchpad-Export-Date: 2011-10-28 05:15+0000\n"
"X-Generator: Launchpad (build 14197)\n"
"X-Launchpad-Export-Date: 2011-11-07 05:22+0000\n"
"X-Generator: Launchpad (build 14231)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
msgid "Does absolutely nothing"
@ -26,20 +26,20 @@ msgstr "Heç bir şey etmir"
#: /home/kovid/work/calibre/src/calibre/db/cache.py:104
#: /home/kovid/work/calibre/src/calibre/db/cache.py:107
#: /home/kovid/work/calibre/src/calibre/db/cache.py:118
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:258
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:259
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:265
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:266
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:79
#: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:579
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:593
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:309
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:310
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:311
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:312
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109
@ -48,12 +48,12 @@ msgstr "Heç bir şey etmir"
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:332
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:98
@ -144,7 +144,7 @@ msgstr "Heç bir şey etmir"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:380
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:161
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:168
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:579
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:580
#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:151
@ -898,8 +898,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
#: /home/kovid/work/calibre/src/calibre/library/database2.py:990
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:820
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:832
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841
msgid "Yes"
msgstr ""
@ -928,17 +928,17 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:148
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:198
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:205
msgid "Communicate with S60 phones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:217
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:224
msgid "Communicate with WebOS tablets."
msgstr ""
@ -1050,11 +1050,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:527
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:546
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1084
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1090
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1125
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:529
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:548
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1054
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453
#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1148
@ -1114,11 +1114,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:218
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:234
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:88
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:91
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:94
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:303
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:151
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:95
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:98
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:101
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:153
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:140
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146
@ -1138,8 +1138,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:330
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:344
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:437
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:472
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:451
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:486
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:297
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:328
msgid "Adding books to device metadata listing..."
@ -1149,8 +1149,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:354
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:125
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:389
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:421
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:403
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:435
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:334
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:352
msgid "Removing books from device..."
@ -1158,8 +1158,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:369
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:374
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:432
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:439
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:446
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:364
msgid "Removing books from device metadata listing..."
@ -1432,26 +1432,37 @@ msgstr ""
msgid "Upload Black and White Covers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:559
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:65
msgid "Show expired books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:66
msgid ""
"A bug in an earlier version left non kepubs book records in the datbase. "
"With this option Calibre will show the expired records and allow you to "
"delete them with the new delete logic."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:573
#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:390
msgid "Not Implemented"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:560
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:574
msgid ""
"\".kobo\" files do not exist on the device as books instead, they are rows "
"in the sqlite database. Currently they cannot be exported or viewed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:989
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:995
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1003
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1009
#, python-format
msgid ""
"<hr /><b>Book Last Read:</b> %(time)s<br /><b>Percentage Read:</b> "
"%(pr)d%%<hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1027
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1459,7 +1470,7 @@ msgid ""
"/><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1022
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1036
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1467,8 +1478,8 @@ msgid ""
"%(text)s<br /><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1031
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1041
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1045
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1055
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1740,50 +1751,49 @@ msgstr ""
msgid "Unable to detect the %s disk drive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:629
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:784
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:827
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:837
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:847
#, python-format
msgid "Could not find mount helper: %s."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:632
#, python-format
msgid ""
"Unable to detect the %s disk drive. Either the device has already been "
"ejected, or your kernel is exporting a deprecated version of SYSFS."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:650
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#, python-format
msgid "Unable to mount main memory (Error code: %d)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:701
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:692
#, python-format
msgid ""
"The main memory of %s is read only. This usually happens because of file "
"system errors."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1011
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:778
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:821
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:831
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:841
#, python-format
msgid "Could not find mount helper: %s."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:975
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:977
msgid "The reader has no storage card in this slot."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1015
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:979
#, python-format
msgid "Selected slot: %s is not supported."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1044
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1008
msgid "There is insufficient free space in main memory"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1046
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1010
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1012
msgid "There is insufficient free space on the storage card"
msgstr ""
@ -2735,13 +2745,13 @@ msgstr ""
msgid "for a complete list with descriptions."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:248
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250
msgid ""
"Traverse links in HTML files breadth first. Normally, they are traversed "
"depth first."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:255
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257
#, python-format
msgid ""
"Maximum levels of recursion when following links in HTML files. Must be non-"
@ -2749,7 +2759,7 @@ msgid ""
"Default is %default."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:264
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266
msgid ""
"Normally this input plugin re-arranges all the input files into a standard "
"folder hierarchy. Only use this option if you know what you are doing as it "
@ -3825,32 +3835,32 @@ msgstr ""
msgid "Split Options:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:31
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:30
#, python-format
msgid ""
"The unit of measure. Default is inch. Choices are %s Note: This does not "
"override the unit for margins!"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:35
#, python-format
msgid ""
"The size of the paper. This size will be overridden when an output profile "
"is used. Default is letter. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:39
msgid ""
"Custom size of the document. Use the form widthxheight EG. `123x321` to "
"specify the width and height. This overrides any specified paper-size."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:44
#, python-format
msgid "The orientation of the page. Default is portrait. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:48
msgid ""
"Preserve the aspect ratio of the cover, instead of stretching it to fill the "
"full first page of the generated pdf."
@ -5776,49 +5786,49 @@ msgstr ""
msgid "Donate"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:120
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:121
msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:135
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:136
msgid "Ids"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:173
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:174
#, python-format
msgid "Book %(sidx)s of <span class=\"series_name\">%(series)s</span>"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:189
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1035
msgid "Collections"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:291
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:256
msgid "Paste Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:257
msgid "Copy Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:294
msgid "Remove Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:335
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
msgid "Double-click to open Book Details window"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295
msgid "Path"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:338
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:109
#, python-format
msgid "Cover size: %(width)d x %(height)d"
@ -11718,7 +11728,7 @@ msgstr ""
msgid "Searching..."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:706
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:705
#, python-format
msgid "Downloading covers for <b>%s</b>, please wait..."
msgstr ""
@ -12714,11 +12724,11 @@ msgstr ""
msgid "Partitioned"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:172
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:175
msgid "Column coloring"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:178
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:181
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223
msgid " or "
@ -17535,7 +17545,7 @@ msgid ""
"uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:608
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:609
msgid ""
"formats_sizes() -- return a comma-separated list of colon_separated items "
"representing sizes in bytes of the formats of a book. You can use the select "
@ -17543,13 +17553,13 @@ msgid ""
"always uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:624
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:625
msgid ""
"human_readable(v) -- return a string representing the number v in KB, MB, "
"GB, etc."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:638
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid ""
"format_number(v, template) -- format the number v using a python formatting "
"template such as \"{0:5.2f}\" or \"{0:,d}\" or \"${0:5,.2f}\". The "
@ -17558,7 +17568,7 @@ msgid ""
"examples. Returns the empty string if formatting fails."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:663
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:664
msgid ""
"sublist(val, start_index, end_index, separator) -- interpret the value as a "
"list of items separated by `separator`, returning a new list made from the "
@ -17571,7 +17581,7 @@ msgid ""
"\"A, B\"."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:698
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:699
msgid ""
"subitems(val, start_index, end_index) -- This function is used to break "
"apart lists of items such as genres. It interprets the value as a comma-"
@ -17588,7 +17598,7 @@ msgid ""
"returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:736
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737
msgid ""
"format_date(val, format_string) -- format the value, which must be a date, "
"using the format_string, returning a string. The formatting codes are: d "
@ -17599,71 +17609,79 @@ msgid ""
"(1 to 12). MM : the month as number with a leading zero (01 to 12) MMM : "
"the abbreviated localized month name (e.g. \"Jan\" to \"Dec\"). MMMM : the "
"long localized month name (e.g. \"January\" to \"December\"). yy : the "
"year as two digit number (00 to 99). yyyy : the year as four digit number. "
"iso : the date with time and timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:765
msgid "uppercase(val) -- return value of the field in upper case"
"year as two digit number (00 to 99). yyyy : the year as four digit number. h "
" : the hours without a leading 0 (0 to 11 or 0 to 23, depending on am/pm) "
"hh : the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm) "
"m : the minutes without a leading 0 (0 to 59) mm : the minutes with a "
"leading 0 (00 to 59) s : the seconds without a leading 0 (0 to 59) ss : "
"the seconds with a leading 0 (00 to 59) ap : use a 12-hour clock instead "
"of a 24-hour clock, with \"ap\" replaced by the localized string for am or "
"pm AP : use a 12-hour clock instead of a 24-hour clock, with \"AP\" "
"replaced by the localized string for AM or PM iso : the date with time and "
"timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774
msgid "lowercase(val) -- return value of the field in lower case"
msgid "uppercase(val) -- return value of the field in upper case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783
msgid "titlecase(val) -- return value of the field in title case"
msgid "lowercase(val) -- return value of the field in lower case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792
msgid "capitalize(val) -- return value of the field capitalized"
msgid "titlecase(val) -- return value of the field in title case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801
msgid "capitalize(val) -- return value of the field capitalized"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810
msgid "booksize() -- return value of the size field"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:815
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:827
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836
msgid ""
"has_cover() -- return Yes if the book has a cover, otherwise return the "
"empty string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:839
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848
msgid ""
"first_non_empty(value, value, ...) -- returns the first value that is not "
"empty. If all values are empty, then the empty value is returned.You can "
"have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:856
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865
msgid ""
"and(value, value, ...) -- returns the string \"1\" if all values are not "
"empty, otherwise returns the empty string. This function works well with "
"test or first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:873
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882
msgid ""
"or(value, value, ...) -- returns the string \"1\" if any value is not empty, "
"otherwise returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:890
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899
msgid ""
"not(value) -- returns the string \"1\" if the value is empty, otherwise "
"returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:902
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911
msgid ""
"list_union(list1, list2, separator) -- return a list made by merging the "
"items in list1 and list2, removing duplicate items using a case-insensitive "
@ -17672,7 +17690,7 @@ msgid ""
"list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:927
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:936
msgid ""
"list_difference(list1, list2, separator) -- return a list made by removing "
"from list1 any item found in list2, using a case-insensitive compare. The "
@ -17680,7 +17698,7 @@ msgid ""
"returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:948
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:957
msgid ""
"list_intersection(list1, list2, separator) -- return a list made by removing "
"from list1 any item not found in list2, using a case-insensitive compare. "
@ -17688,7 +17706,7 @@ msgid ""
"the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:969
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:978
msgid ""
"list_sort(list, direction, separator) -- return list sorted using a case-"
"insensitive sort. If direction is zero, the list is sorted ascending, "
@ -17696,7 +17714,7 @@ msgid ""
"items in the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:984
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:993
msgid ""
"list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if "
"list1 and list2 contain the same items, otherwise return no_val. The items "
@ -17705,7 +17723,7 @@ msgid ""
"The compare is case insensitive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1002
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1011
msgid ""
"list_re(src_list, separator, search_re, opt_replace) -- Construct a list by "
"first separating src_list into items using the separator character. For each "
@ -17714,14 +17732,14 @@ msgid ""
"the replacement before adding the item to the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1026
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035
msgid ""
"today() -- return a date string for today. This value is designed for use in "
"format_date or days_between, but can be manipulated like any other string. "
"The date is in ISO format."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1037
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046
msgid ""
"days_between(date1, date2) -- return the number of days between date1 and "
"date2. The number is positive if date1 is greater than date2, otherwise "
@ -17729,7 +17747,7 @@ msgid ""
"empty string."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1059
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068
msgid ""
"language_strings(lang_codes, localize) -- return the strings for the "
"language codes passed in lang_codes. If localize is zero, return the strings "
@ -17737,7 +17755,7 @@ msgid ""
"the current locale. Lang_codes is a comma-separated list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1079
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088
msgid ""
"language_codes(lang_strings) -- return the language codes for the strings "
"passed in lang_strings. The strings must be in the language of the current "
@ -17829,7 +17847,7 @@ msgid "English (Cyprus)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124
msgid "English (Czechoslovakia)"
msgid "English (Czech Republic)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre 0.4.51\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-10-27 11:21+0000\n"
"POT-Creation-Date: 2011-11-06 08:51+0000\n"
"PO-Revision-Date: 2011-09-18 08:58+0000\n"
"Last-Translator: Nelly Hoang <Unknown>\n"
"Language-Team: bg\n"
@ -14,8 +14,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Launchpad-Export-Date: 2011-10-28 05:16+0000\n"
"X-Generator: Launchpad (build 14197)\n"
"X-Launchpad-Export-Date: 2011-11-07 05:24+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"Generated-By: pygettext.py 1.5\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
@ -26,20 +26,20 @@ msgstr "Не прави абсолютно нищо"
#: /home/kovid/work/calibre/src/calibre/db/cache.py:104
#: /home/kovid/work/calibre/src/calibre/db/cache.py:107
#: /home/kovid/work/calibre/src/calibre/db/cache.py:118
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:258
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:259
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:265
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:266
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:79
#: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:579
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:593
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:309
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:310
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:311
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:312
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109
@ -48,12 +48,12 @@ msgstr "Не прави абсолютно нищо"
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:332
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:98
@ -144,7 +144,7 @@ msgstr "Не прави абсолютно нищо"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:380
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:161
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:168
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:579
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:580
#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:151
@ -946,8 +946,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
#: /home/kovid/work/calibre/src/calibre/library/database2.py:990
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:820
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:832
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841
msgid "Yes"
msgstr "Да"
@ -976,7 +976,7 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr "Комуникирай с Android устройства"
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:148
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@ -984,11 +984,11 @@ msgstr ""
"Списък с деректориите за изпращане на електронни книги на устройството, "
"разделен със запетайки. Ще бъде използван първият съществуващ."
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:198
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:205
msgid "Communicate with S60 phones."
msgstr "Комуникирай със S60 устройства"
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:217
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:224
msgid "Communicate with WebOS tablets."
msgstr "Сподели с WebOS таблети"
@ -1112,11 +1112,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:527
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:546
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1084
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1090
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1125
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:529
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:548
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1054
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453
#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1148
@ -1176,11 +1176,11 @@ msgstr "Bambook"
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:218
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:234
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:88
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:91
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:94
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:303
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:151
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:95
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:98
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:101
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:153
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:140
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146
@ -1200,8 +1200,8 @@ msgstr "Прехвърляне на книги към устройството..
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:330
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:344
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:437
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:472
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:451
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:486
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:297
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:328
msgid "Adding books to device metadata listing..."
@ -1211,8 +1211,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:354
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:125
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:389
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:421
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:403
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:435
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:334
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:352
msgid "Removing books from device..."
@ -1220,8 +1220,8 @@ msgstr "Премахване на книги от устройството..."
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:369
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:374
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:432
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:439
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:446
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:364
msgid "Removing books from device metadata listing..."
@ -1494,26 +1494,37 @@ msgstr ""
msgid "Upload Black and White Covers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:559
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:65
msgid "Show expired books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:66
msgid ""
"A bug in an earlier version left non kepubs book records in the datbase. "
"With this option Calibre will show the expired records and allow you to "
"delete them with the new delete logic."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:573
#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:390
msgid "Not Implemented"
msgstr "Не е изпълнено"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:560
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:574
msgid ""
"\".kobo\" files do not exist on the device as books instead, they are rows "
"in the sqlite database. Currently they cannot be exported or viewed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:989
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:995
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1003
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1009
#, python-format
msgid ""
"<hr /><b>Book Last Read:</b> %(time)s<br /><b>Percentage Read:</b> "
"%(pr)d%%<hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1027
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1521,7 +1532,7 @@ msgid ""
"/><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1022
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1036
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1529,8 +1540,8 @@ msgid ""
"%(text)s<br /><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1031
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1041
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1045
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1055
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1813,50 +1824,49 @@ msgstr ""
msgid "Unable to detect the %s disk drive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:629
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:784
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:827
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:837
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:847
#, python-format
msgid "Could not find mount helper: %s."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:632
#, python-format
msgid ""
"Unable to detect the %s disk drive. Either the device has already been "
"ejected, or your kernel is exporting a deprecated version of SYSFS."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:650
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#, python-format
msgid "Unable to mount main memory (Error code: %d)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:701
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:692
#, python-format
msgid ""
"The main memory of %s is read only. This usually happens because of file "
"system errors."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1011
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:778
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:821
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:831
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:841
#, python-format
msgid "Could not find mount helper: %s."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:975
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:977
msgid "The reader has no storage card in this slot."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1015
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:979
#, python-format
msgid "Selected slot: %s is not supported."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1044
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1008
msgid "There is insufficient free space in main memory"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1046
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1010
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1012
msgid "There is insufficient free space on the storage card"
msgstr ""
@ -2810,13 +2820,13 @@ msgstr ""
msgid "for a complete list with descriptions."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:248
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250
msgid ""
"Traverse links in HTML files breadth first. Normally, they are traversed "
"depth first."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:255
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257
#, python-format
msgid ""
"Maximum levels of recursion when following links in HTML files. Must be non-"
@ -2824,7 +2834,7 @@ msgid ""
"Default is %default."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:264
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266
msgid ""
"Normally this input plugin re-arranges all the input files into a standard "
"folder hierarchy. Only use this option if you know what you are doing as it "
@ -3903,32 +3913,32 @@ msgstr ""
msgid "Split Options:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:31
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:30
#, python-format
msgid ""
"The unit of measure. Default is inch. Choices are %s Note: This does not "
"override the unit for margins!"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:35
#, python-format
msgid ""
"The size of the paper. This size will be overridden when an output profile "
"is used. Default is letter. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:39
msgid ""
"Custom size of the document. Use the form widthxheight EG. `123x321` to "
"specify the width and height. This overrides any specified paper-size."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:44
#, python-format
msgid "The orientation of the page. Default is portrait. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:48
msgid ""
"Preserve the aspect ratio of the cover, instead of stretching it to fill the "
"full first page of the generated pdf."
@ -5854,49 +5864,49 @@ msgstr ""
msgid "Donate"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:120
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:121
msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:135
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:136
msgid "Ids"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:173
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:174
#, python-format
msgid "Book %(sidx)s of <span class=\"series_name\">%(series)s</span>"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:189
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1035
msgid "Collections"
msgstr "Колекции"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:291
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:256
msgid "Paste Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:257
msgid "Copy Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:294
msgid "Remove Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:335
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
msgid "Double-click to open Book Details window"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295
msgid "Path"
msgstr "Път"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:338
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:109
#, python-format
msgid "Cover size: %(width)d x %(height)d"
@ -11796,7 +11806,7 @@ msgstr ""
msgid "Searching..."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:706
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:705
#, python-format
msgid "Downloading covers for <b>%s</b>, please wait..."
msgstr ""
@ -12792,11 +12802,11 @@ msgstr ""
msgid "Partitioned"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:172
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:175
msgid "Column coloring"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:178
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:181
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223
msgid " or "
@ -17617,7 +17627,7 @@ msgid ""
"uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:608
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:609
msgid ""
"formats_sizes() -- return a comma-separated list of colon_separated items "
"representing sizes in bytes of the formats of a book. You can use the select "
@ -17625,13 +17635,13 @@ msgid ""
"always uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:624
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:625
msgid ""
"human_readable(v) -- return a string representing the number v in KB, MB, "
"GB, etc."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:638
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid ""
"format_number(v, template) -- format the number v using a python formatting "
"template such as \"{0:5.2f}\" or \"{0:,d}\" or \"${0:5,.2f}\". The "
@ -17640,7 +17650,7 @@ msgid ""
"examples. Returns the empty string if formatting fails."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:663
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:664
msgid ""
"sublist(val, start_index, end_index, separator) -- interpret the value as a "
"list of items separated by `separator`, returning a new list made from the "
@ -17653,7 +17663,7 @@ msgid ""
"\"A, B\"."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:698
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:699
msgid ""
"subitems(val, start_index, end_index) -- This function is used to break "
"apart lists of items such as genres. It interprets the value as a comma-"
@ -17670,7 +17680,7 @@ msgid ""
"returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:736
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737
msgid ""
"format_date(val, format_string) -- format the value, which must be a date, "
"using the format_string, returning a string. The formatting codes are: d "
@ -17681,71 +17691,79 @@ msgid ""
"(1 to 12). MM : the month as number with a leading zero (01 to 12) MMM : "
"the abbreviated localized month name (e.g. \"Jan\" to \"Dec\"). MMMM : the "
"long localized month name (e.g. \"January\" to \"December\"). yy : the "
"year as two digit number (00 to 99). yyyy : the year as four digit number. "
"iso : the date with time and timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:765
msgid "uppercase(val) -- return value of the field in upper case"
"year as two digit number (00 to 99). yyyy : the year as four digit number. h "
" : the hours without a leading 0 (0 to 11 or 0 to 23, depending on am/pm) "
"hh : the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm) "
"m : the minutes without a leading 0 (0 to 59) mm : the minutes with a "
"leading 0 (00 to 59) s : the seconds without a leading 0 (0 to 59) ss : "
"the seconds with a leading 0 (00 to 59) ap : use a 12-hour clock instead "
"of a 24-hour clock, with \"ap\" replaced by the localized string for am or "
"pm AP : use a 12-hour clock instead of a 24-hour clock, with \"AP\" "
"replaced by the localized string for AM or PM iso : the date with time and "
"timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774
msgid "lowercase(val) -- return value of the field in lower case"
msgid "uppercase(val) -- return value of the field in upper case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783
msgid "titlecase(val) -- return value of the field in title case"
msgid "lowercase(val) -- return value of the field in lower case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792
msgid "capitalize(val) -- return value of the field capitalized"
msgid "titlecase(val) -- return value of the field in title case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801
msgid "capitalize(val) -- return value of the field capitalized"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810
msgid "booksize() -- return value of the size field"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:815
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:827
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836
msgid ""
"has_cover() -- return Yes if the book has a cover, otherwise return the "
"empty string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:839
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848
msgid ""
"first_non_empty(value, value, ...) -- returns the first value that is not "
"empty. If all values are empty, then the empty value is returned.You can "
"have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:856
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865
msgid ""
"and(value, value, ...) -- returns the string \"1\" if all values are not "
"empty, otherwise returns the empty string. This function works well with "
"test or first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:873
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882
msgid ""
"or(value, value, ...) -- returns the string \"1\" if any value is not empty, "
"otherwise returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:890
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899
msgid ""
"not(value) -- returns the string \"1\" if the value is empty, otherwise "
"returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:902
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911
msgid ""
"list_union(list1, list2, separator) -- return a list made by merging the "
"items in list1 and list2, removing duplicate items using a case-insensitive "
@ -17754,7 +17772,7 @@ msgid ""
"list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:927
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:936
msgid ""
"list_difference(list1, list2, separator) -- return a list made by removing "
"from list1 any item found in list2, using a case-insensitive compare. The "
@ -17762,7 +17780,7 @@ msgid ""
"returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:948
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:957
msgid ""
"list_intersection(list1, list2, separator) -- return a list made by removing "
"from list1 any item not found in list2, using a case-insensitive compare. "
@ -17770,7 +17788,7 @@ msgid ""
"the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:969
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:978
msgid ""
"list_sort(list, direction, separator) -- return list sorted using a case-"
"insensitive sort. If direction is zero, the list is sorted ascending, "
@ -17778,7 +17796,7 @@ msgid ""
"items in the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:984
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:993
msgid ""
"list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if "
"list1 and list2 contain the same items, otherwise return no_val. The items "
@ -17787,7 +17805,7 @@ msgid ""
"The compare is case insensitive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1002
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1011
msgid ""
"list_re(src_list, separator, search_re, opt_replace) -- Construct a list by "
"first separating src_list into items using the separator character. For each "
@ -17796,14 +17814,14 @@ msgid ""
"the replacement before adding the item to the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1026
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035
msgid ""
"today() -- return a date string for today. This value is designed for use in "
"format_date or days_between, but can be manipulated like any other string. "
"The date is in ISO format."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1037
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046
msgid ""
"days_between(date1, date2) -- return the number of days between date1 and "
"date2. The number is positive if date1 is greater than date2, otherwise "
@ -17811,7 +17829,7 @@ msgid ""
"empty string."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1059
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068
msgid ""
"language_strings(lang_codes, localize) -- return the strings for the "
"language codes passed in lang_codes. If localize is zero, return the strings "
@ -17819,7 +17837,7 @@ msgid ""
"the current locale. Lang_codes is a comma-separated list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1079
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088
msgid ""
"language_codes(lang_strings) -- return the language codes for the strings "
"passed in lang_strings. The strings must be in the language of the current "
@ -17911,7 +17929,7 @@ msgid "English (Cyprus)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124
msgid "English (Czechoslovakia)"
msgid "English (Czech Republic)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-27 11:21+0000\n"
"POT-Creation-Date: 2011-11-06 08:51+0000\n"
"PO-Revision-Date: 2011-08-05 17:36+0000\n"
"Last-Translator: Kovid Goyal <Unknown>\n"
"Language-Team: Bengali <bn@li.org>\n"
@ -15,8 +15,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Launchpad-Export-Date: 2011-10-28 05:15+0000\n"
"X-Generator: Launchpad (build 14197)\n"
"X-Launchpad-Export-Date: 2011-11-07 05:23+0000\n"
"X-Generator: Launchpad (build 14231)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
msgid "Does absolutely nothing"
@ -26,20 +26,20 @@ msgstr "আসলে কিছুই করে না"
#: /home/kovid/work/calibre/src/calibre/db/cache.py:104
#: /home/kovid/work/calibre/src/calibre/db/cache.py:107
#: /home/kovid/work/calibre/src/calibre/db/cache.py:118
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:258
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:259
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:265
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:266
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:79
#: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:579
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:593
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:309
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:310
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:311
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:312
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109
@ -48,12 +48,12 @@ msgstr "আসলে কিছুই করে না"
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:332
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:98
@ -144,7 +144,7 @@ msgstr "আসলে কিছুই করে না"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:380
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:161
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:168
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:579
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:580
#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:151
@ -894,8 +894,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
#: /home/kovid/work/calibre/src/calibre/library/database2.py:990
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:820
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:832
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841
msgid "Yes"
msgstr ""
@ -924,17 +924,17 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:148
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:198
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:205
msgid "Communicate with S60 phones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:217
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:224
msgid "Communicate with WebOS tablets."
msgstr ""
@ -1046,11 +1046,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:527
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:546
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1084
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1090
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1125
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:529
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:548
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1054
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453
#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1148
@ -1110,11 +1110,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:218
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:234
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:88
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:91
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:94
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:303
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:151
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:95
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:98
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:101
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:153
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:140
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146
@ -1134,8 +1134,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:330
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:344
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:437
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:472
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:451
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:486
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:297
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:328
msgid "Adding books to device metadata listing..."
@ -1145,8 +1145,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:354
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:125
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:389
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:421
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:403
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:435
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:334
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:352
msgid "Removing books from device..."
@ -1154,8 +1154,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:369
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:374
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:432
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:439
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:446
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:364
msgid "Removing books from device metadata listing..."
@ -1428,26 +1428,37 @@ msgstr ""
msgid "Upload Black and White Covers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:559
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:65
msgid "Show expired books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:66
msgid ""
"A bug in an earlier version left non kepubs book records in the datbase. "
"With this option Calibre will show the expired records and allow you to "
"delete them with the new delete logic."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:573
#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:390
msgid "Not Implemented"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:560
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:574
msgid ""
"\".kobo\" files do not exist on the device as books instead, they are rows "
"in the sqlite database. Currently they cannot be exported or viewed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:989
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:995
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1003
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1009
#, python-format
msgid ""
"<hr /><b>Book Last Read:</b> %(time)s<br /><b>Percentage Read:</b> "
"%(pr)d%%<hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1027
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1455,7 +1466,7 @@ msgid ""
"/><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1022
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1036
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1463,8 +1474,8 @@ msgid ""
"%(text)s<br /><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1031
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1041
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1045
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1055
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1736,50 +1747,49 @@ msgstr ""
msgid "Unable to detect the %s disk drive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:629
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:784
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:827
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:837
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:847
#, python-format
msgid "Could not find mount helper: %s."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:632
#, python-format
msgid ""
"Unable to detect the %s disk drive. Either the device has already been "
"ejected, or your kernel is exporting a deprecated version of SYSFS."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:650
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#, python-format
msgid "Unable to mount main memory (Error code: %d)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:701
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:692
#, python-format
msgid ""
"The main memory of %s is read only. This usually happens because of file "
"system errors."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1011
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:778
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:821
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:831
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:841
#, python-format
msgid "Could not find mount helper: %s."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:975
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:977
msgid "The reader has no storage card in this slot."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1015
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:979
#, python-format
msgid "Selected slot: %s is not supported."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1044
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1008
msgid "There is insufficient free space in main memory"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1046
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1010
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1012
msgid "There is insufficient free space on the storage card"
msgstr ""
@ -2731,13 +2741,13 @@ msgstr ""
msgid "for a complete list with descriptions."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:248
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250
msgid ""
"Traverse links in HTML files breadth first. Normally, they are traversed "
"depth first."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:255
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257
#, python-format
msgid ""
"Maximum levels of recursion when following links in HTML files. Must be non-"
@ -2745,7 +2755,7 @@ msgid ""
"Default is %default."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:264
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266
msgid ""
"Normally this input plugin re-arranges all the input files into a standard "
"folder hierarchy. Only use this option if you know what you are doing as it "
@ -3821,32 +3831,32 @@ msgstr ""
msgid "Split Options:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:31
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:30
#, python-format
msgid ""
"The unit of measure. Default is inch. Choices are %s Note: This does not "
"override the unit for margins!"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:35
#, python-format
msgid ""
"The size of the paper. This size will be overridden when an output profile "
"is used. Default is letter. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:39
msgid ""
"Custom size of the document. Use the form widthxheight EG. `123x321` to "
"specify the width and height. This overrides any specified paper-size."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:44
#, python-format
msgid "The orientation of the page. Default is portrait. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:48
msgid ""
"Preserve the aspect ratio of the cover, instead of stretching it to fill the "
"full first page of the generated pdf."
@ -5772,49 +5782,49 @@ msgstr ""
msgid "Donate"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:120
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:121
msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:135
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:136
msgid "Ids"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:173
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:174
#, python-format
msgid "Book %(sidx)s of <span class=\"series_name\">%(series)s</span>"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:189
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1035
msgid "Collections"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:291
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:256
msgid "Paste Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:257
msgid "Copy Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:294
msgid "Remove Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:335
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
msgid "Double-click to open Book Details window"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295
msgid "Path"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:338
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:109
#, python-format
msgid "Cover size: %(width)d x %(height)d"
@ -11714,7 +11724,7 @@ msgstr ""
msgid "Searching..."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:706
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:705
#, python-format
msgid "Downloading covers for <b>%s</b>, please wait..."
msgstr ""
@ -12710,11 +12720,11 @@ msgstr ""
msgid "Partitioned"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:172
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:175
msgid "Column coloring"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:178
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:181
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223
msgid " or "
@ -17531,7 +17541,7 @@ msgid ""
"uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:608
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:609
msgid ""
"formats_sizes() -- return a comma-separated list of colon_separated items "
"representing sizes in bytes of the formats of a book. You can use the select "
@ -17539,13 +17549,13 @@ msgid ""
"always uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:624
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:625
msgid ""
"human_readable(v) -- return a string representing the number v in KB, MB, "
"GB, etc."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:638
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid ""
"format_number(v, template) -- format the number v using a python formatting "
"template such as \"{0:5.2f}\" or \"{0:,d}\" or \"${0:5,.2f}\". The "
@ -17554,7 +17564,7 @@ msgid ""
"examples. Returns the empty string if formatting fails."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:663
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:664
msgid ""
"sublist(val, start_index, end_index, separator) -- interpret the value as a "
"list of items separated by `separator`, returning a new list made from the "
@ -17567,7 +17577,7 @@ msgid ""
"\"A, B\"."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:698
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:699
msgid ""
"subitems(val, start_index, end_index) -- This function is used to break "
"apart lists of items such as genres. It interprets the value as a comma-"
@ -17584,7 +17594,7 @@ msgid ""
"returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:736
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737
msgid ""
"format_date(val, format_string) -- format the value, which must be a date, "
"using the format_string, returning a string. The formatting codes are: d "
@ -17595,71 +17605,79 @@ msgid ""
"(1 to 12). MM : the month as number with a leading zero (01 to 12) MMM : "
"the abbreviated localized month name (e.g. \"Jan\" to \"Dec\"). MMMM : the "
"long localized month name (e.g. \"January\" to \"December\"). yy : the "
"year as two digit number (00 to 99). yyyy : the year as four digit number. "
"iso : the date with time and timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:765
msgid "uppercase(val) -- return value of the field in upper case"
"year as two digit number (00 to 99). yyyy : the year as four digit number. h "
" : the hours without a leading 0 (0 to 11 or 0 to 23, depending on am/pm) "
"hh : the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm) "
"m : the minutes without a leading 0 (0 to 59) mm : the minutes with a "
"leading 0 (00 to 59) s : the seconds without a leading 0 (0 to 59) ss : "
"the seconds with a leading 0 (00 to 59) ap : use a 12-hour clock instead "
"of a 24-hour clock, with \"ap\" replaced by the localized string for am or "
"pm AP : use a 12-hour clock instead of a 24-hour clock, with \"AP\" "
"replaced by the localized string for AM or PM iso : the date with time and "
"timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774
msgid "lowercase(val) -- return value of the field in lower case"
msgid "uppercase(val) -- return value of the field in upper case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783
msgid "titlecase(val) -- return value of the field in title case"
msgid "lowercase(val) -- return value of the field in lower case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792
msgid "capitalize(val) -- return value of the field capitalized"
msgid "titlecase(val) -- return value of the field in title case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801
msgid "capitalize(val) -- return value of the field capitalized"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810
msgid "booksize() -- return value of the size field"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:815
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:827
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836
msgid ""
"has_cover() -- return Yes if the book has a cover, otherwise return the "
"empty string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:839
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848
msgid ""
"first_non_empty(value, value, ...) -- returns the first value that is not "
"empty. If all values are empty, then the empty value is returned.You can "
"have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:856
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865
msgid ""
"and(value, value, ...) -- returns the string \"1\" if all values are not "
"empty, otherwise returns the empty string. This function works well with "
"test or first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:873
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882
msgid ""
"or(value, value, ...) -- returns the string \"1\" if any value is not empty, "
"otherwise returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:890
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899
msgid ""
"not(value) -- returns the string \"1\" if the value is empty, otherwise "
"returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:902
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911
msgid ""
"list_union(list1, list2, separator) -- return a list made by merging the "
"items in list1 and list2, removing duplicate items using a case-insensitive "
@ -17668,7 +17686,7 @@ msgid ""
"list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:927
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:936
msgid ""
"list_difference(list1, list2, separator) -- return a list made by removing "
"from list1 any item found in list2, using a case-insensitive compare. The "
@ -17676,7 +17694,7 @@ msgid ""
"returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:948
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:957
msgid ""
"list_intersection(list1, list2, separator) -- return a list made by removing "
"from list1 any item not found in list2, using a case-insensitive compare. "
@ -17684,7 +17702,7 @@ msgid ""
"the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:969
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:978
msgid ""
"list_sort(list, direction, separator) -- return list sorted using a case-"
"insensitive sort. If direction is zero, the list is sorted ascending, "
@ -17692,7 +17710,7 @@ msgid ""
"items in the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:984
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:993
msgid ""
"list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if "
"list1 and list2 contain the same items, otherwise return no_val. The items "
@ -17701,7 +17719,7 @@ msgid ""
"The compare is case insensitive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1002
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1011
msgid ""
"list_re(src_list, separator, search_re, opt_replace) -- Construct a list by "
"first separating src_list into items using the separator character. For each "
@ -17710,14 +17728,14 @@ msgid ""
"the replacement before adding the item to the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1026
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035
msgid ""
"today() -- return a date string for today. This value is designed for use in "
"format_date or days_between, but can be manipulated like any other string. "
"The date is in ISO format."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1037
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046
msgid ""
"days_between(date1, date2) -- return the number of days between date1 and "
"date2. The number is positive if date1 is greater than date2, otherwise "
@ -17725,7 +17743,7 @@ msgid ""
"empty string."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1059
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068
msgid ""
"language_strings(lang_codes, localize) -- return the strings for the "
"language codes passed in lang_codes. If localize is zero, return the strings "
@ -17733,7 +17751,7 @@ msgid ""
"the current locale. Lang_codes is a comma-separated list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1079
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088
msgid ""
"language_codes(lang_strings) -- return the language codes for the strings "
"passed in lang_strings. The strings must be in the language of the current "
@ -17825,7 +17843,7 @@ msgid "English (Cyprus)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124
msgid "English (Czechoslovakia)"
msgid "English (Czech Republic)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-27 11:21+0000\n"
"POT-Creation-Date: 2011-11-06 08:51+0000\n"
"PO-Revision-Date: 2011-08-13 04:22+0000\n"
"Last-Translator: Denis <Unknown>\n"
"Language-Team: Breton <br@li.org>\n"
@ -15,8 +15,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Launchpad-Export-Date: 2011-10-28 05:16+0000\n"
"X-Generator: Launchpad (build 14197)\n"
"X-Launchpad-Export-Date: 2011-11-07 05:23+0000\n"
"X-Generator: Launchpad (build 14231)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
msgid "Does absolutely nothing"
@ -26,20 +26,20 @@ msgstr "Ne ra netra da vat"
#: /home/kovid/work/calibre/src/calibre/db/cache.py:104
#: /home/kovid/work/calibre/src/calibre/db/cache.py:107
#: /home/kovid/work/calibre/src/calibre/db/cache.py:118
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:258
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:259
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:265
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:266
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:79
#: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:579
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:593
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:309
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:310
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:311
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:312
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109
@ -48,12 +48,12 @@ msgstr "Ne ra netra da vat"
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:332
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:98
@ -144,7 +144,7 @@ msgstr "Ne ra netra da vat"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:380
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:161
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:168
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:579
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:580
#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:151
@ -897,8 +897,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
#: /home/kovid/work/calibre/src/calibre/library/database2.py:990
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:820
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:832
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841
msgid "Yes"
msgstr ""
@ -927,17 +927,17 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:148
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:198
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:205
msgid "Communicate with S60 phones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:217
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:224
msgid "Communicate with WebOS tablets."
msgstr ""
@ -1049,11 +1049,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:527
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:546
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1084
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1090
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1125
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:529
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:548
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1054
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453
#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1148
@ -1113,11 +1113,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:218
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:234
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:88
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:91
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:94
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:303
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:151
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:95
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:98
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:101
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:153
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:140
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146
@ -1137,8 +1137,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:330
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:344
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:437
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:472
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:451
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:486
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:297
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:328
msgid "Adding books to device metadata listing..."
@ -1148,8 +1148,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:354
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:125
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:389
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:421
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:403
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:435
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:334
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:352
msgid "Removing books from device..."
@ -1157,8 +1157,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:369
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:374
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:432
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:439
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:446
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:364
msgid "Removing books from device metadata listing..."
@ -1431,26 +1431,37 @@ msgstr ""
msgid "Upload Black and White Covers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:559
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:65
msgid "Show expired books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:66
msgid ""
"A bug in an earlier version left non kepubs book records in the datbase. "
"With this option Calibre will show the expired records and allow you to "
"delete them with the new delete logic."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:573
#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:390
msgid "Not Implemented"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:560
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:574
msgid ""
"\".kobo\" files do not exist on the device as books instead, they are rows "
"in the sqlite database. Currently they cannot be exported or viewed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:989
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:995
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1003
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1009
#, python-format
msgid ""
"<hr /><b>Book Last Read:</b> %(time)s<br /><b>Percentage Read:</b> "
"%(pr)d%%<hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1027
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1458,7 +1469,7 @@ msgid ""
"/><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1022
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1036
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1466,8 +1477,8 @@ msgid ""
"%(text)s<br /><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1031
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1041
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1045
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1055
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1739,50 +1750,49 @@ msgstr ""
msgid "Unable to detect the %s disk drive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:629
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:784
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:827
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:837
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:847
#, python-format
msgid "Could not find mount helper: %s."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:632
#, python-format
msgid ""
"Unable to detect the %s disk drive. Either the device has already been "
"ejected, or your kernel is exporting a deprecated version of SYSFS."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:650
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#, python-format
msgid "Unable to mount main memory (Error code: %d)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:701
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:692
#, python-format
msgid ""
"The main memory of %s is read only. This usually happens because of file "
"system errors."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1011
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:778
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:821
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:831
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:841
#, python-format
msgid "Could not find mount helper: %s."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:975
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:977
msgid "The reader has no storage card in this slot."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1015
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:979
#, python-format
msgid "Selected slot: %s is not supported."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1044
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1008
msgid "There is insufficient free space in main memory"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1046
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1010
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1012
msgid "There is insufficient free space on the storage card"
msgstr ""
@ -2734,13 +2744,13 @@ msgstr ""
msgid "for a complete list with descriptions."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:248
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250
msgid ""
"Traverse links in HTML files breadth first. Normally, they are traversed "
"depth first."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:255
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257
#, python-format
msgid ""
"Maximum levels of recursion when following links in HTML files. Must be non-"
@ -2748,7 +2758,7 @@ msgid ""
"Default is %default."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:264
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266
msgid ""
"Normally this input plugin re-arranges all the input files into a standard "
"folder hierarchy. Only use this option if you know what you are doing as it "
@ -3827,32 +3837,32 @@ msgstr ""
msgid "Split Options:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:31
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:30
#, python-format
msgid ""
"The unit of measure. Default is inch. Choices are %s Note: This does not "
"override the unit for margins!"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:35
#, python-format
msgid ""
"The size of the paper. This size will be overridden when an output profile "
"is used. Default is letter. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:39
msgid ""
"Custom size of the document. Use the form widthxheight EG. `123x321` to "
"specify the width and height. This overrides any specified paper-size."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:44
#, python-format
msgid "The orientation of the page. Default is portrait. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:48
msgid ""
"Preserve the aspect ratio of the cover, instead of stretching it to fill the "
"full first page of the generated pdf."
@ -5778,49 +5788,49 @@ msgstr ""
msgid "Donate"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:120
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:121
msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:135
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:136
msgid "Ids"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:173
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:174
#, python-format
msgid "Book %(sidx)s of <span class=\"series_name\">%(series)s</span>"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:189
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1035
msgid "Collections"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:291
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:256
msgid "Paste Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:257
msgid "Copy Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:294
msgid "Remove Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:335
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
msgid "Double-click to open Book Details window"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295
msgid "Path"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:338
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:109
#, python-format
msgid "Cover size: %(width)d x %(height)d"
@ -11720,7 +11730,7 @@ msgstr ""
msgid "Searching..."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:706
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:705
#, python-format
msgid "Downloading covers for <b>%s</b>, please wait..."
msgstr ""
@ -12716,11 +12726,11 @@ msgstr ""
msgid "Partitioned"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:172
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:175
msgid "Column coloring"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:178
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:181
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223
msgid " or "
@ -17537,7 +17547,7 @@ msgid ""
"uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:608
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:609
msgid ""
"formats_sizes() -- return a comma-separated list of colon_separated items "
"representing sizes in bytes of the formats of a book. You can use the select "
@ -17545,13 +17555,13 @@ msgid ""
"always uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:624
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:625
msgid ""
"human_readable(v) -- return a string representing the number v in KB, MB, "
"GB, etc."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:638
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid ""
"format_number(v, template) -- format the number v using a python formatting "
"template such as \"{0:5.2f}\" or \"{0:,d}\" or \"${0:5,.2f}\". The "
@ -17560,7 +17570,7 @@ msgid ""
"examples. Returns the empty string if formatting fails."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:663
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:664
msgid ""
"sublist(val, start_index, end_index, separator) -- interpret the value as a "
"list of items separated by `separator`, returning a new list made from the "
@ -17573,7 +17583,7 @@ msgid ""
"\"A, B\"."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:698
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:699
msgid ""
"subitems(val, start_index, end_index) -- This function is used to break "
"apart lists of items such as genres. It interprets the value as a comma-"
@ -17590,7 +17600,7 @@ msgid ""
"returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:736
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737
msgid ""
"format_date(val, format_string) -- format the value, which must be a date, "
"using the format_string, returning a string. The formatting codes are: d "
@ -17601,71 +17611,79 @@ msgid ""
"(1 to 12). MM : the month as number with a leading zero (01 to 12) MMM : "
"the abbreviated localized month name (e.g. \"Jan\" to \"Dec\"). MMMM : the "
"long localized month name (e.g. \"January\" to \"December\"). yy : the "
"year as two digit number (00 to 99). yyyy : the year as four digit number. "
"iso : the date with time and timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:765
msgid "uppercase(val) -- return value of the field in upper case"
"year as two digit number (00 to 99). yyyy : the year as four digit number. h "
" : the hours without a leading 0 (0 to 11 or 0 to 23, depending on am/pm) "
"hh : the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm) "
"m : the minutes without a leading 0 (0 to 59) mm : the minutes with a "
"leading 0 (00 to 59) s : the seconds without a leading 0 (0 to 59) ss : "
"the seconds with a leading 0 (00 to 59) ap : use a 12-hour clock instead "
"of a 24-hour clock, with \"ap\" replaced by the localized string for am or "
"pm AP : use a 12-hour clock instead of a 24-hour clock, with \"AP\" "
"replaced by the localized string for AM or PM iso : the date with time and "
"timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774
msgid "lowercase(val) -- return value of the field in lower case"
msgid "uppercase(val) -- return value of the field in upper case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783
msgid "titlecase(val) -- return value of the field in title case"
msgid "lowercase(val) -- return value of the field in lower case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792
msgid "capitalize(val) -- return value of the field capitalized"
msgid "titlecase(val) -- return value of the field in title case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801
msgid "capitalize(val) -- return value of the field capitalized"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810
msgid "booksize() -- return value of the size field"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:815
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:827
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836
msgid ""
"has_cover() -- return Yes if the book has a cover, otherwise return the "
"empty string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:839
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848
msgid ""
"first_non_empty(value, value, ...) -- returns the first value that is not "
"empty. If all values are empty, then the empty value is returned.You can "
"have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:856
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865
msgid ""
"and(value, value, ...) -- returns the string \"1\" if all values are not "
"empty, otherwise returns the empty string. This function works well with "
"test or first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:873
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882
msgid ""
"or(value, value, ...) -- returns the string \"1\" if any value is not empty, "
"otherwise returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:890
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899
msgid ""
"not(value) -- returns the string \"1\" if the value is empty, otherwise "
"returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:902
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911
msgid ""
"list_union(list1, list2, separator) -- return a list made by merging the "
"items in list1 and list2, removing duplicate items using a case-insensitive "
@ -17674,7 +17692,7 @@ msgid ""
"list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:927
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:936
msgid ""
"list_difference(list1, list2, separator) -- return a list made by removing "
"from list1 any item found in list2, using a case-insensitive compare. The "
@ -17682,7 +17700,7 @@ msgid ""
"returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:948
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:957
msgid ""
"list_intersection(list1, list2, separator) -- return a list made by removing "
"from list1 any item not found in list2, using a case-insensitive compare. "
@ -17690,7 +17708,7 @@ msgid ""
"the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:969
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:978
msgid ""
"list_sort(list, direction, separator) -- return list sorted using a case-"
"insensitive sort. If direction is zero, the list is sorted ascending, "
@ -17698,7 +17716,7 @@ msgid ""
"items in the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:984
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:993
msgid ""
"list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if "
"list1 and list2 contain the same items, otherwise return no_val. The items "
@ -17707,7 +17725,7 @@ msgid ""
"The compare is case insensitive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1002
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1011
msgid ""
"list_re(src_list, separator, search_re, opt_replace) -- Construct a list by "
"first separating src_list into items using the separator character. For each "
@ -17716,14 +17734,14 @@ msgid ""
"the replacement before adding the item to the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1026
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035
msgid ""
"today() -- return a date string for today. This value is designed for use in "
"format_date or days_between, but can be manipulated like any other string. "
"The date is in ISO format."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1037
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046
msgid ""
"days_between(date1, date2) -- return the number of days between date1 and "
"date2. The number is positive if date1 is greater than date2, otherwise "
@ -17731,7 +17749,7 @@ msgid ""
"empty string."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1059
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068
msgid ""
"language_strings(lang_codes, localize) -- return the strings for the "
"language codes passed in lang_codes. If localize is zero, return the strings "
@ -17739,7 +17757,7 @@ msgid ""
"the current locale. Lang_codes is a comma-separated list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1079
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088
msgid ""
"language_codes(lang_strings) -- return the language codes for the strings "
"passed in lang_strings. The strings must be in the language of the current "
@ -17831,7 +17849,7 @@ msgid "English (Cyprus)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124
msgid "English (Czechoslovakia)"
msgid "English (Czech Republic)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-27 11:21+0000\n"
"POT-Creation-Date: 2011-11-06 08:51+0000\n"
"PO-Revision-Date: 2011-08-05 17:03+0000\n"
"Last-Translator: Kovid Goyal <Unknown>\n"
"Language-Team: Bosnian <bs@li.org>\n"
@ -16,8 +16,8 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Launchpad-Export-Date: 2011-10-28 05:15+0000\n"
"X-Generator: Launchpad (build 14197)\n"
"X-Launchpad-Export-Date: 2011-11-07 05:23+0000\n"
"X-Generator: Launchpad (build 14231)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
msgid "Does absolutely nothing"
@ -27,20 +27,20 @@ msgstr "Radi apsolutno ništa"
#: /home/kovid/work/calibre/src/calibre/db/cache.py:104
#: /home/kovid/work/calibre/src/calibre/db/cache.py:107
#: /home/kovid/work/calibre/src/calibre/db/cache.py:118
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:258
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:259
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:265
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:266
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:79
#: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:579
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:593
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:309
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:310
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:311
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:312
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109
@ -49,12 +49,12 @@ msgstr "Radi apsolutno ništa"
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:332
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:98
@ -145,7 +145,7 @@ msgstr "Radi apsolutno ništa"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:380
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:161
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:168
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:579
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:580
#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:151
@ -895,8 +895,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
#: /home/kovid/work/calibre/src/calibre/library/database2.py:990
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:820
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:832
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841
msgid "Yes"
msgstr ""
@ -925,17 +925,17 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:148
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:198
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:205
msgid "Communicate with S60 phones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:217
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:224
msgid "Communicate with WebOS tablets."
msgstr ""
@ -1047,11 +1047,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:527
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:546
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1084
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1090
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1125
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:529
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:548
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1054
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453
#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1148
@ -1111,11 +1111,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:218
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:234
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:88
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:91
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:94
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:303
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:151
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:95
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:98
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:101
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:153
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:140
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146
@ -1135,8 +1135,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:330
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:344
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:437
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:472
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:451
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:486
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:297
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:328
msgid "Adding books to device metadata listing..."
@ -1146,8 +1146,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:354
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:125
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:389
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:421
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:403
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:435
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:334
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:352
msgid "Removing books from device..."
@ -1155,8 +1155,8 @@ msgstr "Uklanjam knjige sa uređaja..."
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:369
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:374
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:432
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:439
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:446
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:364
msgid "Removing books from device metadata listing..."
@ -1429,26 +1429,37 @@ msgstr ""
msgid "Upload Black and White Covers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:559
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:65
msgid "Show expired books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:66
msgid ""
"A bug in an earlier version left non kepubs book records in the datbase. "
"With this option Calibre will show the expired records and allow you to "
"delete them with the new delete logic."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:573
#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:390
msgid "Not Implemented"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:560
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:574
msgid ""
"\".kobo\" files do not exist on the device as books instead, they are rows "
"in the sqlite database. Currently they cannot be exported or viewed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:989
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:995
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1003
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1009
#, python-format
msgid ""
"<hr /><b>Book Last Read:</b> %(time)s<br /><b>Percentage Read:</b> "
"%(pr)d%%<hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1027
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1456,7 +1467,7 @@ msgid ""
"/><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1022
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1036
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1464,8 +1475,8 @@ msgid ""
"%(text)s<br /><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1031
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1041
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1045
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1055
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1737,50 +1748,49 @@ msgstr ""
msgid "Unable to detect the %s disk drive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:629
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:784
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:827
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:837
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:847
#, python-format
msgid "Could not find mount helper: %s."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:632
#, python-format
msgid ""
"Unable to detect the %s disk drive. Either the device has already been "
"ejected, or your kernel is exporting a deprecated version of SYSFS."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:650
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#, python-format
msgid "Unable to mount main memory (Error code: %d)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:701
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:692
#, python-format
msgid ""
"The main memory of %s is read only. This usually happens because of file "
"system errors."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1011
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:778
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:821
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:831
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:841
#, python-format
msgid "Could not find mount helper: %s."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:975
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:977
msgid "The reader has no storage card in this slot."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1015
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:979
#, python-format
msgid "Selected slot: %s is not supported."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1044
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1008
msgid "There is insufficient free space in main memory"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1046
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1010
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1012
msgid "There is insufficient free space on the storage card"
msgstr ""
@ -2732,13 +2742,13 @@ msgstr ""
msgid "for a complete list with descriptions."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:248
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250
msgid ""
"Traverse links in HTML files breadth first. Normally, they are traversed "
"depth first."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:255
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257
#, python-format
msgid ""
"Maximum levels of recursion when following links in HTML files. Must be non-"
@ -2746,7 +2756,7 @@ msgid ""
"Default is %default."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:264
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266
msgid ""
"Normally this input plugin re-arranges all the input files into a standard "
"folder hierarchy. Only use this option if you know what you are doing as it "
@ -3822,32 +3832,32 @@ msgstr ""
msgid "Split Options:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:31
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:30
#, python-format
msgid ""
"The unit of measure. Default is inch. Choices are %s Note: This does not "
"override the unit for margins!"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:35
#, python-format
msgid ""
"The size of the paper. This size will be overridden when an output profile "
"is used. Default is letter. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:39
msgid ""
"Custom size of the document. Use the form widthxheight EG. `123x321` to "
"specify the width and height. This overrides any specified paper-size."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:44
#, python-format
msgid "The orientation of the page. Default is portrait. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:48
msgid ""
"Preserve the aspect ratio of the cover, instead of stretching it to fill the "
"full first page of the generated pdf."
@ -5773,49 +5783,49 @@ msgstr ""
msgid "Donate"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:120
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:121
msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:135
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:136
msgid "Ids"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:173
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:174
#, python-format
msgid "Book %(sidx)s of <span class=\"series_name\">%(series)s</span>"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:189
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1035
msgid "Collections"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:291
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:256
msgid "Paste Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:257
msgid "Copy Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:294
msgid "Remove Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:335
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
msgid "Double-click to open Book Details window"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295
msgid "Path"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:338
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:109
#, python-format
msgid "Cover size: %(width)d x %(height)d"
@ -11715,7 +11725,7 @@ msgstr ""
msgid "Searching..."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:706
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:705
#, python-format
msgid "Downloading covers for <b>%s</b>, please wait..."
msgstr ""
@ -12711,11 +12721,11 @@ msgstr ""
msgid "Partitioned"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:172
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:175
msgid "Column coloring"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:178
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:181
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223
msgid " or "
@ -17532,7 +17542,7 @@ msgid ""
"uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:608
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:609
msgid ""
"formats_sizes() -- return a comma-separated list of colon_separated items "
"representing sizes in bytes of the formats of a book. You can use the select "
@ -17540,13 +17550,13 @@ msgid ""
"always uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:624
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:625
msgid ""
"human_readable(v) -- return a string representing the number v in KB, MB, "
"GB, etc."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:638
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid ""
"format_number(v, template) -- format the number v using a python formatting "
"template such as \"{0:5.2f}\" or \"{0:,d}\" or \"${0:5,.2f}\". The "
@ -17555,7 +17565,7 @@ msgid ""
"examples. Returns the empty string if formatting fails."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:663
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:664
msgid ""
"sublist(val, start_index, end_index, separator) -- interpret the value as a "
"list of items separated by `separator`, returning a new list made from the "
@ -17568,7 +17578,7 @@ msgid ""
"\"A, B\"."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:698
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:699
msgid ""
"subitems(val, start_index, end_index) -- This function is used to break "
"apart lists of items such as genres. It interprets the value as a comma-"
@ -17585,7 +17595,7 @@ msgid ""
"returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:736
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737
msgid ""
"format_date(val, format_string) -- format the value, which must be a date, "
"using the format_string, returning a string. The formatting codes are: d "
@ -17596,71 +17606,79 @@ msgid ""
"(1 to 12). MM : the month as number with a leading zero (01 to 12) MMM : "
"the abbreviated localized month name (e.g. \"Jan\" to \"Dec\"). MMMM : the "
"long localized month name (e.g. \"January\" to \"December\"). yy : the "
"year as two digit number (00 to 99). yyyy : the year as four digit number. "
"iso : the date with time and timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:765
msgid "uppercase(val) -- return value of the field in upper case"
"year as two digit number (00 to 99). yyyy : the year as four digit number. h "
" : the hours without a leading 0 (0 to 11 or 0 to 23, depending on am/pm) "
"hh : the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm) "
"m : the minutes without a leading 0 (0 to 59) mm : the minutes with a "
"leading 0 (00 to 59) s : the seconds without a leading 0 (0 to 59) ss : "
"the seconds with a leading 0 (00 to 59) ap : use a 12-hour clock instead "
"of a 24-hour clock, with \"ap\" replaced by the localized string for am or "
"pm AP : use a 12-hour clock instead of a 24-hour clock, with \"AP\" "
"replaced by the localized string for AM or PM iso : the date with time and "
"timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774
msgid "lowercase(val) -- return value of the field in lower case"
msgid "uppercase(val) -- return value of the field in upper case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783
msgid "titlecase(val) -- return value of the field in title case"
msgid "lowercase(val) -- return value of the field in lower case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792
msgid "capitalize(val) -- return value of the field capitalized"
msgid "titlecase(val) -- return value of the field in title case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801
msgid "capitalize(val) -- return value of the field capitalized"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810
msgid "booksize() -- return value of the size field"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:815
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:827
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836
msgid ""
"has_cover() -- return Yes if the book has a cover, otherwise return the "
"empty string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:839
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848
msgid ""
"first_non_empty(value, value, ...) -- returns the first value that is not "
"empty. If all values are empty, then the empty value is returned.You can "
"have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:856
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865
msgid ""
"and(value, value, ...) -- returns the string \"1\" if all values are not "
"empty, otherwise returns the empty string. This function works well with "
"test or first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:873
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882
msgid ""
"or(value, value, ...) -- returns the string \"1\" if any value is not empty, "
"otherwise returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:890
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899
msgid ""
"not(value) -- returns the string \"1\" if the value is empty, otherwise "
"returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:902
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911
msgid ""
"list_union(list1, list2, separator) -- return a list made by merging the "
"items in list1 and list2, removing duplicate items using a case-insensitive "
@ -17669,7 +17687,7 @@ msgid ""
"list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:927
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:936
msgid ""
"list_difference(list1, list2, separator) -- return a list made by removing "
"from list1 any item found in list2, using a case-insensitive compare. The "
@ -17677,7 +17695,7 @@ msgid ""
"returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:948
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:957
msgid ""
"list_intersection(list1, list2, separator) -- return a list made by removing "
"from list1 any item not found in list2, using a case-insensitive compare. "
@ -17685,7 +17703,7 @@ msgid ""
"the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:969
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:978
msgid ""
"list_sort(list, direction, separator) -- return list sorted using a case-"
"insensitive sort. If direction is zero, the list is sorted ascending, "
@ -17693,7 +17711,7 @@ msgid ""
"items in the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:984
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:993
msgid ""
"list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if "
"list1 and list2 contain the same items, otherwise return no_val. The items "
@ -17702,7 +17720,7 @@ msgid ""
"The compare is case insensitive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1002
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1011
msgid ""
"list_re(src_list, separator, search_re, opt_replace) -- Construct a list by "
"first separating src_list into items using the separator character. For each "
@ -17711,14 +17729,14 @@ msgid ""
"the replacement before adding the item to the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1026
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035
msgid ""
"today() -- return a date string for today. This value is designed for use in "
"format_date or days_between, but can be manipulated like any other string. "
"The date is in ISO format."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1037
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046
msgid ""
"days_between(date1, date2) -- return the number of days between date1 and "
"date2. The number is positive if date1 is greater than date2, otherwise "
@ -17726,7 +17744,7 @@ msgid ""
"empty string."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1059
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068
msgid ""
"language_strings(lang_codes, localize) -- return the strings for the "
"language codes passed in lang_codes. If localize is zero, return the strings "
@ -17734,7 +17752,7 @@ msgid ""
"the current locale. Lang_codes is a comma-separated list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1079
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088
msgid ""
"language_codes(lang_strings) -- return the language codes for the strings "
"passed in lang_strings. The strings must be in the language of the current "
@ -17826,7 +17844,7 @@ msgid "English (Cyprus)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124
msgid "English (Czechoslovakia)"
msgid "English (Czech Republic)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125

View File

@ -10,16 +10,16 @@ msgid ""
msgstr ""
"Project-Id-Version: ca\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-10-27 11:21+0000\n"
"PO-Revision-Date: 2011-10-27 17:56+0000\n"
"POT-Creation-Date: 2011-11-06 08:51+0000\n"
"PO-Revision-Date: 2011-11-06 15:29+0000\n"
"Last-Translator: Ferran Rius <frius64@hotmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Launchpad (build 14197)\n"
"X-Launchpad-Export-Date: 2011-10-28 05:16+0000\n"
"X-Launchpad-Export-Date: 2011-11-07 05:24+0000\n"
"X-Generator: Launchpad (build 14231)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
msgid "Does absolutely nothing"
@ -29,20 +29,20 @@ msgstr "No fa res"
#: /home/kovid/work/calibre/src/calibre/db/cache.py:104
#: /home/kovid/work/calibre/src/calibre/db/cache.py:107
#: /home/kovid/work/calibre/src/calibre/db/cache.py:118
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:258
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:259
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:265
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:266
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:79
#: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:579
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:593
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:309
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:310
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:311
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:312
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109
@ -51,12 +51,12 @@ msgstr "No fa res"
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:332
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:98
@ -147,7 +147,7 @@ msgstr "No fa res"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:380
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:161
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:168
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:579
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:580
#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:151
@ -958,8 +958,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
#: /home/kovid/work/calibre/src/calibre/library/database2.py:990
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:820
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:832
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841
msgid "Yes"
msgstr "Sí"
@ -988,7 +988,7 @@ msgstr "Registre de depuració"
msgid "Communicate with Android phones."
msgstr "Comunica't amb telèfons Android"
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:148
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@ -996,11 +996,11 @@ msgstr ""
"Llista de carpetes del dispositiu separades per comes on s'enviaran els "
"llibres. Es farà servir la primera que ja existeixi al dispositiu."
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:198
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:205
msgid "Communicate with S60 phones."
msgstr "Comunica't amb telèfons S60."
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:217
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:224
msgid "Communicate with WebOS tablets."
msgstr "Comunica't amb tauletes tàctils WebOS."
@ -1142,11 +1142,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:527
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:546
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1084
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1090
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1125
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:529
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:548
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1054
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453
#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1148
@ -1214,11 +1214,11 @@ msgstr "Bambook"
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:218
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:234
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:88
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:91
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:94
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:303
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:151
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:95
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:98
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:101
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:153
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:140
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146
@ -1238,8 +1238,8 @@ msgstr "S'està transferint llibres al dispositiu..."
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:330
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:344
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:437
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:472
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:451
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:486
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:297
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:328
msgid "Adding books to device metadata listing..."
@ -1249,8 +1249,8 @@ msgstr "S'està afegint llibres al llistat de metadades del dispositiu..."
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:354
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:125
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:389
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:421
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:403
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:435
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:334
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:352
msgid "Removing books from device..."
@ -1258,8 +1258,8 @@ msgstr "S'estan suprimint els llibres del dispositiu..."
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:369
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:374
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:432
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:439
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:446
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:364
msgid "Removing books from device metadata listing..."
@ -1547,12 +1547,26 @@ msgstr ""
msgid "Upload Black and White Covers"
msgstr "Carrega portades en blanc i negre"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:559
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:65
msgid "Show expired books"
msgstr "Mostra els llibres caducats"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:66
msgid ""
"A bug in an earlier version left non kepubs book records in the datbase. "
"With this option Calibre will show the expired records and allow you to "
"delete them with the new delete logic."
msgstr ""
"Un error a una versió anterior deixava registres a la base de dades dels "
"llibres no kepub. Amb aquesta opció el calibre mostra els registres caducats "
"i permet suprimir-los amb el nou algoritme de supressió."
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:573
#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:390
msgid "Not Implemented"
msgstr "No implementat"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:560
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:574
msgid ""
"\".kobo\" files do not exist on the device as books instead, they are rows "
"in the sqlite database. Currently they cannot be exported or viewed."
@ -1560,8 +1574,8 @@ msgstr ""
"No hi ha fitxers de llibre «.kobo» al dispositiu, són files a la base de "
"dades sqlite. De moment no es poden exportar ni visualitzar"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:989
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:995
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1003
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1009
#, python-format
msgid ""
"<hr /><b>Book Last Read:</b> %(time)s<br /><b>Percentage Read:</b> "
@ -1570,7 +1584,7 @@ msgstr ""
"<hr /><b>Llibre llegit per darrer cop:</b> %(time)s<br /><b>Percentatge "
"llegit:</b> %(pr)d%%<hr />"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1027
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1581,7 +1595,7 @@ msgstr ""
"/><b>Progrés al capítol:</b> %(chapter_progress)s%%<br />%(annotation)s<br "
"/><hr />"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1022
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1036
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1592,8 +1606,8 @@ msgstr ""
"/><b>Progrés al capítol:</b> %(chapter_progress)s%%<br /><b>Realça:</b> "
"%(text)s<br /><hr />"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1031
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1041
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1045
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1055
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1903,16 +1917,7 @@ msgstr ""
msgid "Unable to detect the %s disk drive."
msgstr "No s'ha pogut detectar la unitat de disc %s."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:629
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:784
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:827
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:837
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:847
#, python-format
msgid "Could not find mount helper: %s."
msgstr "No s'ha pogut trobar l'assistent de muntatge: %s"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:632
#, python-format
msgid ""
"Unable to detect the %s disk drive. Either the device has already been "
@ -1921,12 +1926,12 @@ msgstr ""
"No s'ha pogut detectar la unitat de disc %s. Pot ser que ja s'hagi expulsat "
"la unitat o bé el nucli exporta una versió del SYSFS obsoleta."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:650
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#, python-format
msgid "Unable to mount main memory (Error code: %d)"
msgstr "No s'ha pogut muntar la memòria principal (codi d'error: %d)"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:701
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:692
#, python-format
msgid ""
"The main memory of %s is read only. This usually happens because of file "
@ -1935,22 +1940,30 @@ msgstr ""
"La memòria principal de %s és només de lectura. Sol passar per errors al "
"sistema de fitxers."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1011
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:778
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:821
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:831
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:841
#, python-format
msgid "Could not find mount helper: %s."
msgstr "No s'ha pogut trobar l'assistent de muntatge: %s"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:975
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:977
msgid "The reader has no storage card in this slot."
msgstr "El lector no té cap targeta de memòria en aquesta ranura."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1015
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:979
#, python-format
msgid "Selected slot: %s is not supported."
msgstr "La ranura seleccionada: %s no és compatible."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1044
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1008
msgid "There is insufficient free space in main memory"
msgstr "No hi ha espai lliure suficient a la memòria principal"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1046
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1010
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1012
msgid "There is insufficient free space on the storage card"
msgstr "No hi ha espai lliure suficient a la targeta de memòria"
@ -3200,7 +3213,7 @@ msgstr ""
msgid "for a complete list with descriptions."
msgstr "per a una llist complerta amb descripcions."
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:248
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250
msgid ""
"Traverse links in HTML files breadth first. Normally, they are traversed "
"depth first."
@ -3208,7 +3221,7 @@ msgstr ""
"Recorre els enllaços dels fitxers HTML primer per amplitud. Normalment es "
"recorren primer per profunditat."
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:255
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257
#, python-format
msgid ""
"Maximum levels of recursion when following links in HTML files. Must be non-"
@ -3219,7 +3232,7 @@ msgstr ""
"No han de ser negatius. 0 significa que no es segueixen enllaços al fitxer "
"HTML arrel. Per defecte %default."
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:264
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266
msgid ""
"Normally this input plugin re-arranges all the input files into a standard "
"folder hierarchy. Only use this option if you know what you are doing as it "
@ -4473,7 +4486,7 @@ msgstr ""
msgid "Split Options:"
msgstr "Opcions de divisió:"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:31
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:30
#, python-format
msgid ""
"The unit of measure. Default is inch. Choices are %s Note: This does not "
@ -4482,7 +4495,7 @@ msgstr ""
"La unitat de mesura. Polzada per defecte. Les opcions són %s Nota: no "
"sobreescriu la unitat per als marges!"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:35
#, python-format
msgid ""
"The size of the paper. This size will be overridden when an output profile "
@ -4491,7 +4504,7 @@ msgstr ""
"Mida del paper. Es sobreescriu quan es fa servir un perfil de sortida. Per "
"defecte és Letter. Les opcions són %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:39
msgid ""
"Custom size of the document. Use the form widthxheight EG. `123x321` to "
"specify the width and height. This overrides any specified paper-size."
@ -4500,12 +4513,12 @@ msgstr ""
"exemple «123 x 321» per indicar l'amplada i l'alçada. Això substitueix "
"qualsevol mida de paper que s'hagi indicat abans."
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:44
#, python-format
msgid "The orientation of the page. Default is portrait. Choices are %s"
msgstr "Orientació de la pàgina. Vertical per defecte. Les opcions són %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:48
msgid ""
"Preserve the aspect ratio of the cover, instead of stretching it to fill the "
"full first page of the generated pdf."
@ -6646,49 +6659,49 @@ msgstr ""
msgid "Donate"
msgstr "Donacions"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:120
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:121
msgid "Click to open"
msgstr "Feu clic per obrir"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:135
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:136
msgid "Ids"
msgstr "Identificadors"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:173
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:174
#, python-format
msgid "Book %(sidx)s of <span class=\"series_name\">%(series)s</span>"
msgstr "Llibre %(sidx)s de <span class=\"series_name\">%(series)s</span>"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:189
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1035
msgid "Collections"
msgstr "Col·leccions"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:291
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:256
msgid "Paste Cover"
msgstr "Enganxa la portada"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:257
msgid "Copy Cover"
msgstr "Copia la portada"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:294
msgid "Remove Cover"
msgstr "Suprimeix la portada"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:335
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
msgid "Double-click to open Book Details window"
msgstr "Feu doble clic per obrir la finestra de detalls del llibre"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295
msgid "Path"
msgstr "Camí"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:338
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:109
#, python-format
msgid "Cover size: %(width)d x %(height)d"
@ -13135,7 +13148,7 @@ msgstr "Portada actual"
msgid "Searching..."
msgstr "S'està cercant..."
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:706
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:705
#, python-format
msgid "Downloading covers for <b>%s</b>, please wait..."
msgstr "S'està baixant portades per a <b>%s</b>, espereu..."
@ -14291,11 +14304,11 @@ msgstr "Inhabilitat"
msgid "Partitioned"
msgstr "Repartit"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:172
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:175
msgid "Column coloring"
msgstr "Pintat de columna"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:178
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:181
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223
msgid " or "
@ -20047,7 +20060,7 @@ msgstr ""
"obtenir la data de modificació d'un format concret. Els noms del format "
"estan sempre en majúscula, com a «EPUB»."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:608
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:609
msgid ""
"formats_sizes() -- return a comma-separated list of colon_separated items "
"representing sizes in bytes of the formats of a book. You can use the select "
@ -20059,7 +20072,7 @@ msgstr ""
"funció «select» per aconseguir la mida d'un format concret. Els noms del "
"format estan sempre en majúscula, com a «EPUB»."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:624
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:625
msgid ""
"human_readable(v) -- return a string representing the number v in KB, MB, "
"GB, etc."
@ -20067,7 +20080,7 @@ msgstr ""
"human_readabe(v) -- s'obté un text que representa el nombre «v» en KB, MB, "
"GB..."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:638
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid ""
"format_number(v, template) -- format the number v using a python formatting "
"template such as \"{0:5.2f}\" or \"{0:,d}\" or \"${0:5,.2f}\". The "
@ -20081,7 +20094,7 @@ msgstr ""
"documentació del llenguatge de les plantilles i del python per a més "
"exemples. S'obté un text buit si el format falla."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:663
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:664
msgid ""
"sublist(val, start_index, end_index, separator) -- interpret the value as a "
"list of items separated by `separator`, returning a new list made from the "
@ -20102,7 +20115,7 @@ msgstr ""
"comes) conté «A,B,C»: {tags:sublist(0,1,\\,)} dóna \"A\". {tags:sublist(-"
"1,0,\\,)} dóna \"C\". {tags:sublist(0,-1,\\,)} dóna \"A, B\"."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:698
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:699
msgid ""
"subitems(val, start_index, end_index) -- This function is used to break "
"apart lists of items such as genres. It interprets the value as a comma-"
@ -20133,7 +20146,7 @@ msgstr ""
"Assumint un valor de #gènere d'«A.B.C, D.E.F»: {#gènere:subitems(0,1)} "
"s'obté «A, D», {#gènere:subitems(0,2)} s'obté «A.B, D.E»."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:736
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737
msgid ""
"format_date(val, format_string) -- format the value, which must be a date, "
"using the format_string, returning a string. The formatting codes are: d "
@ -20144,46 +20157,63 @@ msgid ""
"(1 to 12). MM : the month as number with a leading zero (01 to 12) MMM : "
"the abbreviated localized month name (e.g. \"Jan\" to \"Dec\"). MMMM : the "
"long localized month name (e.g. \"January\" to \"December\"). yy : the "
"year as two digit number (00 to 99). yyyy : the year as four digit number. "
"iso : the date with time and timezone. Must be the only format present"
"year as two digit number (00 to 99). yyyy : the year as four digit number. h "
" : the hours without a leading 0 (0 to 11 or 0 to 23, depending on am/pm) "
"hh : the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm) "
"m : the minutes without a leading 0 (0 to 59) mm : the minutes with a "
"leading 0 (00 to 59) s : the seconds without a leading 0 (0 to 59) ss : "
"the seconds with a leading 0 (00 to 59) ap : use a 12-hour clock instead "
"of a 24-hour clock, with \"ap\" replaced by the localized string for am or "
"pm AP : use a 12-hour clock instead of a 24-hour clock, with \"AP\" "
"replaced by the localized string for AM or PM iso : the date with time and "
"timezone. Must be the only format present"
msgstr ""
"format_date(val, text_format) -- dóna format a un valor que ha de ser una "
"data utilitzant «text_format» i s'obté una cadena. Els codis de format són: "
"«d»: el dia com a nombre sense zero inicial (1 a 31). «dd»: el dia com a "
"nombre amb zero inicial (01 a 31). «ddd»: el nom del dia abreujat en "
"format_date(val, cadena_format) -- dóna format al valor, que ha de ser una "
"data, utilitzant «cadena_format» i s'obté una cadena. Els codis de format "
"són: «d»: el dia com a nombre sense zero inicial (1 a 31). «dd»: el dia com "
"a nombre amb zero inicial (01 a 31). «ddd»: el nom del dia abreujat en "
"l'idioma local (per exemple «Dil» a «Diu»). «dddd»: el nom del dia complet "
"en l'idioma local (per exemple «Dilluns» a «Divendres»). «M»: el mes com a "
"nombre sense número inicial (1 a 12). «MM»: el mes com a nombre amb zero "
"nombre sense zero inicial (1 a 12). «MM»: el mes com a nombre amb zero "
"inicial (01 a 12). «MMM»: el nom del mes abreujat el l'idioma local (per "
"exemple «Gen» a «Des»). «MMMM»: el nom del mes complet en l'idioma local "
"(per exemple «Gener» a «Desembre»). «yy»: l'any com a nombre de dues xifres "
"(00 a 99). «yyyy»: l'any com a nombre de quatre xifres. «iso»: la data amb "
"l'hora i la zona horària. Ha de ser l'únic format present."
"(00 a 99). «yyyy»: l'any com a nombre de quatre xifres. «h»: l'hora sense "
"zero inicial (0 a 11 o 0 a 23 depenent de si es fa servir el format de 12 o "
"el de 24 hores). «hh» l'hora amb zero inicial (00 a 11 o 00 a 23 depenent de "
"si es fa servir el format de 12 o el de 24 hores). «m»: els minuts sense "
"zero inicial (0 a 59). «mm»: els minuts amb zero inicial (00 a 59). «s»: els "
"segons sense zero inicial (0 a 59). «ss»: els segons amb zero inicial (00 a "
"59). «ap»: utilitza el rellotge de 12 hores enlloc del de 24 hores, «ap» es "
"substitueix per la cadena en idioma local per a «am» o «pm». «AP»: utilitza "
"el rellotge de 12 hores enlloc del de 24 hores, «AP» es substitueix per la "
"cadena en idioma local per a «AM» o «PM». «iso»: la data amb l'hora i la "
"zona horària; ha de ser l'únic format present."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:765
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774
msgid "uppercase(val) -- return value of the field in upper case"
msgstr "uppercase(val) -- s'obté el valor del camp en majúscules"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783
msgid "lowercase(val) -- return value of the field in lower case"
msgstr "lowercase(val) -- s'obté el valor del camp en minúscules"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792
msgid "titlecase(val) -- return value of the field in title case"
msgstr ""
"titlecase(val) -- s'obté el valor del camp amb les inicials en majúscula"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801
msgid "capitalize(val) -- return value of the field capitalized"
msgstr ""
"capitalize(val) -- s'obté el valor del camp amb la primera lletra en "
"majúscula"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810
msgid "booksize() -- return value of the size field"
msgstr "booksize() -- s'obté el valor del camp de mida"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:815
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
@ -20191,7 +20221,7 @@ msgstr ""
"ondevice() -- s'obté «Yes» si s'ha establert «ondevice», un text buit en cas "
"contrari"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:827
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836
msgid ""
"has_cover() -- return Yes if the book has a cover, otherwise return the "
"empty string"
@ -20199,7 +20229,7 @@ msgstr ""
"has_cover() -- s'obté «Yes» si el llibre té portada, en cas contrari s'obté "
"un text buit."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:839
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848
msgid ""
"first_non_empty(value, value, ...) -- returns the first value that is not "
"empty. If all values are empty, then the empty value is returned.You can "
@ -20209,7 +20239,7 @@ msgstr ""
"buit. Si tots els valors estan buits, s'obté un valor buit. S'hi pot posar "
"tants valors com es vulgui."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:856
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865
msgid ""
"and(value, value, ...) -- returns the string \"1\" if all values are not "
"empty, otherwise returns the empty string. This function works well with "
@ -20219,7 +20249,7 @@ msgstr ""
"cas contrari s'obté la cadena buida. Aquesta funció va bé conjuntament amb "
"«test» o «first_non_empty». S'hi pot posar tants valors com es vulgui."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:873
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882
msgid ""
"or(value, value, ...) -- returns the string \"1\" if any value is not empty, "
"otherwise returns the empty string. This function works well with test or "
@ -20229,7 +20259,7 @@ msgstr ""
"en cas contrari s'obté la cadena buida. Aquesta funció va bé conjuntament "
"amb «test» o «first_non_empty». S'hi pot posar tants valors com es vulgui."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:890
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899
msgid ""
"not(value) -- returns the string \"1\" if the value is empty, otherwise "
"returns the empty string. This function works well with test or "
@ -20239,7 +20269,7 @@ msgstr ""
"s'obté la cadena buida. Aquesta funció va bé conjuntament amb «test» o "
"«first_non_empty». S'hi pot posar tants valors com es vulgui."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:902
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911
msgid ""
"list_union(list1, list2, separator) -- return a list made by merging the "
"items in list1 and list2, removing duplicate items using a case-insensitive "
@ -20254,7 +20284,7 @@ msgstr ""
"«llista2» estan separats pel «separador», de la mateixa manera que a la "
"llista obtinguda."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:927
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:936
msgid ""
"list_difference(list1, list2, separator) -- return a list made by removing "
"from list1 any item found in list2, using a case-insensitive compare. The "
@ -20267,7 +20297,7 @@ msgstr ""
"estan separats pel «separador», de la mateixa manera que a la llista "
"obtinguda."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:948
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:957
msgid ""
"list_intersection(list1, list2, separator) -- return a list made by removing "
"from list1 any item not found in list2, using a case-insensitive compare. "
@ -20280,7 +20310,7 @@ msgstr ""
"estan separats pel «separador», de la mateixa manera que a la llista "
"obtinguda."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:969
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:978
msgid ""
"list_sort(list, direction, separator) -- return list sorted using a case-"
"insensitive sort. If direction is zero, the list is sorted ascending, "
@ -20293,7 +20323,7 @@ msgstr ""
"«llista» estan separats pel «separador», de la mateixa manera que a la "
"llista obtinguda."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:984
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:993
msgid ""
"list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if "
"list1 and list2 contain the same items, otherwise return no_val. The items "
@ -20308,7 +20338,7 @@ msgstr ""
"les llistes no és rellevant. La comparació no diferencia majúscules i "
"minúscules."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1002
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1011
msgid ""
"list_re(src_list, separator, search_re, opt_replace) -- Construct a list by "
"first separating src_list into items using the separator character. For each "
@ -20322,7 +20352,7 @@ msgstr ""
"l'afegeix a la llista que s'obtindrà. Si «subst_opt» no és una cadena buida "
"s'aplica la substitució abans d'afegir l'element a la llista obtinguda."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1026
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035
msgid ""
"today() -- return a date string for today. This value is designed for use in "
"format_date or days_between, but can be manipulated like any other string. "
@ -20332,7 +20362,7 @@ msgstr ""
"lo a «format_date» o «days_between», però es pot manipular com qualsevol "
"altre text. La data està en format ISO."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1037
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046
msgid ""
"days_between(date1, date2) -- return the number of days between date1 and "
"date2. The number is positive if date1 is greater than date2, otherwise "
@ -20343,7 +20373,7 @@ msgstr ""
"«data2». El nombre és positiu si «data1» és posterior a «data2», negativo en "
"cas contrari. Si «data1» o «data2» no són dates, s'obté una cadena buida."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1059
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068
msgid ""
"language_strings(lang_codes, localize) -- return the strings for the "
"language codes passed in lang_codes. If localize is zero, return the strings "
@ -20355,7 +20385,7 @@ msgstr ""
"les cadenes en anglès. Sí «localize» no és zero, s'obtenen les cadenes en la "
"llengua local actual. «Lang_codes» és una llista separada per comes."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1079
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088
msgid ""
"language_codes(lang_strings) -- return the language codes for the strings "
"passed in lang_strings. The strings must be in the language of the current "
@ -20450,8 +20480,8 @@ msgid "English (Cyprus)"
msgstr "Anglès (Xipre)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124
msgid "English (Czechoslovakia)"
msgstr "Anglès (Txecoslovàquia)"
msgid "English (Czech Republic)"
msgstr "Anglès (República Txeca)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125
msgid "English (Pakistan)"
@ -21482,7 +21512,8 @@ msgstr ""
"S'inhabilita amb l'expressió '^$'\n"
"Aquesta expressió s'ha pensat per articles seguits d'un espai. Si voleu fer\n"
"coincidir articles seguits d'altres caràcters, com L' en català, utilitzeu\n"
"\"^(Un\\s+|Una\\s+|Uns\\s+|Unes\\s+|El\\s+|La\\s+|Els\\s+|Les\\s+|L')\" al seu lloc.\n"
"\"^(Un\\s+|Una\\s+|Uns\\s+|Unes\\s+|El\\s+|La\\s+|Els\\s+|Les\\s+|L')\" al "
"seu lloc.\n"
"Per defecte: '^(A|The|An)\\s+'"
#: /home/kovid/work/calibre/resources/default_tweaks.py:202

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-27 11:21+0000\n"
"POT-Creation-Date: 2011-11-06 08:51+0000\n"
"PO-Revision-Date: 2011-10-25 20:43+0000\n"
"Last-Translator: Marek Sušický <Unknown>\n"
"Language-Team: Czech <cs@li.org>\n"
@ -15,8 +15,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Launchpad-Export-Date: 2011-10-28 05:17+0000\n"
"X-Generator: Launchpad (build 14197)\n"
"X-Launchpad-Export-Date: 2011-11-07 05:24+0000\n"
"X-Generator: Launchpad (build 14231)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
msgid "Does absolutely nothing"
@ -26,20 +26,20 @@ msgstr "Nedělá vůbec nic"
#: /home/kovid/work/calibre/src/calibre/db/cache.py:104
#: /home/kovid/work/calibre/src/calibre/db/cache.py:107
#: /home/kovid/work/calibre/src/calibre/db/cache.py:118
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:258
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:259
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:265
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:266
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:79
#: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:579
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:593
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:309
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:310
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:311
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:312
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109
@ -48,12 +48,12 @@ msgstr "Nedělá vůbec nic"
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:332
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:98
@ -144,7 +144,7 @@ msgstr "Nedělá vůbec nic"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:380
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:161
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:168
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:579
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:580
#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:151
@ -934,8 +934,8 @@ msgstr "Cesta ke složce knihovny je moc dlouhá. Musí mít méně než %d znak
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
#: /home/kovid/work/calibre/src/calibre/library/database2.py:990
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:820
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:832
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841
msgid "Yes"
msgstr "Ano"
@ -964,7 +964,7 @@ msgstr "Protokol ladění"
msgid "Communicate with Android phones."
msgstr "Komunikace s telefony Android."
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:148
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@ -972,11 +972,11 @@ msgstr ""
"Seznam adresářů oddělený čárkami k odeslání elektronických knih do zařízení. "
"Bude použit první nalezený."
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:198
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:205
msgid "Communicate with S60 phones."
msgstr "Komunikovat s telefony S60."
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:217
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:224
msgid "Communicate with WebOS tablets."
msgstr "Spojeno s tablety s WebOS"
@ -1097,11 +1097,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:527
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:546
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1084
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1090
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1125
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:529
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:548
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1054
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453
#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1148
@ -1168,11 +1168,11 @@ msgstr "Bambook"
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:218
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:234
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:88
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:91
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:94
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:303
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:151
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:95
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:98
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:101
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:153
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:140
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146
@ -1192,8 +1192,8 @@ msgstr "Přenos knih do zařízení..."
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:330
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:344
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:437
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:472
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:451
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:486
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:297
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:328
msgid "Adding books to device metadata listing..."
@ -1203,8 +1203,8 @@ msgstr "Přidávání knih do seznamu metadat v zařízení..."
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:354
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:125
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:389
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:421
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:403
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:435
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:334
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:352
msgid "Removing books from device..."
@ -1212,8 +1212,8 @@ msgstr "Odebírání knih ze zařízení..."
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:369
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:374
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:432
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:439
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:446
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:364
msgid "Removing books from device metadata listing..."
@ -1495,12 +1495,23 @@ msgstr ""
msgid "Upload Black and White Covers"
msgstr "Nahrát černobílé obálky"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:559
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:65
msgid "Show expired books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:66
msgid ""
"A bug in an earlier version left non kepubs book records in the datbase. "
"With this option Calibre will show the expired records and allow you to "
"delete them with the new delete logic."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:573
#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:390
msgid "Not Implemented"
msgstr "Neimplementováno"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:560
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:574
msgid ""
"\".kobo\" files do not exist on the device as books instead, they are rows "
"in the sqlite database. Currently they cannot be exported or viewed."
@ -1508,15 +1519,15 @@ msgstr ""
"Soubory \".kobo\" neexistují v zařízení jako knihy, jsou to řádky v databázi "
"sqlite. V současné době je nelze exportovat ani prohlížet."
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:989
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:995
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1003
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1009
#, python-format
msgid ""
"<hr /><b>Book Last Read:</b> %(time)s<br /><b>Percentage Read:</b> "
"%(pr)d%%<hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1027
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1524,7 +1535,7 @@ msgid ""
"/><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1022
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1036
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1532,8 +1543,8 @@ msgid ""
"%(text)s<br /><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1031
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1041
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1045
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1055
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1825,16 +1836,7 @@ msgstr "Nelze nalézt přípojný bod %s. Zkuste restartovat."
msgid "Unable to detect the %s disk drive."
msgstr "Nelze nalézt disk %s."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:629
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:784
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:827
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:837
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:847
#, python-format
msgid "Could not find mount helper: %s."
msgstr "Nelze nalézt pomocníka připojení: %s."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:632
#, python-format
msgid ""
"Unable to detect the %s disk drive. Either the device has already been "
@ -1843,12 +1845,12 @@ msgstr ""
"Nelze nalézt disk %s. Buď byla zařízení již vyjmuto nebo váš kernel "
"exportuje zastaralou verzi SYSFS."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:650
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#, python-format
msgid "Unable to mount main memory (Error code: %d)"
msgstr "Nelze připojit hlavní paměť (Kód chyby: %d)"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:701
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:692
#, python-format
msgid ""
"The main memory of %s is read only. This usually happens because of file "
@ -1857,22 +1859,30 @@ msgstr ""
"Hlavní paměť %s je jen pro čtení. Toto se obvykle stává, pokud dojde k chybě "
"souborového systému."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1011
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:778
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:821
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:831
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:841
#, python-format
msgid "Could not find mount helper: %s."
msgstr "Nelze nalézt pomocníka připojení: %s."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:975
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:977
msgid "The reader has no storage card in this slot."
msgstr "Čtečka nemá v tomto slotu žádnou pamětovou kartu."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1015
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:979
#, python-format
msgid "Selected slot: %s is not supported."
msgstr "Vybraný slot: %s není podporováno."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1044
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1008
msgid "There is insufficient free space in main memory"
msgstr "V hlavní paměti není dostatek volného místa"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1046
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1010
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1012
msgid "There is insufficient free space on the storage card"
msgstr "Na paměťové kartě není dostatek volného místa"
@ -3060,7 +3070,7 @@ msgstr ""
msgid "for a complete list with descriptions."
msgstr "pro kompletní seznam s popisky."
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:248
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250
msgid ""
"Traverse links in HTML files breadth first. Normally, they are traversed "
"depth first."
@ -3068,7 +3078,7 @@ msgstr ""
"Procházet HTML odkazy nejdříve do šířky. Obyčejně jsou procházeny nejdříve "
"do hloubky."
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:255
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257
#, python-format
msgid ""
"Maximum levels of recursion when following links in HTML files. Must be non-"
@ -3079,7 +3089,7 @@ msgstr ""
"znamená, že v kořenovém souboru HTML nejsou procházeny žádné odkazy. Výchozí "
"je %default."
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:264
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266
msgid ""
"Normally this input plugin re-arranges all the input files into a standard "
"folder hierarchy. Only use this option if you know what you are doing as it "
@ -4294,7 +4304,7 @@ msgstr ""
msgid "Split Options:"
msgstr "Možnosti rozdělení:"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:31
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:30
#, python-format
msgid ""
"The unit of measure. Default is inch. Choices are %s Note: This does not "
@ -4303,7 +4313,7 @@ msgstr ""
"Jednotka měření. Výchozí je palec. Volby jsou %s. Poznámka: Toto nepřepisuje "
"jednotku pro okraje."
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:35
#, python-format
msgid ""
"The size of the paper. This size will be overridden when an output profile "
@ -4312,7 +4322,7 @@ msgstr ""
"Velikost papíru. Tento údaj bude přepsán, pokud je zvolen výstupní profil. "
"Standardní je obálka. Volby jsou %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:39
msgid ""
"Custom size of the document. Use the form widthxheight EG. `123x321` to "
"specify the width and height. This overrides any specified paper-size."
@ -4320,12 +4330,12 @@ msgstr ""
"Výchozí velikost pro dokumenty. Použitá forma je výska x šířka. `123x321` k "
"určení výšky a šířky. Toto přepíše všechny zvolené velikosti papíru."
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:44
#, python-format
msgid "The orientation of the page. Default is portrait. Choices are %s"
msgstr "Orientace stránky. Standardní je na výšku. Volby jsou %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:48
msgid ""
"Preserve the aspect ratio of the cover, instead of stretching it to fill the "
"full first page of the generated pdf."
@ -6382,49 +6392,49 @@ msgstr "&Více knih ve složce znamené, že každý ebook soubor je různá kni
msgid "Donate"
msgstr "Podpořte program"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:120
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:121
msgid "Click to open"
msgstr "Klikněte pro otevření"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:135
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:136
msgid "Ids"
msgstr "Ids"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:173
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:174
#, python-format
msgid "Book %(sidx)s of <span class=\"series_name\">%(series)s</span>"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:189
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1035
msgid "Collections"
msgstr "Kolekce"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:291
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:256
msgid "Paste Cover"
msgstr "Vložit obálku"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:257
msgid "Copy Cover"
msgstr "Kopírovat obálku"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:294
msgid "Remove Cover"
msgstr "Odebrat obal"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:335
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
msgid "Double-click to open Book Details window"
msgstr "Klikněte 2x pro zobrazení podrobností o knize"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295
msgid "Path"
msgstr "Cesta"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:338
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:109
#, python-format
msgid "Cover size: %(width)d x %(height)d"
@ -12567,7 +12577,7 @@ msgstr ""
msgid "Searching..."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:706
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:705
#, python-format
msgid "Downloading covers for <b>%s</b>, please wait..."
msgstr ""
@ -13602,11 +13612,11 @@ msgstr "Deaktivováno"
msgid "Partitioned"
msgstr "Rozděleno"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:172
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:175
msgid "Column coloring"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:178
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:181
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223
msgid " or "
@ -18645,7 +18655,7 @@ msgid ""
"uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:608
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:609
msgid ""
"formats_sizes() -- return a comma-separated list of colon_separated items "
"representing sizes in bytes of the formats of a book. You can use the select "
@ -18653,13 +18663,13 @@ msgid ""
"always uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:624
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:625
msgid ""
"human_readable(v) -- return a string representing the number v in KB, MB, "
"GB, etc."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:638
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid ""
"format_number(v, template) -- format the number v using a python formatting "
"template such as \"{0:5.2f}\" or \"{0:,d}\" or \"${0:5,.2f}\". The "
@ -18668,7 +18678,7 @@ msgid ""
"examples. Returns the empty string if formatting fails."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:663
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:664
msgid ""
"sublist(val, start_index, end_index, separator) -- interpret the value as a "
"list of items separated by `separator`, returning a new list made from the "
@ -18681,7 +18691,7 @@ msgid ""
"\"A, B\"."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:698
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:699
msgid ""
"subitems(val, start_index, end_index) -- This function is used to break "
"apart lists of items such as genres. It interprets the value as a comma-"
@ -18698,7 +18708,7 @@ msgid ""
"returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:736
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737
msgid ""
"format_date(val, format_string) -- format the value, which must be a date, "
"using the format_string, returning a string. The formatting codes are: d "
@ -18709,71 +18719,79 @@ msgid ""
"(1 to 12). MM : the month as number with a leading zero (01 to 12) MMM : "
"the abbreviated localized month name (e.g. \"Jan\" to \"Dec\"). MMMM : the "
"long localized month name (e.g. \"January\" to \"December\"). yy : the "
"year as two digit number (00 to 99). yyyy : the year as four digit number. "
"iso : the date with time and timezone. Must be the only format present"
"year as two digit number (00 to 99). yyyy : the year as four digit number. h "
" : the hours without a leading 0 (0 to 11 or 0 to 23, depending on am/pm) "
"hh : the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm) "
"m : the minutes without a leading 0 (0 to 59) mm : the minutes with a "
"leading 0 (00 to 59) s : the seconds without a leading 0 (0 to 59) ss : "
"the seconds with a leading 0 (00 to 59) ap : use a 12-hour clock instead "
"of a 24-hour clock, with \"ap\" replaced by the localized string for am or "
"pm AP : use a 12-hour clock instead of a 24-hour clock, with \"AP\" "
"replaced by the localized string for AM or PM iso : the date with time and "
"timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:765
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774
msgid "uppercase(val) -- return value of the field in upper case"
msgstr "uppercase(val) -- vrací hodnotu pole velkými písmeny"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783
msgid "lowercase(val) -- return value of the field in lower case"
msgstr "lowercase(val) -- vrací hodnotu pole malými písmeny"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792
msgid "titlecase(val) -- return value of the field in title case"
msgstr "titlecase(val) -- vrací hodnotu pole s prvním velkým písmenem"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801
msgid "capitalize(val) -- return value of the field capitalized"
msgstr "capitalize(val) -- vrací hodnotu pole kapitálkami"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810
msgid "booksize() -- return value of the size field"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:815
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:827
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836
msgid ""
"has_cover() -- return Yes if the book has a cover, otherwise return the "
"empty string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:839
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848
msgid ""
"first_non_empty(value, value, ...) -- returns the first value that is not "
"empty. If all values are empty, then the empty value is returned.You can "
"have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:856
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865
msgid ""
"and(value, value, ...) -- returns the string \"1\" if all values are not "
"empty, otherwise returns the empty string. This function works well with "
"test or first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:873
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882
msgid ""
"or(value, value, ...) -- returns the string \"1\" if any value is not empty, "
"otherwise returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:890
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899
msgid ""
"not(value) -- returns the string \"1\" if the value is empty, otherwise "
"returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:902
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911
msgid ""
"list_union(list1, list2, separator) -- return a list made by merging the "
"items in list1 and list2, removing duplicate items using a case-insensitive "
@ -18782,7 +18800,7 @@ msgid ""
"list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:927
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:936
msgid ""
"list_difference(list1, list2, separator) -- return a list made by removing "
"from list1 any item found in list2, using a case-insensitive compare. The "
@ -18790,7 +18808,7 @@ msgid ""
"returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:948
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:957
msgid ""
"list_intersection(list1, list2, separator) -- return a list made by removing "
"from list1 any item not found in list2, using a case-insensitive compare. "
@ -18798,7 +18816,7 @@ msgid ""
"the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:969
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:978
msgid ""
"list_sort(list, direction, separator) -- return list sorted using a case-"
"insensitive sort. If direction is zero, the list is sorted ascending, "
@ -18806,7 +18824,7 @@ msgid ""
"items in the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:984
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:993
msgid ""
"list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if "
"list1 and list2 contain the same items, otherwise return no_val. The items "
@ -18815,7 +18833,7 @@ msgid ""
"The compare is case insensitive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1002
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1011
msgid ""
"list_re(src_list, separator, search_re, opt_replace) -- Construct a list by "
"first separating src_list into items using the separator character. For each "
@ -18824,14 +18842,14 @@ msgid ""
"the replacement before adding the item to the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1026
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035
msgid ""
"today() -- return a date string for today. This value is designed for use in "
"format_date or days_between, but can be manipulated like any other string. "
"The date is in ISO format."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1037
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046
msgid ""
"days_between(date1, date2) -- return the number of days between date1 and "
"date2. The number is positive if date1 is greater than date2, otherwise "
@ -18839,7 +18857,7 @@ msgid ""
"empty string."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1059
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068
msgid ""
"language_strings(lang_codes, localize) -- return the strings for the "
"language codes passed in lang_codes. If localize is zero, return the strings "
@ -18847,7 +18865,7 @@ msgid ""
"the current locale. Lang_codes is a comma-separated list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1079
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088
msgid ""
"language_codes(lang_strings) -- return the language codes for the strings "
"passed in lang_strings. The strings must be in the language of the current "
@ -18939,8 +18957,8 @@ msgid "English (Cyprus)"
msgstr "angličtina (Kypr)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124
msgid "English (Czechoslovakia)"
msgstr "English (Českoslovenština)"
msgid "English (Czech Republic)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125
msgid "English (Pakistan)"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-27 11:21+0000\n"
"POT-Creation-Date: 2011-11-06 08:51+0000\n"
"PO-Revision-Date: 2011-10-30 06:22+0000\n"
"Last-Translator: Ida Nielsen <Unknown>\n"
"Language-Team: Danish <da@li.org>\n"
@ -15,8 +15,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Launchpad-Export-Date: 2011-10-31 05:32+0000\n"
"X-Generator: Launchpad (build 14197)\n"
"X-Launchpad-Export-Date: 2011-11-07 05:24+0000\n"
"X-Generator: Launchpad (build 14231)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
msgid "Does absolutely nothing"
@ -26,20 +26,20 @@ msgstr "Gør absolut ingenting"
#: /home/kovid/work/calibre/src/calibre/db/cache.py:104
#: /home/kovid/work/calibre/src/calibre/db/cache.py:107
#: /home/kovid/work/calibre/src/calibre/db/cache.py:118
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:258
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:259
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:265
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:266
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:79
#: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:579
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:593
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:309
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:310
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:311
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:312
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109
@ -48,12 +48,12 @@ msgstr "Gør absolut ingenting"
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:332
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:98
@ -144,7 +144,7 @@ msgstr "Gør absolut ingenting"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:380
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:161
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:168
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:579
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:580
#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:151
@ -939,8 +939,8 @@ msgstr "Sti til bibliotek for lang. Skal være kortere end %d tegn."
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
#: /home/kovid/work/calibre/src/calibre/library/database2.py:990
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:820
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:832
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841
msgid "Yes"
msgstr "Ja"
@ -969,7 +969,7 @@ msgstr "Fejlsøgnings log"
msgid "Communicate with Android phones."
msgstr "Kommunikér med Android telefoner"
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:148
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@ -977,11 +977,11 @@ msgstr ""
"Komma separeret liste af mapper til at sende e-bøger til, på enheden. Den "
"første som findes, vil blive brugt."
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:198
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:205
msgid "Communicate with S60 phones."
msgstr "Kommunikér med S60 telefoner."
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:217
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:224
msgid "Communicate with WebOS tablets."
msgstr "Kommunikerer med WebOS tablets"
@ -1100,11 +1100,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:527
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:546
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1084
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1090
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1125
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:529
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:548
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1054
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453
#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1148
@ -1171,11 +1171,11 @@ msgstr "Bambook"
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:218
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:234
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:88
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:91
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:94
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:303
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:151
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:95
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:98
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:101
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:153
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:140
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146
@ -1195,8 +1195,8 @@ msgstr "Overfører bøger til enhed..."
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:330
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:344
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:437
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:472
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:451
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:486
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:297
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:328
msgid "Adding books to device metadata listing..."
@ -1206,8 +1206,8 @@ msgstr "Tilføjer bøger til enhedens metadataliste..."
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:354
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:125
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:389
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:421
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:403
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:435
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:334
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:352
msgid "Removing books from device..."
@ -1215,8 +1215,8 @@ msgstr "Fjerner bøger fra enhed..."
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:369
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:374
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:432
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:439
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:446
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:364
msgid "Removing books from device metadata listing..."
@ -1499,12 +1499,23 @@ msgstr ""
msgid "Upload Black and White Covers"
msgstr "Upload Sort / Hvid forside"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:559
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:65
msgid "Show expired books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:66
msgid ""
"A bug in an earlier version left non kepubs book records in the datbase. "
"With this option Calibre will show the expired records and allow you to "
"delete them with the new delete logic."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:573
#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:390
msgid "Not Implemented"
msgstr "Ikke implementeret"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:560
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:574
msgid ""
"\".kobo\" files do not exist on the device as books instead, they are rows "
"in the sqlite database. Currently they cannot be exported or viewed."
@ -1512,15 +1523,15 @@ msgstr ""
"\".kobo\" filer eksisterer ikke på enheden som e-bøger, istedet er de rækker "
"i sqlite-databasen. I øjeblikket kan de ikke eksporteres eller vises."
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:989
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:995
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1003
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1009
#, python-format
msgid ""
"<hr /><b>Book Last Read:</b> %(time)s<br /><b>Percentage Read:</b> "
"%(pr)d%%<hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1027
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1528,7 +1539,7 @@ msgid ""
"/><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1022
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1036
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1536,8 +1547,8 @@ msgid ""
"%(text)s<br /><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1031
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1041
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1045
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1055
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1811,16 +1822,7 @@ msgstr "Ikke muligt at finde %s diskvolumet. Prøv at genstarte."
msgid "Unable to detect the %s disk drive."
msgstr "Kan ikke finde diskdrevet %s."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:629
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:784
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:827
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:837
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:847
#, python-format
msgid "Could not find mount helper: %s."
msgstr "Kunne ikke finde diskvolume monteringshjælper: %s."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:632
#, python-format
msgid ""
"Unable to detect the %s disk drive. Either the device has already been "
@ -1829,12 +1831,12 @@ msgstr ""
"Ikke istand til at finde %s disken. Enten er enheden allerede skubbet ud, "
"eller din kerne har sat en forældet version af SYSFS."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:650
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#, python-format
msgid "Unable to mount main memory (Error code: %d)"
msgstr "Kan ikke benytte arbejdshukommelsen (Fejlkode: %d)"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:701
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:692
#, python-format
msgid ""
"The main memory of %s is read only. This usually happens because of file "
@ -1843,22 +1845,30 @@ msgstr ""
"Arbejdshukommelsen i %s er ikke skrivebar. Denne tilstand sker typisk på "
"grund af filsystem fejl."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1011
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:778
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:821
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:831
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:841
#, python-format
msgid "Could not find mount helper: %s."
msgstr "Kunne ikke finde diskvolume monteringshjælper: %s."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:975
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:977
msgid "The reader has no storage card in this slot."
msgstr "E-bogslæseren har intet hukommelseskort i denne sokkel."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1015
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:979
#, python-format
msgid "Selected slot: %s is not supported."
msgstr "Den valgte sokkel: %s er ikke understøttet."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1044
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1008
msgid "There is insufficient free space in main memory"
msgstr "Der er ikke tilstrækkelig plads i arbejdshukommelsen"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1046
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1010
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1012
msgid "There is insufficient free space on the storage card"
msgstr "Der er ikke tilstrækkelig plads på hukommelseskortet"
@ -2987,7 +2997,7 @@ msgstr ""
msgid "for a complete list with descriptions."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:248
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250
msgid ""
"Traverse links in HTML files breadth first. Normally, they are traversed "
"depth first."
@ -2995,7 +3005,7 @@ msgstr ""
"Traversér henvisninger i HTML-filer bredde-først. Normalt traverseres de "
"dybde-først."
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:255
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257
#, python-format
msgid ""
"Maximum levels of recursion when following links in HTML files. Must be non-"
@ -3006,7 +3016,7 @@ msgstr ""
"ikke-negativt. 0 betyder at ingen henvisninger i rod HTML-filen følges. "
"Standardværdi er %default."
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:264
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266
msgid ""
"Normally this input plugin re-arranges all the input files into a standard "
"folder hierarchy. Only use this option if you know what you are doing as it "
@ -4198,7 +4208,7 @@ msgstr ""
msgid "Split Options:"
msgstr "Delemuligheder:"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:31
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:30
#, python-format
msgid ""
"The unit of measure. Default is inch. Choices are %s Note: This does not "
@ -4207,7 +4217,7 @@ msgstr ""
"Længdemålenhed. Standard er US tomme. Valgmuligheder er %s Bemærk: Dette "
"tilsidesætter margenenheden!"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:35
#, python-format
msgid ""
"The size of the paper. This size will be overridden when an output profile "
@ -4216,7 +4226,7 @@ msgstr ""
"Papirsstørrelse. Størrelsen vil blive tilsidesat når en output-profil "
"anvendes. Stanard er letter. Valgmulighederne er %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:39
msgid ""
"Custom size of the document. Use the form widthxheight EG. `123x321` to "
"specify the width and height. This overrides any specified paper-size."
@ -4225,12 +4235,12 @@ msgstr ""
"at angive bredden og højden. Dette tilsidesætter enhver angivet "
"papirsstørrelse."
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:44
#, python-format
msgid "The orientation of the page. Default is portrait. Choices are %s"
msgstr "Sideorientering. Standard er portræt. Valgmuligheder er %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:48
msgid ""
"Preserve the aspect ratio of the cover, instead of stretching it to fill the "
"full first page of the generated pdf."
@ -6224,49 +6234,49 @@ msgstr ""
msgid "Donate"
msgstr "Donér"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:120
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:121
msgid "Click to open"
msgstr "Klik for at åbne"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:135
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:136
msgid "Ids"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:173
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:174
#, python-format
msgid "Book %(sidx)s of <span class=\"series_name\">%(series)s</span>"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:189
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1035
msgid "Collections"
msgstr "Samlinger"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:291
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:256
msgid "Paste Cover"
msgstr "Indsæt omslag"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:257
msgid "Copy Cover"
msgstr "Kopiér omslag"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:294
msgid "Remove Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:335
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
msgid "Double-click to open Book Details window"
msgstr "Dobbeltklik for at åbne Book Details vinduet"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295
msgid "Path"
msgstr "Sti"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:338
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:109
#, python-format
msgid "Cover size: %(width)d x %(height)d"
@ -12325,7 +12335,7 @@ msgstr "Aktuelt omslag"
msgid "Searching..."
msgstr "Søger..."
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:706
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:705
#, python-format
msgid "Downloading covers for <b>%s</b>, please wait..."
msgstr ""
@ -13362,11 +13372,11 @@ msgstr "Deaktiveret"
msgid "Partitioned"
msgstr "Partitioneret"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:172
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:175
msgid "Column coloring"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:178
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:181
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223
msgid " or "
@ -18566,7 +18576,7 @@ msgid ""
"uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:608
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:609
msgid ""
"formats_sizes() -- return a comma-separated list of colon_separated items "
"representing sizes in bytes of the formats of a book. You can use the select "
@ -18574,13 +18584,13 @@ msgid ""
"always uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:624
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:625
msgid ""
"human_readable(v) -- return a string representing the number v in KB, MB, "
"GB, etc."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:638
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid ""
"format_number(v, template) -- format the number v using a python formatting "
"template such as \"{0:5.2f}\" or \"{0:,d}\" or \"${0:5,.2f}\". The "
@ -18589,7 +18599,7 @@ msgid ""
"examples. Returns the empty string if formatting fails."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:663
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:664
msgid ""
"sublist(val, start_index, end_index, separator) -- interpret the value as a "
"list of items separated by `separator`, returning a new list made from the "
@ -18602,7 +18612,7 @@ msgid ""
"\"A, B\"."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:698
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:699
msgid ""
"subitems(val, start_index, end_index) -- This function is used to break "
"apart lists of items such as genres. It interprets the value as a comma-"
@ -18619,7 +18629,7 @@ msgid ""
"returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:736
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737
msgid ""
"format_date(val, format_string) -- format the value, which must be a date, "
"using the format_string, returning a string. The formatting codes are: d "
@ -18630,71 +18640,79 @@ msgid ""
"(1 to 12). MM : the month as number with a leading zero (01 to 12) MMM : "
"the abbreviated localized month name (e.g. \"Jan\" to \"Dec\"). MMMM : the "
"long localized month name (e.g. \"January\" to \"December\"). yy : the "
"year as two digit number (00 to 99). yyyy : the year as four digit number. "
"iso : the date with time and timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:765
msgid "uppercase(val) -- return value of the field in upper case"
"year as two digit number (00 to 99). yyyy : the year as four digit number. h "
" : the hours without a leading 0 (0 to 11 or 0 to 23, depending on am/pm) "
"hh : the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm) "
"m : the minutes without a leading 0 (0 to 59) mm : the minutes with a "
"leading 0 (00 to 59) s : the seconds without a leading 0 (0 to 59) ss : "
"the seconds with a leading 0 (00 to 59) ap : use a 12-hour clock instead "
"of a 24-hour clock, with \"ap\" replaced by the localized string for am or "
"pm AP : use a 12-hour clock instead of a 24-hour clock, with \"AP\" "
"replaced by the localized string for AM or PM iso : the date with time and "
"timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774
msgid "lowercase(val) -- return value of the field in lower case"
msgid "uppercase(val) -- return value of the field in upper case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783
msgid "titlecase(val) -- return value of the field in title case"
msgid "lowercase(val) -- return value of the field in lower case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792
msgid "capitalize(val) -- return value of the field capitalized"
msgid "titlecase(val) -- return value of the field in title case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801
msgid "capitalize(val) -- return value of the field capitalized"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810
msgid "booksize() -- return value of the size field"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:815
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:827
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836
msgid ""
"has_cover() -- return Yes if the book has a cover, otherwise return the "
"empty string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:839
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848
msgid ""
"first_non_empty(value, value, ...) -- returns the first value that is not "
"empty. If all values are empty, then the empty value is returned.You can "
"have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:856
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865
msgid ""
"and(value, value, ...) -- returns the string \"1\" if all values are not "
"empty, otherwise returns the empty string. This function works well with "
"test or first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:873
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882
msgid ""
"or(value, value, ...) -- returns the string \"1\" if any value is not empty, "
"otherwise returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:890
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899
msgid ""
"not(value) -- returns the string \"1\" if the value is empty, otherwise "
"returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:902
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911
msgid ""
"list_union(list1, list2, separator) -- return a list made by merging the "
"items in list1 and list2, removing duplicate items using a case-insensitive "
@ -18703,7 +18721,7 @@ msgid ""
"list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:927
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:936
msgid ""
"list_difference(list1, list2, separator) -- return a list made by removing "
"from list1 any item found in list2, using a case-insensitive compare. The "
@ -18711,7 +18729,7 @@ msgid ""
"returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:948
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:957
msgid ""
"list_intersection(list1, list2, separator) -- return a list made by removing "
"from list1 any item not found in list2, using a case-insensitive compare. "
@ -18719,7 +18737,7 @@ msgid ""
"the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:969
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:978
msgid ""
"list_sort(list, direction, separator) -- return list sorted using a case-"
"insensitive sort. If direction is zero, the list is sorted ascending, "
@ -18727,7 +18745,7 @@ msgid ""
"items in the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:984
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:993
msgid ""
"list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if "
"list1 and list2 contain the same items, otherwise return no_val. The items "
@ -18736,7 +18754,7 @@ msgid ""
"The compare is case insensitive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1002
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1011
msgid ""
"list_re(src_list, separator, search_re, opt_replace) -- Construct a list by "
"first separating src_list into items using the separator character. For each "
@ -18745,14 +18763,14 @@ msgid ""
"the replacement before adding the item to the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1026
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035
msgid ""
"today() -- return a date string for today. This value is designed for use in "
"format_date or days_between, but can be manipulated like any other string. "
"The date is in ISO format."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1037
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046
msgid ""
"days_between(date1, date2) -- return the number of days between date1 and "
"date2. The number is positive if date1 is greater than date2, otherwise "
@ -18760,7 +18778,7 @@ msgid ""
"empty string."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1059
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068
msgid ""
"language_strings(lang_codes, localize) -- return the strings for the "
"language codes passed in lang_codes. If localize is zero, return the strings "
@ -18768,7 +18786,7 @@ msgid ""
"the current locale. Lang_codes is a comma-separated list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1079
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088
msgid ""
"language_codes(lang_strings) -- return the language codes for the strings "
"passed in lang_strings. The strings must be in the language of the current "
@ -18860,8 +18878,8 @@ msgid "English (Cyprus)"
msgstr "Engelsk (Cypern)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124
msgid "English (Czechoslovakia)"
msgstr "Engelsk (Tjekkoslovakiet)"
msgid "English (Czech Republic)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125
msgid "English (Pakistan)"

View File

@ -7,16 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: de\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-10-27 11:21+0000\n"
"PO-Revision-Date: 2011-11-01 08:57+0000\n"
"Last-Translator: Hendrik Knackstedt <Unknown>\n"
"POT-Creation-Date: 2011-11-06 08:51+0000\n"
"PO-Revision-Date: 2011-11-09 14:10+0000\n"
"Last-Translator: Christian K. <Unknown>\n"
"Language-Team: American English <kde-i18n-doc@lists.kde.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Launchpad-Export-Date: 2011-11-02 04:55+0000\n"
"X-Generator: Launchpad (build 14214)\n"
"X-Launchpad-Export-Date: 2011-11-10 04:55+0000\n"
"X-Generator: Launchpad (build 14263)\n"
"X-Poedit-Bookmarks: 3327,-1,-1,-1,-1,-1,-1,-1,-1,-1\n"
"Generated-By: pygettext.py 1.5\n"
@ -28,20 +28,20 @@ msgstr "Macht absolut gar nichts"
#: /home/kovid/work/calibre/src/calibre/db/cache.py:104
#: /home/kovid/work/calibre/src/calibre/db/cache.py:107
#: /home/kovid/work/calibre/src/calibre/db/cache.py:118
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:258
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:259
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:265
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:266
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:79
#: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:579
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:593
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:309
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:310
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:311
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:312
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109
@ -50,12 +50,12 @@ msgstr "Macht absolut gar nichts"
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:332
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:98
@ -146,7 +146,7 @@ msgstr "Macht absolut gar nichts"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:380
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:161
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:168
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:579
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:580
#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:151
@ -955,8 +955,8 @@ msgstr "Pfad zur Datenbank zu lang. Muss kürzer als %d Zeichen sein"
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
#: /home/kovid/work/calibre/src/calibre/library/database2.py:990
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:820
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:832
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841
msgid "Yes"
msgstr "Ja"
@ -985,7 +985,7 @@ msgstr "Fehlerdiagnoseprotokoll"
msgid "Communicate with Android phones."
msgstr "Kommunikation mit Android-Telefonen."
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:148
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@ -993,11 +993,11 @@ msgstr ""
"Durch Kommata getrennte Liste von Verzeichnissen an die E-Books auf das "
"Gerät gesendet werden. Das erste vorhandene wird benutzt"
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:198
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:205
msgid "Communicate with S60 phones."
msgstr "Kommunikation mit S60-Telefonen."
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:217
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:224
msgid "Communicate with WebOS tablets."
msgstr "Kommuniziere mit WebOS Tablets."
@ -1138,11 +1138,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:527
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:546
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1084
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1090
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1125
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:529
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:548
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1054
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453
#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1148
@ -1210,11 +1210,11 @@ msgstr "Bambook"
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:218
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:234
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:88
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:91
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:94
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:303
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:151
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:95
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:98
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:101
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:153
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:140
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146
@ -1234,8 +1234,8 @@ msgstr "Bücher ans Gerät übertragen ..."
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:330
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:344
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:437
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:472
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:451
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:486
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:297
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:328
msgid "Adding books to device metadata listing..."
@ -1245,8 +1245,8 @@ msgstr "Bücher zur Metadaten-Liste des Geräts hinzufügen ..."
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:354
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:125
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:389
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:421
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:403
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:435
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:334
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:352
msgid "Removing books from device..."
@ -1254,8 +1254,8 @@ msgstr "Bücher vom Gerät entfernen ..."
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:369
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:374
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:432
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:439
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:446
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:364
msgid "Removing books from device metadata listing..."
@ -1542,12 +1542,27 @@ msgstr ""
msgid "Upload Black and White Covers"
msgstr "Schwarz-Weiß Umschläge hochladen"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:559
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:65
msgid "Show expired books"
msgstr "Zeige abgelaufene Bücher"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:66
msgid ""
"A bug in an earlier version left non kepubs book records in the datbase. "
"With this option Calibre will show the expired records and allow you to "
"delete them with the new delete logic."
msgstr ""
"Ein Fehler in einer frühern Version hat Einträge von nicht-kepubs-Büchern in "
"der Datenbank zurückgelassen. Mit dieser Option wird Calibre diese "
"abgelaufenen Einträge anzeigen. Sie können diese dann mit Hilfe der neuen "
"Löschfunktion entfernen."
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:573
#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:390
msgid "Not Implemented"
msgstr "Nicht implementiert"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:560
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:574
msgid ""
"\".kobo\" files do not exist on the device as books instead, they are rows "
"in the sqlite database. Currently they cannot be exported or viewed."
@ -1556,8 +1571,8 @@ msgstr ""
"sind sie als Datenbankzeilen in der sqlite-DAtenbank vorhanden. Momentan "
"kann man sie nicht exportieren oder anzeigen."
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:989
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:995
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1003
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1009
#, python-format
msgid ""
"<hr /><b>Book Last Read:</b> %(time)s<br /><b>Percentage Read:</b> "
@ -1566,24 +1581,30 @@ msgstr ""
"<hr /><b>Zuletzt gelesenes Buch:</b> %(time)s<br /><b>Fortschritt:</b> "
"%(pr)d%%<hr />"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1027
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
"/><b>Chapter Progress:</b> %(chapter_progress)s%%<br />%(annotation)s<br "
"/><hr />"
msgstr ""
"<b>Kapitel %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
"/><b>Kapitelfortschritt:</b> %(chapter_progress)s%%<br />%(annotation)s<br "
"/><hr />"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1022
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1036
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
"/><b>Chapter Progress:</b> %(chapter_progress)s%%<br /><b>Highlight:</b> "
"%(text)s<br /><hr />"
msgstr ""
"<b>Kapitel %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
"/><b>Kapitelfortschritt:</b> %(chapter_progress)s%%<br /><b>Highlight:</b> "
"%(text)s<br /><hr />"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1031
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1041
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1045
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1055
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1891,16 +1912,7 @@ msgstr ""
msgid "Unable to detect the %s disk drive."
msgstr "Das %s-Laufwerk konnte nicht erkannt werden."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:629
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:784
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:827
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:837
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:847
#, python-format
msgid "Could not find mount helper: %s."
msgstr "Mount Helper konnte nicht gefunden werden: %s."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:632
#, python-format
msgid ""
"Unable to detect the %s disk drive. Either the device has already been "
@ -1909,12 +1921,12 @@ msgstr ""
"Kann den %s Datenträger nicht erkennen. Entweder wurde das Gerät bereits "
"ausgeworfen, oder Ihr Kernel exportiert eine veraltete Version von SYSFS."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:650
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#, python-format
msgid "Unable to mount main memory (Error code: %d)"
msgstr "Hauptspeicher konnte nicht eingehängt werden (Fehler-Code: %d)"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:701
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:692
#, python-format
msgid ""
"The main memory of %s is read only. This usually happens because of file "
@ -1923,22 +1935,30 @@ msgstr ""
"Der Hauptspeicher von %s ist schreibgeschützt. Dies passiert üblicherweise "
"aufgrund von Fehlern im Dateisystem."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1011
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:778
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:821
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:831
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:841
#, python-format
msgid "Could not find mount helper: %s."
msgstr "Mount Helper konnte nicht gefunden werden: %s."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:975
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:977
msgid "The reader has no storage card in this slot."
msgstr "Das Gerät hat keine Speicherkarte in diesem Laufwerk."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1015
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:979
#, python-format
msgid "Selected slot: %s is not supported."
msgstr "Gewählter Slot: %s wird nicht unterstützt."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1044
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1008
msgid "There is insufficient free space in main memory"
msgstr "Nicht genügend freier Spreicherplatz im Hauptspeicher"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1046
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1010
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1012
msgid "There is insufficient free space on the storage card"
msgstr "Nicht genügend freier Speicherplatz auf der Speicherkarte"
@ -3207,7 +3227,7 @@ msgstr ""
msgid "for a complete list with descriptions."
msgstr "für eine vollständige Liste mit Beschreibung."
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:248
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250
msgid ""
"Traverse links in HTML files breadth first. Normally, they are traversed "
"depth first."
@ -3215,7 +3235,7 @@ msgstr ""
"Links in HTML-Dateien in der Breite durchlaufen. Normalerweise werden Links "
"in die Tiefe durchlaufen."
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:255
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257
#, python-format
msgid ""
"Maximum levels of recursion when following links in HTML files. Must be non-"
@ -3226,7 +3246,7 @@ msgstr ""
"Darf nicht negativ sein. 0 gibt an, dass keine Links in der ursprünglichen "
"HTML-Datei verfolgt werden. Voreinstellung ist %default."
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:264
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266
msgid ""
"Normally this input plugin re-arranges all the input files into a standard "
"folder hierarchy. Only use this option if you know what you are doing as it "
@ -4489,7 +4509,7 @@ msgstr ""
msgid "Split Options:"
msgstr "Einstellungen zum Aufteilen:"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:31
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:30
#, python-format
msgid ""
"The unit of measure. Default is inch. Choices are %s Note: This does not "
@ -4498,7 +4518,7 @@ msgstr ""
"Die Maßeinheit. Voreinstellung ist inch. Wählbar ist %s Achtung: Dies "
"überschreibt nicht die Einheiten für Ränder!"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:35
#, python-format
msgid ""
"The size of the paper. This size will be overridden when an output profile "
@ -4507,7 +4527,7 @@ msgstr ""
"Größe der Seite. Diese Größe wird überschrieben, wenn ein Ausgabe-Profil "
"verwendet wird. Voreinstellung ist Letter. Wählbar ist %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:39
msgid ""
"Custom size of the document. Use the form widthxheight EG. `123x321` to "
"specify the width and height. This overrides any specified paper-size."
@ -4516,12 +4536,12 @@ msgstr ""
"für die Angabe der Breite und Höhe. Dies überschreibt jede angegebene "
"Seitengröße."
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:44
#, python-format
msgid "The orientation of the page. Default is portrait. Choices are %s"
msgstr "Ausrichtung der Seite. Voreinstellung ist Querformat. Wählbar ist %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:48
msgid ""
"Preserve the aspect ratio of the cover, instead of stretching it to fill the "
"full first page of the generated pdf."
@ -6690,49 +6710,49 @@ msgstr ""
msgid "Donate"
msgstr "Spenden"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:120
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:121
msgid "Click to open"
msgstr "Zum Öffnen klicken"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:135
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:136
msgid "Ids"
msgstr "Ids"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:173
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:174
#, python-format
msgid "Book %(sidx)s of <span class=\"series_name\">%(series)s</span>"
msgstr "Buch %(sidx)s von <span class=\"series_name\">%(series)s</span>"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:189
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1035
msgid "Collections"
msgstr "Sammlungen"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:291
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:256
msgid "Paste Cover"
msgstr "Umschlag einfügen"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:257
msgid "Copy Cover"
msgstr "Umschlag kopieren"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:294
msgid "Remove Cover"
msgstr "Cover entfernen"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:335
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
msgid "Double-click to open Book Details window"
msgstr "Doppelklick, um das Buchdetail- Fenster zu öffnen"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295
msgid "Path"
msgstr "Pfad"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:338
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:109
#, python-format
msgid "Cover size: %(width)d x %(height)d"
@ -13195,7 +13215,7 @@ msgstr "Derzeitiges Umschlagbild"
msgid "Searching..."
msgstr "Suche..."
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:706
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:705
#, python-format
msgid "Downloading covers for <b>%s</b>, please wait..."
msgstr "Lade Umschlagbilder für <b>%s</b> herunter, bitte warten..."
@ -14327,11 +14347,11 @@ msgstr "Ausgeschaltet"
msgid "Partitioned"
msgstr "Gruppiert"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:172
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:175
msgid "Column coloring"
msgstr "Spaltenfarbe"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:178
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:181
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223
msgid " or "
@ -14411,6 +14431,11 @@ msgid ""
"Manage Authors. You can use the values {author} and \n"
"{author_sort}, and any template function."
msgstr ""
"<p>Gib eine Vorlage an, die benutzt werden soll, um einen Link für\n"
"einen Autor in den Buchinformationen zu erstellen. Die Vorlage wird\n"
"benutzt, wenn kein Link für den Autor über \"Autoren Organisieren\"\n"
"bereitgestellt wurde. Sie können die Werte {author} und\n"
"{author_sort} und jede Vorlagenfunktion benutzen."
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:152
msgid "Use &Roman numerals for series"
@ -17819,6 +17844,10 @@ msgid ""
"Default: '%default'\n"
"Applies to: CSV, XML output formats"
msgstr ""
"Ausgabefeld, nach dem sortiert werden soll.\n"
"Verfügbare Felder: author_sort, id, rating, size, timestamp, title_sort\n"
"Vorgabe: '%default'\n"
"Gilt für CSV- und XML-Ausgabeformate"
#: /home/kovid/work/calibre/src/calibre/library/catalog.py:251
#, python-format
@ -18148,6 +18177,9 @@ msgid ""
"Author '{0}':\n"
"'{1}' <> '{2}'\n"
msgstr ""
"Warnung: widersprüchliche Werte für Sortierung nach\n"
"Autor '{0}':\n"
"'{1}' <> '{2}'\n"
#: /home/kovid/work/calibre/src/calibre/library/catalog.py:1729
msgid ""
@ -19125,7 +19157,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:309
#, python-format
msgid "Template evaluation resulted in no path components. Template: %s"
msgstr ""
msgstr "Auswertung der Vorlage ergab keine Pfadkomponente. Vorlage: %s"
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:405
#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:438
@ -19667,6 +19699,8 @@ msgid ""
"assign(id, val) -- assigns val to id, then returns val. id must be an "
"identifier, not an expression"
msgstr ""
"assign(id, val) -- Zuweisung von val zu id, gibt val zurück. id muss ein "
"Bezeichner sein, kein Ausdruck"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:253
msgid ""
@ -19681,12 +19715,15 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:265
msgid "field(name) -- returns the metadata field named by name"
msgstr ""
"field(name) -- gibt das Feld Metadaten, das durch name bezeichnet ist, zurück"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:274
msgid ""
"raw_field(name) -- returns the metadata field named by name without applying "
"any formatting."
msgstr ""
"raw_field(name) -- gibt das Feld Metadaten, das durch name bezeichnet ist, "
"ohne jegliche Formatierung zurück"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284
msgid ""
@ -19750,15 +19787,15 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386
msgid "strcat_max requires 2 or more arguments"
msgstr ""
msgstr "strcat_max erfordert zwei oder mehr Argumente"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:388
msgid "strcat_max requires an even number of arguments"
msgstr ""
msgstr "strcat_max erfordert eine gerade Anzahl von Argumenten"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:392
msgid "first argument to strcat_max must be an integer"
msgstr ""
msgstr "das erste Argument von strcat_max muss eine Ganzzahl sein"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:410
msgid ""
@ -19856,7 +19893,7 @@ msgid ""
"uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:608
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:609
msgid ""
"formats_sizes() -- return a comma-separated list of colon_separated items "
"representing sizes in bytes of the formats of a book. You can use the select "
@ -19864,13 +19901,15 @@ msgid ""
"always uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:624
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:625
msgid ""
"human_readable(v) -- return a string representing the number v in KB, MB, "
"GB, etc."
msgstr ""
"human_readable(v) -- gibt einen String zurück der die Zahl v in KB, MB, GB, "
"etc. ausdrückt"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:638
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid ""
"format_number(v, template) -- format the number v using a python formatting "
"template such as \"{0:5.2f}\" or \"{0:,d}\" or \"${0:5,.2f}\". The "
@ -19879,7 +19918,7 @@ msgid ""
"examples. Returns the empty string if formatting fails."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:663
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:664
msgid ""
"sublist(val, start_index, end_index, separator) -- interpret the value as a "
"list of items separated by `separator`, returning a new list made from the "
@ -19892,7 +19931,7 @@ msgid ""
"\"A, B\"."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:698
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:699
msgid ""
"subitems(val, start_index, end_index) -- This function is used to break "
"apart lists of items such as genres. It interprets the value as a comma-"
@ -19909,7 +19948,7 @@ msgid ""
"returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:736
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737
msgid ""
"format_date(val, format_string) -- format the value, which must be a date, "
"using the format_string, returning a string. The formatting codes are: d "
@ -19920,71 +19959,86 @@ msgid ""
"(1 to 12). MM : the month as number with a leading zero (01 to 12) MMM : "
"the abbreviated localized month name (e.g. \"Jan\" to \"Dec\"). MMMM : the "
"long localized month name (e.g. \"January\" to \"December\"). yy : the "
"year as two digit number (00 to 99). yyyy : the year as four digit number. "
"iso : the date with time and timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:765
msgid "uppercase(val) -- return value of the field in upper case"
"year as two digit number (00 to 99). yyyy : the year as four digit number. h "
" : the hours without a leading 0 (0 to 11 or 0 to 23, depending on am/pm) "
"hh : the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm) "
"m : the minutes without a leading 0 (0 to 59) mm : the minutes with a "
"leading 0 (00 to 59) s : the seconds without a leading 0 (0 to 59) ss : "
"the seconds with a leading 0 (00 to 59) ap : use a 12-hour clock instead "
"of a 24-hour clock, with \"ap\" replaced by the localized string for am or "
"pm AP : use a 12-hour clock instead of a 24-hour clock, with \"AP\" "
"replaced by the localized string for AM or PM iso : the date with time and "
"timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774
msgid "lowercase(val) -- return value of the field in lower case"
msgid "uppercase(val) -- return value of the field in upper case"
msgstr ""
"uppercase(val) -- gibt den Wert des Feldes val in Großbuchstaben zurück"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783
msgid "titlecase(val) -- return value of the field in title case"
msgid "lowercase(val) -- return value of the field in lower case"
msgstr ""
"lowercase(val) -- gibt den Wert des Feldes val in Kleinbuchstaben zurück"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792
msgid "capitalize(val) -- return value of the field capitalized"
msgid "titlecase(val) -- return value of the field in title case"
msgstr ""
"titlecase(val) -- gibt den Wert des Feldes val im Überschriftenstil zurück"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801
msgid "capitalize(val) -- return value of the field capitalized"
msgstr ""
"capitalize(val) -- gibt den Wert des Feldes val mit großen Anfangsbuchstaben "
"zurück"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810
msgid "booksize() -- return value of the size field"
msgstr "Buchgröße() -- gibt den Wert des Feld größe wieder"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:815
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:827
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836
msgid ""
"has_cover() -- return Yes if the book has a cover, otherwise return the "
"empty string"
msgstr ""
"has_cover() -- gibt Yes zurück, wenn das Buch einen Umschlag hat, "
"andernfalls einen leeren String"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:839
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848
msgid ""
"first_non_empty(value, value, ...) -- returns the first value that is not "
"empty. If all values are empty, then the empty value is returned.You can "
"have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:856
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865
msgid ""
"and(value, value, ...) -- returns the string \"1\" if all values are not "
"empty, otherwise returns the empty string. This function works well with "
"test or first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:873
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882
msgid ""
"or(value, value, ...) -- returns the string \"1\" if any value is not empty, "
"otherwise returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:890
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899
msgid ""
"not(value) -- returns the string \"1\" if the value is empty, otherwise "
"returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:902
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911
msgid ""
"list_union(list1, list2, separator) -- return a list made by merging the "
"items in list1 and list2, removing duplicate items using a case-insensitive "
@ -19993,7 +20047,7 @@ msgid ""
"list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:927
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:936
msgid ""
"list_difference(list1, list2, separator) -- return a list made by removing "
"from list1 any item found in list2, using a case-insensitive compare. The "
@ -20001,7 +20055,7 @@ msgid ""
"returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:948
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:957
msgid ""
"list_intersection(list1, list2, separator) -- return a list made by removing "
"from list1 any item not found in list2, using a case-insensitive compare. "
@ -20009,7 +20063,7 @@ msgid ""
"the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:969
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:978
msgid ""
"list_sort(list, direction, separator) -- return list sorted using a case-"
"insensitive sort. If direction is zero, the list is sorted ascending, "
@ -20017,7 +20071,7 @@ msgid ""
"items in the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:984
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:993
msgid ""
"list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if "
"list1 and list2 contain the same items, otherwise return no_val. The items "
@ -20026,7 +20080,7 @@ msgid ""
"The compare is case insensitive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1002
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1011
msgid ""
"list_re(src_list, separator, search_re, opt_replace) -- Construct a list by "
"first separating src_list into items using the separator character. For each "
@ -20035,14 +20089,14 @@ msgid ""
"the replacement before adding the item to the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1026
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035
msgid ""
"today() -- return a date string for today. This value is designed for use in "
"format_date or days_between, but can be manipulated like any other string. "
"The date is in ISO format."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1037
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046
msgid ""
"days_between(date1, date2) -- return the number of days between date1 and "
"date2. The number is positive if date1 is greater than date2, otherwise "
@ -20050,7 +20104,7 @@ msgid ""
"empty string."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1059
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068
msgid ""
"language_strings(lang_codes, localize) -- return the strings for the "
"language codes passed in lang_codes. If localize is zero, return the strings "
@ -20058,7 +20112,7 @@ msgid ""
"the current locale. Lang_codes is a comma-separated list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1079
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088
msgid ""
"language_codes(lang_strings) -- return the language codes for the strings "
"passed in lang_strings. The strings must be in the language of the current "
@ -20115,7 +20169,7 @@ msgstr "Englisch (Australien)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:115
msgid "English (Bulgaria)"
msgstr ""
msgstr "Englisch (Bulgarien)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116
msgid "English (New Zealand)"
@ -20135,7 +20189,7 @@ msgstr "Englisch (Indien)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120
msgid "English (Nepal)"
msgstr ""
msgstr "Englisch (Nepal)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121
msgid "English (Thailand)"
@ -20150,8 +20204,8 @@ msgid "English (Cyprus)"
msgstr "Englisch (Zypern)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124
msgid "English (Czechoslovakia)"
msgstr "Englisch (Tschechoslowakei)"
msgid "English (Czech Republic)"
msgstr "Englisch (Tschechische Republik)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125
msgid "English (Pakistan)"
@ -20171,7 +20225,7 @@ msgstr "Englisch (Israel)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129
msgid "English (Russia)"
msgstr ""
msgstr "Englisch (Russland)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130
msgid "English (Singapore)"
@ -20239,7 +20293,7 @@ msgstr "Spanisch (Nicaragua)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146
msgid "Spanish (Colombia)"
msgstr ""
msgstr "Spanisch (Kolumbien)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147
msgid "German (AT)"
@ -20471,7 +20525,7 @@ msgstr "Impressumskopie geladen"
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1216
msgid "Articles in this issue: "
msgstr ""
msgstr "Artikel in dieser Ausgabe: "
#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1286
msgid "Untitled Article"
@ -20532,7 +20586,7 @@ msgstr "Vorhergehender Abschnitt"
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:214
msgid "Section Menu"
msgstr ""
msgstr "Auswahlmenü"
#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:217
msgid "Main Menu"

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-27 11:21+0000\n"
"POT-Creation-Date: 2011-11-06 08:51+0000\n"
"PO-Revision-Date: 2011-08-05 16:13+0000\n"
"Last-Translator: Kovid Goyal <Unknown>\n"
"Language-Team: English (Australia) <en_AU@li.org>\n"
@ -15,8 +15,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Launchpad-Export-Date: 2011-10-28 05:32+0000\n"
"X-Generator: Launchpad (build 14197)\n"
"X-Launchpad-Export-Date: 2011-11-07 05:40+0000\n"
"X-Generator: Launchpad (build 14231)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
msgid "Does absolutely nothing"
@ -26,20 +26,20 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/db/cache.py:104
#: /home/kovid/work/calibre/src/calibre/db/cache.py:107
#: /home/kovid/work/calibre/src/calibre/db/cache.py:118
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:258
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:259
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:265
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:266
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:79
#: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:579
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:593
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:309
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:310
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:311
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:312
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109
@ -48,12 +48,12 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:332
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:98
@ -144,7 +144,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:380
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:161
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:168
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:579
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:580
#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:151
@ -894,8 +894,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
#: /home/kovid/work/calibre/src/calibre/library/database2.py:990
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:820
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:832
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841
msgid "Yes"
msgstr ""
@ -924,17 +924,17 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:148
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:198
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:205
msgid "Communicate with S60 phones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:217
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:224
msgid "Communicate with WebOS tablets."
msgstr ""
@ -1046,11 +1046,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:527
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:546
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1084
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1090
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1125
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:529
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:548
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1054
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453
#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1148
@ -1110,11 +1110,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:218
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:234
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:88
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:91
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:94
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:303
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:151
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:95
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:98
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:101
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:153
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:140
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146
@ -1134,8 +1134,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:330
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:344
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:437
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:472
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:451
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:486
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:297
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:328
msgid "Adding books to device metadata listing..."
@ -1145,8 +1145,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:354
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:125
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:389
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:421
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:403
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:435
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:334
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:352
msgid "Removing books from device..."
@ -1154,8 +1154,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:369
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:374
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:432
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:439
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:446
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:364
msgid "Removing books from device metadata listing..."
@ -1428,26 +1428,37 @@ msgstr ""
msgid "Upload Black and White Covers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:559
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:65
msgid "Show expired books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:66
msgid ""
"A bug in an earlier version left non kepubs book records in the datbase. "
"With this option Calibre will show the expired records and allow you to "
"delete them with the new delete logic."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:573
#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:390
msgid "Not Implemented"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:560
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:574
msgid ""
"\".kobo\" files do not exist on the device as books instead, they are rows "
"in the sqlite database. Currently they cannot be exported or viewed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:989
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:995
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1003
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1009
#, python-format
msgid ""
"<hr /><b>Book Last Read:</b> %(time)s<br /><b>Percentage Read:</b> "
"%(pr)d%%<hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1027
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1455,7 +1466,7 @@ msgid ""
"/><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1022
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1036
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1463,8 +1474,8 @@ msgid ""
"%(text)s<br /><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1031
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1041
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1045
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1055
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1736,50 +1747,49 @@ msgstr ""
msgid "Unable to detect the %s disk drive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:629
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:784
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:827
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:837
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:847
#, python-format
msgid "Could not find mount helper: %s."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:632
#, python-format
msgid ""
"Unable to detect the %s disk drive. Either the device has already been "
"ejected, or your kernel is exporting a deprecated version of SYSFS."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:650
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#, python-format
msgid "Unable to mount main memory (Error code: %d)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:701
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:692
#, python-format
msgid ""
"The main memory of %s is read only. This usually happens because of file "
"system errors."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1011
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:778
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:821
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:831
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:841
#, python-format
msgid "Could not find mount helper: %s."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:975
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:977
msgid "The reader has no storage card in this slot."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1015
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:979
#, python-format
msgid "Selected slot: %s is not supported."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1044
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1008
msgid "There is insufficient free space in main memory"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1046
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1010
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1012
msgid "There is insufficient free space on the storage card"
msgstr ""
@ -2731,13 +2741,13 @@ msgstr ""
msgid "for a complete list with descriptions."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:248
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250
msgid ""
"Traverse links in HTML files breadth first. Normally, they are traversed "
"depth first."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:255
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257
#, python-format
msgid ""
"Maximum levels of recursion when following links in HTML files. Must be non-"
@ -2745,7 +2755,7 @@ msgid ""
"Default is %default."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:264
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266
msgid ""
"Normally this input plugin re-arranges all the input files into a standard "
"folder hierarchy. Only use this option if you know what you are doing as it "
@ -3821,32 +3831,32 @@ msgstr ""
msgid "Split Options:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:31
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:30
#, python-format
msgid ""
"The unit of measure. Default is inch. Choices are %s Note: This does not "
"override the unit for margins!"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:35
#, python-format
msgid ""
"The size of the paper. This size will be overridden when an output profile "
"is used. Default is letter. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:39
msgid ""
"Custom size of the document. Use the form widthxheight EG. `123x321` to "
"specify the width and height. This overrides any specified paper-size."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:44
#, python-format
msgid "The orientation of the page. Default is portrait. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:48
msgid ""
"Preserve the aspect ratio of the cover, instead of stretching it to fill the "
"full first page of the generated pdf."
@ -5772,49 +5782,49 @@ msgstr ""
msgid "Donate"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:120
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:121
msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:135
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:136
msgid "Ids"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:173
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:174
#, python-format
msgid "Book %(sidx)s of <span class=\"series_name\">%(series)s</span>"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:189
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1035
msgid "Collections"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:291
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:256
msgid "Paste Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:257
msgid "Copy Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:294
msgid "Remove Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:335
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
msgid "Double-click to open Book Details window"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295
msgid "Path"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:338
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:109
#, python-format
msgid "Cover size: %(width)d x %(height)d"
@ -11714,7 +11724,7 @@ msgstr ""
msgid "Searching..."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:706
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:705
#, python-format
msgid "Downloading covers for <b>%s</b>, please wait..."
msgstr ""
@ -12710,11 +12720,11 @@ msgstr ""
msgid "Partitioned"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:172
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:175
msgid "Column coloring"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:178
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:181
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223
msgid " or "
@ -17531,7 +17541,7 @@ msgid ""
"uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:608
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:609
msgid ""
"formats_sizes() -- return a comma-separated list of colon_separated items "
"representing sizes in bytes of the formats of a book. You can use the select "
@ -17539,13 +17549,13 @@ msgid ""
"always uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:624
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:625
msgid ""
"human_readable(v) -- return a string representing the number v in KB, MB, "
"GB, etc."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:638
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid ""
"format_number(v, template) -- format the number v using a python formatting "
"template such as \"{0:5.2f}\" or \"{0:,d}\" or \"${0:5,.2f}\". The "
@ -17554,7 +17564,7 @@ msgid ""
"examples. Returns the empty string if formatting fails."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:663
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:664
msgid ""
"sublist(val, start_index, end_index, separator) -- interpret the value as a "
"list of items separated by `separator`, returning a new list made from the "
@ -17567,7 +17577,7 @@ msgid ""
"\"A, B\"."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:698
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:699
msgid ""
"subitems(val, start_index, end_index) -- This function is used to break "
"apart lists of items such as genres. It interprets the value as a comma-"
@ -17584,7 +17594,7 @@ msgid ""
"returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:736
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737
msgid ""
"format_date(val, format_string) -- format the value, which must be a date, "
"using the format_string, returning a string. The formatting codes are: d "
@ -17595,71 +17605,79 @@ msgid ""
"(1 to 12). MM : the month as number with a leading zero (01 to 12) MMM : "
"the abbreviated localized month name (e.g. \"Jan\" to \"Dec\"). MMMM : the "
"long localized month name (e.g. \"January\" to \"December\"). yy : the "
"year as two digit number (00 to 99). yyyy : the year as four digit number. "
"iso : the date with time and timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:765
msgid "uppercase(val) -- return value of the field in upper case"
"year as two digit number (00 to 99). yyyy : the year as four digit number. h "
" : the hours without a leading 0 (0 to 11 or 0 to 23, depending on am/pm) "
"hh : the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm) "
"m : the minutes without a leading 0 (0 to 59) mm : the minutes with a "
"leading 0 (00 to 59) s : the seconds without a leading 0 (0 to 59) ss : "
"the seconds with a leading 0 (00 to 59) ap : use a 12-hour clock instead "
"of a 24-hour clock, with \"ap\" replaced by the localized string for am or "
"pm AP : use a 12-hour clock instead of a 24-hour clock, with \"AP\" "
"replaced by the localized string for AM or PM iso : the date with time and "
"timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774
msgid "lowercase(val) -- return value of the field in lower case"
msgid "uppercase(val) -- return value of the field in upper case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783
msgid "titlecase(val) -- return value of the field in title case"
msgid "lowercase(val) -- return value of the field in lower case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792
msgid "capitalize(val) -- return value of the field capitalized"
msgid "titlecase(val) -- return value of the field in title case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801
msgid "capitalize(val) -- return value of the field capitalized"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810
msgid "booksize() -- return value of the size field"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:815
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:827
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836
msgid ""
"has_cover() -- return Yes if the book has a cover, otherwise return the "
"empty string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:839
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848
msgid ""
"first_non_empty(value, value, ...) -- returns the first value that is not "
"empty. If all values are empty, then the empty value is returned.You can "
"have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:856
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865
msgid ""
"and(value, value, ...) -- returns the string \"1\" if all values are not "
"empty, otherwise returns the empty string. This function works well with "
"test or first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:873
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882
msgid ""
"or(value, value, ...) -- returns the string \"1\" if any value is not empty, "
"otherwise returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:890
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899
msgid ""
"not(value) -- returns the string \"1\" if the value is empty, otherwise "
"returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:902
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911
msgid ""
"list_union(list1, list2, separator) -- return a list made by merging the "
"items in list1 and list2, removing duplicate items using a case-insensitive "
@ -17668,7 +17686,7 @@ msgid ""
"list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:927
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:936
msgid ""
"list_difference(list1, list2, separator) -- return a list made by removing "
"from list1 any item found in list2, using a case-insensitive compare. The "
@ -17676,7 +17694,7 @@ msgid ""
"returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:948
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:957
msgid ""
"list_intersection(list1, list2, separator) -- return a list made by removing "
"from list1 any item not found in list2, using a case-insensitive compare. "
@ -17684,7 +17702,7 @@ msgid ""
"the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:969
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:978
msgid ""
"list_sort(list, direction, separator) -- return list sorted using a case-"
"insensitive sort. If direction is zero, the list is sorted ascending, "
@ -17692,7 +17710,7 @@ msgid ""
"items in the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:984
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:993
msgid ""
"list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if "
"list1 and list2 contain the same items, otherwise return no_val. The items "
@ -17701,7 +17719,7 @@ msgid ""
"The compare is case insensitive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1002
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1011
msgid ""
"list_re(src_list, separator, search_re, opt_replace) -- Construct a list by "
"first separating src_list into items using the separator character. For each "
@ -17710,14 +17728,14 @@ msgid ""
"the replacement before adding the item to the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1026
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035
msgid ""
"today() -- return a date string for today. This value is designed for use in "
"format_date or days_between, but can be manipulated like any other string. "
"The date is in ISO format."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1037
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046
msgid ""
"days_between(date1, date2) -- return the number of days between date1 and "
"date2. The number is positive if date1 is greater than date2, otherwise "
@ -17725,7 +17743,7 @@ msgid ""
"empty string."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1059
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068
msgid ""
"language_strings(lang_codes, localize) -- return the strings for the "
"language codes passed in lang_codes. If localize is zero, return the strings "
@ -17733,7 +17751,7 @@ msgid ""
"the current locale. Lang_codes is a comma-separated list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1079
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088
msgid ""
"language_codes(lang_strings) -- return the language codes for the strings "
"passed in lang_strings. The strings must be in the language of the current "
@ -17825,7 +17843,7 @@ msgid "English (Cyprus)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124
msgid "English (Czechoslovakia)"
msgid "English (Czech Republic)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-27 11:21+0000\n"
"POT-Creation-Date: 2011-11-06 08:51+0000\n"
"PO-Revision-Date: 2011-08-05 17:28+0000\n"
"Last-Translator: Kovid Goyal <Unknown>\n"
"Language-Team: English (Canada) <en_CA@li.org>\n"
@ -15,8 +15,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Launchpad-Export-Date: 2011-10-28 05:32+0000\n"
"X-Generator: Launchpad (build 14197)\n"
"X-Launchpad-Export-Date: 2011-11-07 05:41+0000\n"
"X-Generator: Launchpad (build 14231)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
msgid "Does absolutely nothing"
@ -26,20 +26,20 @@ msgstr "Does absolutely nothing"
#: /home/kovid/work/calibre/src/calibre/db/cache.py:104
#: /home/kovid/work/calibre/src/calibre/db/cache.py:107
#: /home/kovid/work/calibre/src/calibre/db/cache.py:118
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:258
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:259
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:265
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:266
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:79
#: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:579
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:593
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:309
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:310
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:311
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:312
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109
@ -48,12 +48,12 @@ msgstr "Does absolutely nothing"
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:332
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:98
@ -144,7 +144,7 @@ msgstr "Does absolutely nothing"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:380
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:161
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:168
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:579
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:580
#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:151
@ -898,8 +898,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
#: /home/kovid/work/calibre/src/calibre/library/database2.py:990
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:820
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:832
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841
msgid "Yes"
msgstr ""
@ -928,7 +928,7 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr "Communicate with Android devices."
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:148
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@ -936,11 +936,11 @@ msgstr ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:198
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:205
msgid "Communicate with S60 phones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:217
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:224
msgid "Communicate with WebOS tablets."
msgstr ""
@ -1052,11 +1052,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:527
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:546
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1084
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1090
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1125
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:529
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:548
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1054
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453
#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1148
@ -1116,11 +1116,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:218
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:234
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:88
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:91
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:94
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:303
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:151
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:95
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:98
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:101
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:153
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:140
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146
@ -1140,8 +1140,8 @@ msgstr "Transferring books to device…"
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:330
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:344
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:437
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:472
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:451
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:486
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:297
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:328
msgid "Adding books to device metadata listing..."
@ -1151,8 +1151,8 @@ msgstr "Adding books to device metadata listing…"
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:354
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:125
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:389
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:421
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:403
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:435
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:334
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:352
msgid "Removing books from device..."
@ -1160,8 +1160,8 @@ msgstr "Removing books from device…"
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:369
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:374
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:432
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:439
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:446
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:364
msgid "Removing books from device metadata listing..."
@ -1434,26 +1434,37 @@ msgstr ""
msgid "Upload Black and White Covers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:559
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:65
msgid "Show expired books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:66
msgid ""
"A bug in an earlier version left non kepubs book records in the datbase. "
"With this option Calibre will show the expired records and allow you to "
"delete them with the new delete logic."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:573
#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:390
msgid "Not Implemented"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:560
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:574
msgid ""
"\".kobo\" files do not exist on the device as books instead, they are rows "
"in the sqlite database. Currently they cannot be exported or viewed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:989
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:995
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1003
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1009
#, python-format
msgid ""
"<hr /><b>Book Last Read:</b> %(time)s<br /><b>Percentage Read:</b> "
"%(pr)d%%<hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1027
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1461,7 +1472,7 @@ msgid ""
"/><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1022
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1036
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1469,8 +1480,8 @@ msgid ""
"%(text)s<br /><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1031
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1041
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1045
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1055
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1744,50 +1755,49 @@ msgstr "Unable to detect the %s mount point. Try rebooting."
msgid "Unable to detect the %s disk drive."
msgstr "Unable to detect the %s disk drive."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:629
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:784
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:827
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:837
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:847
#, python-format
msgid "Could not find mount helper: %s."
msgstr "Could not find mount helper: %s."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:632
#, python-format
msgid ""
"Unable to detect the %s disk drive. Either the device has already been "
"ejected, or your kernel is exporting a deprecated version of SYSFS."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:650
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#, python-format
msgid "Unable to mount main memory (Error code: %d)"
msgstr "Unable to mount main memory (Error code: %d)"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:701
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:692
#, python-format
msgid ""
"The main memory of %s is read only. This usually happens because of file "
"system errors."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1011
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:778
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:821
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:831
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:841
#, python-format
msgid "Could not find mount helper: %s."
msgstr "Could not find mount helper: %s."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:975
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:977
msgid "The reader has no storage card in this slot."
msgstr "The reader has no storage card in this slot."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1015
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:979
#, python-format
msgid "Selected slot: %s is not supported."
msgstr "Selected slot: %s is not supported."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1044
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1008
msgid "There is insufficient free space in main memory"
msgstr "There is insufficient free space in main memory"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1046
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1010
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1012
msgid "There is insufficient free space on the storage card"
msgstr "There is insufficient free space on the storage card"
@ -2789,7 +2799,7 @@ msgstr ""
msgid "for a complete list with descriptions."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:248
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250
msgid ""
"Traverse links in HTML files breadth first. Normally, they are traversed "
"depth first."
@ -2797,7 +2807,7 @@ msgstr ""
"Traverse links in HTML files breadth first. Normally, they are traversed "
"depth first."
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:255
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257
#, python-format
msgid ""
"Maximum levels of recursion when following links in HTML files. Must be non-"
@ -2805,7 +2815,7 @@ msgid ""
"Default is %default."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:264
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266
msgid ""
"Normally this input plugin re-arranges all the input files into a standard "
"folder hierarchy. Only use this option if you know what you are doing as it "
@ -3905,32 +3915,32 @@ msgstr ""
msgid "Split Options:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:31
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:30
#, python-format
msgid ""
"The unit of measure. Default is inch. Choices are %s Note: This does not "
"override the unit for margins!"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:35
#, python-format
msgid ""
"The size of the paper. This size will be overridden when an output profile "
"is used. Default is letter. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:39
msgid ""
"Custom size of the document. Use the form widthxheight EG. `123x321` to "
"specify the width and height. This overrides any specified paper-size."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:44
#, python-format
msgid "The orientation of the page. Default is portrait. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:48
msgid ""
"Preserve the aspect ratio of the cover, instead of stretching it to fill the "
"full first page of the generated pdf."
@ -5856,49 +5866,49 @@ msgstr ""
msgid "Donate"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:120
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:121
msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:135
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:136
msgid "Ids"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:173
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:174
#, python-format
msgid "Book %(sidx)s of <span class=\"series_name\">%(series)s</span>"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:189
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1035
msgid "Collections"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:291
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:256
msgid "Paste Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:257
msgid "Copy Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:294
msgid "Remove Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:335
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
msgid "Double-click to open Book Details window"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295
msgid "Path"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:338
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:109
#, python-format
msgid "Cover size: %(width)d x %(height)d"
@ -11798,7 +11808,7 @@ msgstr ""
msgid "Searching..."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:706
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:705
#, python-format
msgid "Downloading covers for <b>%s</b>, please wait..."
msgstr ""
@ -12794,11 +12804,11 @@ msgstr ""
msgid "Partitioned"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:172
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:175
msgid "Column coloring"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:178
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:181
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223
msgid " or "
@ -17615,7 +17625,7 @@ msgid ""
"uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:608
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:609
msgid ""
"formats_sizes() -- return a comma-separated list of colon_separated items "
"representing sizes in bytes of the formats of a book. You can use the select "
@ -17623,13 +17633,13 @@ msgid ""
"always uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:624
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:625
msgid ""
"human_readable(v) -- return a string representing the number v in KB, MB, "
"GB, etc."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:638
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid ""
"format_number(v, template) -- format the number v using a python formatting "
"template such as \"{0:5.2f}\" or \"{0:,d}\" or \"${0:5,.2f}\". The "
@ -17638,7 +17648,7 @@ msgid ""
"examples. Returns the empty string if formatting fails."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:663
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:664
msgid ""
"sublist(val, start_index, end_index, separator) -- interpret the value as a "
"list of items separated by `separator`, returning a new list made from the "
@ -17651,7 +17661,7 @@ msgid ""
"\"A, B\"."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:698
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:699
msgid ""
"subitems(val, start_index, end_index) -- This function is used to break "
"apart lists of items such as genres. It interprets the value as a comma-"
@ -17668,7 +17678,7 @@ msgid ""
"returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:736
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737
msgid ""
"format_date(val, format_string) -- format the value, which must be a date, "
"using the format_string, returning a string. The formatting codes are: d "
@ -17679,71 +17689,79 @@ msgid ""
"(1 to 12). MM : the month as number with a leading zero (01 to 12) MMM : "
"the abbreviated localized month name (e.g. \"Jan\" to \"Dec\"). MMMM : the "
"long localized month name (e.g. \"January\" to \"December\"). yy : the "
"year as two digit number (00 to 99). yyyy : the year as four digit number. "
"iso : the date with time and timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:765
msgid "uppercase(val) -- return value of the field in upper case"
"year as two digit number (00 to 99). yyyy : the year as four digit number. h "
" : the hours without a leading 0 (0 to 11 or 0 to 23, depending on am/pm) "
"hh : the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm) "
"m : the minutes without a leading 0 (0 to 59) mm : the minutes with a "
"leading 0 (00 to 59) s : the seconds without a leading 0 (0 to 59) ss : "
"the seconds with a leading 0 (00 to 59) ap : use a 12-hour clock instead "
"of a 24-hour clock, with \"ap\" replaced by the localized string for am or "
"pm AP : use a 12-hour clock instead of a 24-hour clock, with \"AP\" "
"replaced by the localized string for AM or PM iso : the date with time and "
"timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774
msgid "lowercase(val) -- return value of the field in lower case"
msgid "uppercase(val) -- return value of the field in upper case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783
msgid "titlecase(val) -- return value of the field in title case"
msgid "lowercase(val) -- return value of the field in lower case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792
msgid "capitalize(val) -- return value of the field capitalized"
msgid "titlecase(val) -- return value of the field in title case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801
msgid "capitalize(val) -- return value of the field capitalized"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810
msgid "booksize() -- return value of the size field"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:815
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:827
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836
msgid ""
"has_cover() -- return Yes if the book has a cover, otherwise return the "
"empty string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:839
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848
msgid ""
"first_non_empty(value, value, ...) -- returns the first value that is not "
"empty. If all values are empty, then the empty value is returned.You can "
"have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:856
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865
msgid ""
"and(value, value, ...) -- returns the string \"1\" if all values are not "
"empty, otherwise returns the empty string. This function works well with "
"test or first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:873
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882
msgid ""
"or(value, value, ...) -- returns the string \"1\" if any value is not empty, "
"otherwise returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:890
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899
msgid ""
"not(value) -- returns the string \"1\" if the value is empty, otherwise "
"returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:902
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911
msgid ""
"list_union(list1, list2, separator) -- return a list made by merging the "
"items in list1 and list2, removing duplicate items using a case-insensitive "
@ -17752,7 +17770,7 @@ msgid ""
"list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:927
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:936
msgid ""
"list_difference(list1, list2, separator) -- return a list made by removing "
"from list1 any item found in list2, using a case-insensitive compare. The "
@ -17760,7 +17778,7 @@ msgid ""
"returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:948
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:957
msgid ""
"list_intersection(list1, list2, separator) -- return a list made by removing "
"from list1 any item not found in list2, using a case-insensitive compare. "
@ -17768,7 +17786,7 @@ msgid ""
"the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:969
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:978
msgid ""
"list_sort(list, direction, separator) -- return list sorted using a case-"
"insensitive sort. If direction is zero, the list is sorted ascending, "
@ -17776,7 +17794,7 @@ msgid ""
"items in the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:984
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:993
msgid ""
"list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if "
"list1 and list2 contain the same items, otherwise return no_val. The items "
@ -17785,7 +17803,7 @@ msgid ""
"The compare is case insensitive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1002
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1011
msgid ""
"list_re(src_list, separator, search_re, opt_replace) -- Construct a list by "
"first separating src_list into items using the separator character. For each "
@ -17794,14 +17812,14 @@ msgid ""
"the replacement before adding the item to the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1026
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035
msgid ""
"today() -- return a date string for today. This value is designed for use in "
"format_date or days_between, but can be manipulated like any other string. "
"The date is in ISO format."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1037
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046
msgid ""
"days_between(date1, date2) -- return the number of days between date1 and "
"date2. The number is positive if date1 is greater than date2, otherwise "
@ -17809,7 +17827,7 @@ msgid ""
"empty string."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1059
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068
msgid ""
"language_strings(lang_codes, localize) -- return the strings for the "
"language codes passed in lang_codes. If localize is zero, return the strings "
@ -17817,7 +17835,7 @@ msgid ""
"the current locale. Lang_codes is a comma-separated list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1079
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088
msgid ""
"language_codes(lang_strings) -- return the language codes for the strings "
"passed in lang_strings. The strings must be in the language of the current "
@ -17909,7 +17927,7 @@ msgid "English (Cyprus)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124
msgid "English (Czechoslovakia)"
msgid "English (Czech Republic)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-27 11:21+0000\n"
"POT-Creation-Date: 2011-11-06 08:51+0000\n"
"PO-Revision-Date: 2011-09-11 15:08+0000\n"
"Last-Translator: Anthony Harrington <untaintableangel@hotmail.co.uk>\n"
"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
@ -15,8 +15,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Launchpad-Export-Date: 2011-10-28 05:31+0000\n"
"X-Generator: Launchpad (build 14197)\n"
"X-Launchpad-Export-Date: 2011-11-07 05:39+0000\n"
"X-Generator: Launchpad (build 14231)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
msgid "Does absolutely nothing"
@ -26,20 +26,20 @@ msgstr "Does absolutely nothing"
#: /home/kovid/work/calibre/src/calibre/db/cache.py:104
#: /home/kovid/work/calibre/src/calibre/db/cache.py:107
#: /home/kovid/work/calibre/src/calibre/db/cache.py:118
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:258
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:259
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:265
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:266
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:79
#: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:579
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:593
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:309
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:310
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:311
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:312
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109
@ -48,12 +48,12 @@ msgstr "Does absolutely nothing"
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:332
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:98
@ -144,7 +144,7 @@ msgstr "Does absolutely nothing"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:380
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:161
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:168
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:579
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:580
#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:151
@ -937,8 +937,8 @@ msgstr "Path to library too long. Must be less than %d characters."
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
#: /home/kovid/work/calibre/src/calibre/library/database2.py:990
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:820
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:832
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841
msgid "Yes"
msgstr "Yes"
@ -967,7 +967,7 @@ msgstr "Debug log"
msgid "Communicate with Android phones."
msgstr "Communicate with Android devices."
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:148
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@ -975,11 +975,11 @@ msgstr ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:198
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:205
msgid "Communicate with S60 phones."
msgstr "Communicate with S60 phones."
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:217
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:224
msgid "Communicate with WebOS tablets."
msgstr "Communicate with WebOS tablets."
@ -1112,11 +1112,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:527
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:546
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1084
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1090
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1125
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:529
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:548
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1054
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453
#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1148
@ -1182,11 +1182,11 @@ msgstr "Bambook"
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:218
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:234
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:88
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:91
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:94
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:303
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:151
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:95
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:98
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:101
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:153
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:140
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146
@ -1206,8 +1206,8 @@ msgstr "Transferring books to device..."
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:330
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:344
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:437
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:472
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:451
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:486
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:297
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:328
msgid "Adding books to device metadata listing..."
@ -1217,8 +1217,8 @@ msgstr "Adding books to device metadata listing..."
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:354
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:125
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:389
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:421
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:403
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:435
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:334
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:352
msgid "Removing books from device..."
@ -1226,8 +1226,8 @@ msgstr "Removing books from device..."
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:369
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:374
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:432
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:439
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:446
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:364
msgid "Removing books from device metadata listing..."
@ -1510,12 +1510,23 @@ msgstr ""
msgid "Upload Black and White Covers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:559
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:65
msgid "Show expired books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:66
msgid ""
"A bug in an earlier version left non kepubs book records in the datbase. "
"With this option Calibre will show the expired records and allow you to "
"delete them with the new delete logic."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:573
#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:390
msgid "Not Implemented"
msgstr "Not Implemented"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:560
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:574
msgid ""
"\".kobo\" files do not exist on the device as books instead, they are rows "
"in the sqlite database. Currently they cannot be exported or viewed."
@ -1523,15 +1534,15 @@ msgstr ""
"\".kobo\" files do not exist on the device as books. Instead, they are rows "
"in the sqlite database. Currently they cannot be exported or viewed."
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:989
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:995
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1003
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1009
#, python-format
msgid ""
"<hr /><b>Book Last Read:</b> %(time)s<br /><b>Percentage Read:</b> "
"%(pr)d%%<hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1027
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1539,7 +1550,7 @@ msgid ""
"/><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1022
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1036
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1547,8 +1558,8 @@ msgid ""
"%(text)s<br /><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1031
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1041
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1045
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1055
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1840,16 +1851,7 @@ msgstr "Unable to detect the %s mount point. Try rebooting."
msgid "Unable to detect the %s disk drive."
msgstr "Unable to detect the %s disc drive."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:629
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:784
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:827
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:837
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:847
#, python-format
msgid "Could not find mount helper: %s."
msgstr "Could not find mount helper: %s."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:632
#, python-format
msgid ""
"Unable to detect the %s disk drive. Either the device has already been "
@ -1858,12 +1860,12 @@ msgstr ""
"Unable to detect the %s disc drive. Either the device has already been "
"ejected, or your kernel is exporting a deprecated version of SYSFS."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:650
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#, python-format
msgid "Unable to mount main memory (Error code: %d)"
msgstr "Unable to mount main memory (Error code: %d)"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:701
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:692
#, python-format
msgid ""
"The main memory of %s is read only. This usually happens because of file "
@ -1872,22 +1874,30 @@ msgstr ""
"The main memory of %s is read only. This usually happens because of file "
"system errors."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1011
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:778
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:821
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:831
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:841
#, python-format
msgid "Could not find mount helper: %s."
msgstr "Could not find mount helper: %s."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:975
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:977
msgid "The reader has no storage card in this slot."
msgstr "The reader has no storage card in this slot."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1015
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:979
#, python-format
msgid "Selected slot: %s is not supported."
msgstr "Selected slot: %s is not supported."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1044
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1008
msgid "There is insufficient free space in main memory"
msgstr "There is insufficient free space in main memory"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1046
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1010
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1012
msgid "There is insufficient free space on the storage card"
msgstr "There is insufficient free space on the storage card"
@ -3091,7 +3101,7 @@ msgstr ""
msgid "for a complete list with descriptions."
msgstr "for a complete list with descriptions."
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:248
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250
msgid ""
"Traverse links in HTML files breadth first. Normally, they are traversed "
"depth first."
@ -3099,7 +3109,7 @@ msgstr ""
"Traverse links in HTML files breadth first. Normally, they are traversed "
"depth first."
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:255
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257
#, python-format
msgid ""
"Maximum levels of recursion when following links in HTML files. Must be non-"
@ -3110,7 +3120,7 @@ msgstr ""
"negative. 0 implies that no links in the root HTML file are followed. "
"Default is %default."
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:264
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266
msgid ""
"Normally this input plugin re-arranges all the input files into a standard "
"folder hierarchy. Only use this option if you know what you are doing as it "
@ -4339,7 +4349,7 @@ msgstr ""
msgid "Split Options:"
msgstr "Split Options:"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:31
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:30
#, python-format
msgid ""
"The unit of measure. Default is inch. Choices are %s Note: This does not "
@ -4348,7 +4358,7 @@ msgstr ""
"The unit of measure. Default is inch. Choices are %s Note: This does not "
"override the unit for margins!"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:35
#, python-format
msgid ""
"The size of the paper. This size will be overridden when an output profile "
@ -4357,7 +4367,7 @@ msgstr ""
"The size of the paper. This size will be overridden when an output profile "
"is used. Default is letter. Choices are %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:39
msgid ""
"Custom size of the document. Use the form widthxheight EG. `123x321` to "
"specify the width and height. This overrides any specified paper-size."
@ -4365,12 +4375,12 @@ msgstr ""
"Custom size of the document. Use the form widthxheight EG. `123x321` to "
"specify the width and height. This overrides any specified paper-size."
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:44
#, python-format
msgid "The orientation of the page. Default is portrait. Choices are %s"
msgstr "The orientation of the page. Default is portrait. Choices are %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:48
msgid ""
"Preserve the aspect ratio of the cover, instead of stretching it to fill the "
"full first page of the generated pdf."
@ -6483,49 +6493,49 @@ msgstr ""
msgid "Donate"
msgstr "Donate"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:120
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:121
msgid "Click to open"
msgstr "Click to open"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:135
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:136
msgid "Ids"
msgstr "IDs"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:173
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:174
#, python-format
msgid "Book %(sidx)s of <span class=\"series_name\">%(series)s</span>"
msgstr "Book %(sidx)s of <span class=\"series_name\">%(series)s</span>"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:189
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1035
msgid "Collections"
msgstr "Collections"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:291
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:256
msgid "Paste Cover"
msgstr "Paste Cover"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:257
msgid "Copy Cover"
msgstr "Copy Cover"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:294
msgid "Remove Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:335
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
msgid "Double-click to open Book Details window"
msgstr "Double-click to open Book Details window"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295
msgid "Path"
msgstr "Path"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:338
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:109
#, python-format
msgid "Cover size: %(width)d x %(height)d"
@ -12860,7 +12870,7 @@ msgstr "Current cover"
msgid "Searching..."
msgstr "Searching..."
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:706
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:705
#, python-format
msgid "Downloading covers for <b>%s</b>, please wait..."
msgstr "Downloading covers for <b>%s</b>, please wait..."
@ -13988,11 +13998,11 @@ msgstr "Disabled"
msgid "Partitioned"
msgstr "Partitioned"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:172
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:175
msgid "Column coloring"
msgstr "Column colouring"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:178
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:181
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223
msgid " or "
@ -19621,7 +19631,7 @@ msgstr ""
"get the mod time for a specific format. Note that format names are always "
"uppercase, as in EPUB."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:608
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:609
msgid ""
"formats_sizes() -- return a comma-separated list of colon_separated items "
"representing sizes in bytes of the formats of a book. You can use the select "
@ -19633,7 +19643,7 @@ msgstr ""
"function to get the size for a specific format. Note that format names are "
"always uppercase, as in EPUB."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:624
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:625
msgid ""
"human_readable(v) -- return a string representing the number v in KB, MB, "
"GB, etc."
@ -19641,7 +19651,7 @@ msgstr ""
"human_readable(v) -- return a string representing the number v in KB, MB, "
"GB, etc."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:638
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid ""
"format_number(v, template) -- format the number v using a python formatting "
"template such as \"{0:5.2f}\" or \"{0:,d}\" or \"${0:5,.2f}\". The "
@ -19655,7 +19665,7 @@ msgstr ""
"examples). See the template language and python documentation for more "
"examples. Returns the empty string if formatting fails."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:663
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:664
msgid ""
"sublist(val, start_index, end_index, separator) -- interpret the value as a "
"list of items separated by `separator`, returning a new list made from the "
@ -19677,7 +19687,7 @@ msgstr ""
"{tags:sublist(-1,0,\\,)} returns \"C\". {tags:sublist(0,-1,\\,)} returns "
"\"A, B\"."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:698
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:699
msgid ""
"subitems(val, start_index, end_index) -- This function is used to break "
"apart lists of items such as genres. It interprets the value as a comma-"
@ -19707,7 +19717,7 @@ msgstr ""
"\"B.C\". Assuming a #genre value of \"A.B.C, D.E.F\", {#genre:subitems(0,1)} "
"returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:736
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737
msgid ""
"format_date(val, format_string) -- format the value, which must be a date, "
"using the format_string, returning a string. The formatting codes are: d "
@ -19718,43 +19728,39 @@ msgid ""
"(1 to 12). MM : the month as number with a leading zero (01 to 12) MMM : "
"the abbreviated localized month name (e.g. \"Jan\" to \"Dec\"). MMMM : the "
"long localized month name (e.g. \"January\" to \"December\"). yy : the "
"year as two digit number (00 to 99). yyyy : the year as four digit number. "
"iso : the date with time and timezone. Must be the only format present"
"year as two digit number (00 to 99). yyyy : the year as four digit number. h "
" : the hours without a leading 0 (0 to 11 or 0 to 23, depending on am/pm) "
"hh : the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm) "
"m : the minutes without a leading 0 (0 to 59) mm : the minutes with a "
"leading 0 (00 to 59) s : the seconds without a leading 0 (0 to 59) ss : "
"the seconds with a leading 0 (00 to 59) ap : use a 12-hour clock instead "
"of a 24-hour clock, with \"ap\" replaced by the localized string for am or "
"pm AP : use a 12-hour clock instead of a 24-hour clock, with \"AP\" "
"replaced by the localized string for AM or PM iso : the date with time and "
"timezone. Must be the only format present"
msgstr ""
"Copy text \t\r\n"
"format_date(val, format_string) -- format the value, which must be a date, "
"using the format_string, returning a string. The formatting codes are: d : "
"the day as number without a leading zero (1 to 31) dd : the day as number "
"with a leading zero (01 to 31) ddd : the abbreviated localised day name "
"(e.g. \"Mon\" to \"Sun\"). dddd : the long localised day name (e.g. "
"\"Monday\" to \"Sunday\"). M : the month as number without a leading zero (1 "
"to 12). MM : the month as number with a leading zero (01 to 12) MMM : the "
"abbreviated localised month name (e.g. \"Jan\" to \"Dec\"). MMMM : the long "
"localised month name (e.g. \"January\" to \"December\"). yy : the year as "
"two digit number (00 to 99). yyyy : the year as four digit number. iso : the "
"date with time and timezone. Must be the only format present."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:765
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774
msgid "uppercase(val) -- return value of the field in upper case"
msgstr "uppercase(val) -- return value of the field in upper case"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783
msgid "lowercase(val) -- return value of the field in lower case"
msgstr "lowercase(val) -- return value of the field in lower case"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792
msgid "titlecase(val) -- return value of the field in title case"
msgstr "titlecase(val) -- return value of the field in title case"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801
msgid "capitalize(val) -- return value of the field capitalized"
msgstr "capitalize(val) -- return value of the field capitalized"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810
msgid "booksize() -- return value of the size field"
msgstr "booksize() -- return value of the size field"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:815
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
@ -19762,7 +19768,7 @@ msgstr ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:827
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836
msgid ""
"has_cover() -- return Yes if the book has a cover, otherwise return the "
"empty string"
@ -19770,7 +19776,7 @@ msgstr ""
"has_cover() -- return Yes if the book has a cover, otherwise return the "
"empty string."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:839
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848
msgid ""
"first_non_empty(value, value, ...) -- returns the first value that is not "
"empty. If all values are empty, then the empty value is returned.You can "
@ -19780,7 +19786,7 @@ msgstr ""
"empty. If all values are empty, then the empty value is returned. You can "
"have as many values as you want."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:856
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865
msgid ""
"and(value, value, ...) -- returns the string \"1\" if all values are not "
"empty, otherwise returns the empty string. This function works well with "
@ -19790,7 +19796,7 @@ msgstr ""
"empty, otherwise returns the empty string. This function works well with "
"test or first_non_empty. You can have as many values as you want."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:873
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882
msgid ""
"or(value, value, ...) -- returns the string \"1\" if any value is not empty, "
"otherwise returns the empty string. This function works well with test or "
@ -19800,7 +19806,7 @@ msgstr ""
"otherwise returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:890
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899
msgid ""
"not(value) -- returns the string \"1\" if the value is empty, otherwise "
"returns the empty string. This function works well with test or "
@ -19810,7 +19816,7 @@ msgstr ""
"returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:902
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911
msgid ""
"list_union(list1, list2, separator) -- return a list made by merging the "
"items in list1 and list2, removing duplicate items using a case-insensitive "
@ -19824,7 +19830,7 @@ msgstr ""
"list1 and list2 are separated by separator, as are the items in the returned "
"list."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:927
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:936
msgid ""
"list_difference(list1, list2, separator) -- return a list made by removing "
"from list1 any item found in list2, using a case-insensitive compare. The "
@ -19836,7 +19842,7 @@ msgstr ""
"items in list1 and list2 are separated by separator, as are the items in the "
"returned list."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:948
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:957
msgid ""
"list_intersection(list1, list2, separator) -- return a list made by removing "
"from list1 any item not found in list2, using a case-insensitive compare. "
@ -19848,7 +19854,7 @@ msgstr ""
"The items in list1 and list2 are separated by separator, as are the items in "
"the returned list."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:969
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:978
msgid ""
"list_sort(list, direction, separator) -- return list sorted using a case-"
"insensitive sort. If direction is zero, the list is sorted ascending, "
@ -19860,7 +19866,7 @@ msgstr ""
"otherwise descending. The list items are separated by separator, as are the "
"items in the returned list."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:984
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:993
msgid ""
"list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if "
"list1 and list2 contain the same items, otherwise return no_val. The items "
@ -19869,7 +19875,7 @@ msgid ""
"The compare is case insensitive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1002
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1011
msgid ""
"list_re(src_list, separator, search_re, opt_replace) -- Construct a list by "
"first separating src_list into items using the separator character. For each "
@ -19878,7 +19884,7 @@ msgid ""
"the replacement before adding the item to the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1026
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035
msgid ""
"today() -- return a date string for today. This value is designed for use in "
"format_date or days_between, but can be manipulated like any other string. "
@ -19888,7 +19894,7 @@ msgstr ""
"format_date or days_between, but can be manipulated like any other string. "
"The date is in ISO format."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1037
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046
msgid ""
"days_between(date1, date2) -- return the number of days between date1 and "
"date2. The number is positive if date1 is greater than date2, otherwise "
@ -19900,7 +19906,7 @@ msgstr ""
"negative. If either date1 or date2 are not dates, the function returns the "
"empty string."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1059
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068
msgid ""
"language_strings(lang_codes, localize) -- return the strings for the "
"language codes passed in lang_codes. If localize is zero, return the strings "
@ -19908,7 +19914,7 @@ msgid ""
"the current locale. Lang_codes is a comma-separated list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1079
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088
msgid ""
"language_codes(lang_strings) -- return the language codes for the strings "
"passed in lang_strings. The strings must be in the language of the current "
@ -20000,8 +20006,8 @@ msgid "English (Cyprus)"
msgstr "English (Cyprus)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124
msgid "English (Czechoslovakia)"
msgstr "English (Czechoslovakia)"
msgid "English (Czech Republic)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125
msgid "English (Pakistan)"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-27 11:21+0000\n"
"POT-Creation-Date: 2011-11-06 08:51+0000\n"
"PO-Revision-Date: 2011-08-05 17:49+0000\n"
"Last-Translator: Kalle Kniivilä <kalle@kniivila.net>\n"
"Language-Team: Esperanto <eo@li.org>\n"
@ -15,8 +15,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Launchpad-Export-Date: 2011-10-28 05:17+0000\n"
"X-Generator: Launchpad (build 14197)\n"
"X-Launchpad-Export-Date: 2011-11-07 05:25+0000\n"
"X-Generator: Launchpad (build 14231)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
msgid "Does absolutely nothing"
@ -26,20 +26,20 @@ msgstr "Faras absolute nenion"
#: /home/kovid/work/calibre/src/calibre/db/cache.py:104
#: /home/kovid/work/calibre/src/calibre/db/cache.py:107
#: /home/kovid/work/calibre/src/calibre/db/cache.py:118
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:258
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:259
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:265
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:266
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:79
#: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:579
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:593
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:309
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:310
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:311
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:312
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109
@ -48,12 +48,12 @@ msgstr "Faras absolute nenion"
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:332
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:98
@ -144,7 +144,7 @@ msgstr "Faras absolute nenion"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:380
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:161
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:168
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:579
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:580
#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:151
@ -923,8 +923,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
#: /home/kovid/work/calibre/src/calibre/library/database2.py:990
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:820
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:832
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841
msgid "Yes"
msgstr ""
@ -953,7 +953,7 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr "Komuniki kun telefonoj de la sistemo Android."
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:148
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@ -961,11 +961,11 @@ msgstr ""
"Listo, dividita per komoj, de dosierujoj por sendado de e-libroj al la "
"aparato. La unua ekzistanta estos uzata."
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:198
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:205
msgid "Communicate with S60 phones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:217
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:224
msgid "Communicate with WebOS tablets."
msgstr ""
@ -1077,11 +1077,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:527
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:546
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1084
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1090
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1125
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:529
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:548
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1054
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453
#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1148
@ -1141,11 +1141,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:218
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:234
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:88
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:91
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:94
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:303
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:151
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:95
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:98
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:101
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:153
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:140
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146
@ -1165,8 +1165,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:330
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:344
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:437
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:472
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:451
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:486
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:297
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:328
msgid "Adding books to device metadata listing..."
@ -1176,8 +1176,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:354
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:125
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:389
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:421
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:403
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:435
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:334
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:352
msgid "Removing books from device..."
@ -1185,8 +1185,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:369
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:374
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:432
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:439
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:446
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:364
msgid "Removing books from device metadata listing..."
@ -1459,26 +1459,37 @@ msgstr ""
msgid "Upload Black and White Covers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:559
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:65
msgid "Show expired books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:66
msgid ""
"A bug in an earlier version left non kepubs book records in the datbase. "
"With this option Calibre will show the expired records and allow you to "
"delete them with the new delete logic."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:573
#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:390
msgid "Not Implemented"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:560
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:574
msgid ""
"\".kobo\" files do not exist on the device as books instead, they are rows "
"in the sqlite database. Currently they cannot be exported or viewed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:989
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:995
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1003
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1009
#, python-format
msgid ""
"<hr /><b>Book Last Read:</b> %(time)s<br /><b>Percentage Read:</b> "
"%(pr)d%%<hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1027
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1486,7 +1497,7 @@ msgid ""
"/><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1022
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1036
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1494,8 +1505,8 @@ msgid ""
"%(text)s<br /><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1031
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1041
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1045
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1055
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1767,50 +1778,49 @@ msgstr ""
msgid "Unable to detect the %s disk drive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:629
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:784
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:827
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:837
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:847
#, python-format
msgid "Could not find mount helper: %s."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:632
#, python-format
msgid ""
"Unable to detect the %s disk drive. Either the device has already been "
"ejected, or your kernel is exporting a deprecated version of SYSFS."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:650
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#, python-format
msgid "Unable to mount main memory (Error code: %d)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:701
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:692
#, python-format
msgid ""
"The main memory of %s is read only. This usually happens because of file "
"system errors."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1011
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:778
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:821
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:831
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:841
#, python-format
msgid "Could not find mount helper: %s."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:975
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:977
msgid "The reader has no storage card in this slot."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1015
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:979
#, python-format
msgid "Selected slot: %s is not supported."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1044
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1008
msgid "There is insufficient free space in main memory"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1046
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1010
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1012
msgid "There is insufficient free space on the storage card"
msgstr ""
@ -2762,13 +2772,13 @@ msgstr ""
msgid "for a complete list with descriptions."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:248
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250
msgid ""
"Traverse links in HTML files breadth first. Normally, they are traversed "
"depth first."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:255
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257
#, python-format
msgid ""
"Maximum levels of recursion when following links in HTML files. Must be non-"
@ -2776,7 +2786,7 @@ msgid ""
"Default is %default."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:264
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266
msgid ""
"Normally this input plugin re-arranges all the input files into a standard "
"folder hierarchy. Only use this option if you know what you are doing as it "
@ -3855,32 +3865,32 @@ msgstr ""
msgid "Split Options:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:31
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:30
#, python-format
msgid ""
"The unit of measure. Default is inch. Choices are %s Note: This does not "
"override the unit for margins!"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:35
#, python-format
msgid ""
"The size of the paper. This size will be overridden when an output profile "
"is used. Default is letter. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:39
msgid ""
"Custom size of the document. Use the form widthxheight EG. `123x321` to "
"specify the width and height. This overrides any specified paper-size."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:44
#, python-format
msgid "The orientation of the page. Default is portrait. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:48
msgid ""
"Preserve the aspect ratio of the cover, instead of stretching it to fill the "
"full first page of the generated pdf."
@ -5806,49 +5816,49 @@ msgstr ""
msgid "Donate"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:120
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:121
msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:135
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:136
msgid "Ids"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:173
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:174
#, python-format
msgid "Book %(sidx)s of <span class=\"series_name\">%(series)s</span>"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:189
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1035
msgid "Collections"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:291
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:256
msgid "Paste Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:257
msgid "Copy Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:294
msgid "Remove Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:335
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
msgid "Double-click to open Book Details window"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295
msgid "Path"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:338
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:109
#, python-format
msgid "Cover size: %(width)d x %(height)d"
@ -11748,7 +11758,7 @@ msgstr ""
msgid "Searching..."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:706
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:705
#, python-format
msgid "Downloading covers for <b>%s</b>, please wait..."
msgstr ""
@ -12744,11 +12754,11 @@ msgstr ""
msgid "Partitioned"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:172
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:175
msgid "Column coloring"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:178
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:181
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223
msgid " or "
@ -17565,7 +17575,7 @@ msgid ""
"uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:608
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:609
msgid ""
"formats_sizes() -- return a comma-separated list of colon_separated items "
"representing sizes in bytes of the formats of a book. You can use the select "
@ -17573,13 +17583,13 @@ msgid ""
"always uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:624
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:625
msgid ""
"human_readable(v) -- return a string representing the number v in KB, MB, "
"GB, etc."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:638
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid ""
"format_number(v, template) -- format the number v using a python formatting "
"template such as \"{0:5.2f}\" or \"{0:,d}\" or \"${0:5,.2f}\". The "
@ -17588,7 +17598,7 @@ msgid ""
"examples. Returns the empty string if formatting fails."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:663
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:664
msgid ""
"sublist(val, start_index, end_index, separator) -- interpret the value as a "
"list of items separated by `separator`, returning a new list made from the "
@ -17601,7 +17611,7 @@ msgid ""
"\"A, B\"."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:698
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:699
msgid ""
"subitems(val, start_index, end_index) -- This function is used to break "
"apart lists of items such as genres. It interprets the value as a comma-"
@ -17618,7 +17628,7 @@ msgid ""
"returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:736
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737
msgid ""
"format_date(val, format_string) -- format the value, which must be a date, "
"using the format_string, returning a string. The formatting codes are: d "
@ -17629,71 +17639,79 @@ msgid ""
"(1 to 12). MM : the month as number with a leading zero (01 to 12) MMM : "
"the abbreviated localized month name (e.g. \"Jan\" to \"Dec\"). MMMM : the "
"long localized month name (e.g. \"January\" to \"December\"). yy : the "
"year as two digit number (00 to 99). yyyy : the year as four digit number. "
"iso : the date with time and timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:765
msgid "uppercase(val) -- return value of the field in upper case"
"year as two digit number (00 to 99). yyyy : the year as four digit number. h "
" : the hours without a leading 0 (0 to 11 or 0 to 23, depending on am/pm) "
"hh : the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm) "
"m : the minutes without a leading 0 (0 to 59) mm : the minutes with a "
"leading 0 (00 to 59) s : the seconds without a leading 0 (0 to 59) ss : "
"the seconds with a leading 0 (00 to 59) ap : use a 12-hour clock instead "
"of a 24-hour clock, with \"ap\" replaced by the localized string for am or "
"pm AP : use a 12-hour clock instead of a 24-hour clock, with \"AP\" "
"replaced by the localized string for AM or PM iso : the date with time and "
"timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774
msgid "lowercase(val) -- return value of the field in lower case"
msgid "uppercase(val) -- return value of the field in upper case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783
msgid "titlecase(val) -- return value of the field in title case"
msgid "lowercase(val) -- return value of the field in lower case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792
msgid "capitalize(val) -- return value of the field capitalized"
msgid "titlecase(val) -- return value of the field in title case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801
msgid "capitalize(val) -- return value of the field capitalized"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810
msgid "booksize() -- return value of the size field"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:815
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:827
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836
msgid ""
"has_cover() -- return Yes if the book has a cover, otherwise return the "
"empty string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:839
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848
msgid ""
"first_non_empty(value, value, ...) -- returns the first value that is not "
"empty. If all values are empty, then the empty value is returned.You can "
"have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:856
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865
msgid ""
"and(value, value, ...) -- returns the string \"1\" if all values are not "
"empty, otherwise returns the empty string. This function works well with "
"test or first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:873
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882
msgid ""
"or(value, value, ...) -- returns the string \"1\" if any value is not empty, "
"otherwise returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:890
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899
msgid ""
"not(value) -- returns the string \"1\" if the value is empty, otherwise "
"returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:902
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911
msgid ""
"list_union(list1, list2, separator) -- return a list made by merging the "
"items in list1 and list2, removing duplicate items using a case-insensitive "
@ -17702,7 +17720,7 @@ msgid ""
"list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:927
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:936
msgid ""
"list_difference(list1, list2, separator) -- return a list made by removing "
"from list1 any item found in list2, using a case-insensitive compare. The "
@ -17710,7 +17728,7 @@ msgid ""
"returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:948
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:957
msgid ""
"list_intersection(list1, list2, separator) -- return a list made by removing "
"from list1 any item not found in list2, using a case-insensitive compare. "
@ -17718,7 +17736,7 @@ msgid ""
"the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:969
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:978
msgid ""
"list_sort(list, direction, separator) -- return list sorted using a case-"
"insensitive sort. If direction is zero, the list is sorted ascending, "
@ -17726,7 +17744,7 @@ msgid ""
"items in the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:984
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:993
msgid ""
"list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if "
"list1 and list2 contain the same items, otherwise return no_val. The items "
@ -17735,7 +17753,7 @@ msgid ""
"The compare is case insensitive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1002
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1011
msgid ""
"list_re(src_list, separator, search_re, opt_replace) -- Construct a list by "
"first separating src_list into items using the separator character. For each "
@ -17744,14 +17762,14 @@ msgid ""
"the replacement before adding the item to the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1026
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035
msgid ""
"today() -- return a date string for today. This value is designed for use in "
"format_date or days_between, but can be manipulated like any other string. "
"The date is in ISO format."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1037
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046
msgid ""
"days_between(date1, date2) -- return the number of days between date1 and "
"date2. The number is positive if date1 is greater than date2, otherwise "
@ -17759,7 +17777,7 @@ msgid ""
"empty string."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1059
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068
msgid ""
"language_strings(lang_codes, localize) -- return the strings for the "
"language codes passed in lang_codes. If localize is zero, return the strings "
@ -17767,7 +17785,7 @@ msgid ""
"the current locale. Lang_codes is a comma-separated list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1079
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088
msgid ""
"language_codes(lang_strings) -- return the language codes for the strings "
"passed in lang_strings. The strings must be in the language of the current "
@ -17859,7 +17877,7 @@ msgid "English (Cyprus)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124
msgid "English (Czechoslovakia)"
msgid "English (Czech Republic)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125

View File

@ -10,16 +10,16 @@ msgid ""
msgstr ""
"Project-Id-Version: es\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-10-27 11:21+0000\n"
"PO-Revision-Date: 2011-10-28 15:22+0000\n"
"POT-Creation-Date: 2011-11-06 08:51+0000\n"
"PO-Revision-Date: 2011-11-05 09:27+0000\n"
"Last-Translator: Jellby <Unknown>\n"
"Language-Team: Spanish\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Launchpad-Export-Date: 2011-10-29 05:15+0000\n"
"X-Generator: Launchpad (build 14197)\n"
"X-Launchpad-Export-Date: 2011-11-07 05:35+0000\n"
"X-Generator: Launchpad (build 14231)\n"
#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:527
msgid ""
@ -45,20 +45,20 @@ msgstr "No hace absolutamente nada"
#: /home/kovid/work/calibre/src/calibre/db/cache.py:104
#: /home/kovid/work/calibre/src/calibre/db/cache.py:107
#: /home/kovid/work/calibre/src/calibre/db/cache.py:118
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:258
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:259
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:265
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:266
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:79
#: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:579
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:593
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:309
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:310
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:311
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:312
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109
@ -67,12 +67,12 @@ msgstr "No hace absolutamente nada"
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:332
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:98
@ -163,7 +163,7 @@ msgstr "No hace absolutamente nada"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:380
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:161
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:168
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:579
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:580
#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:151
@ -967,8 +967,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
#: /home/kovid/work/calibre/src/calibre/library/database2.py:990
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:820
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:832
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841
msgid "Yes"
msgstr "Sí"
@ -997,7 +997,7 @@ msgstr "Registro de depuración"
msgid "Communicate with Android phones."
msgstr "Comunicar con teléfonos Android."
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:148
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
@ -1005,11 +1005,11 @@ msgstr ""
"Lista de directorios, separados por comas, donde almacenar los libros en el "
"dispositivo. Se usará el primero que exista"
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:198
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:205
msgid "Communicate with S60 phones."
msgstr "Comunicar con teléfonos S60."
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:217
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:224
msgid "Communicate with WebOS tablets."
msgstr "Comunicar con tabletas WebOS."
@ -1152,11 +1152,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:527
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:546
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1084
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1090
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1125
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:529
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:548
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1054
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453
#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1148
@ -1224,11 +1224,11 @@ msgstr "Bambook"
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:218
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:234
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:88
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:91
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:94
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:303
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:151
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:95
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:98
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:101
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:153
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:140
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146
@ -1248,8 +1248,8 @@ msgstr "Transfiriendo libros al dispositivo..."
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:330
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:344
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:437
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:472
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:451
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:486
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:297
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:328
msgid "Adding books to device metadata listing..."
@ -1259,8 +1259,8 @@ msgstr "Añadiendo libros al listado de metatados del dispositivo..."
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:354
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:125
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:389
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:421
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:403
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:435
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:334
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:352
msgid "Removing books from device..."
@ -1268,8 +1268,8 @@ msgstr "Eliminando libros del dispositivo..."
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:369
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:374
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:432
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:439
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:446
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:364
msgid "Removing books from device metadata listing..."
@ -1558,12 +1558,23 @@ msgstr ""
msgid "Upload Black and White Covers"
msgstr "Enviar portadas en blanco y negro"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:559
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:65
msgid "Show expired books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:66
msgid ""
"A bug in an earlier version left non kepubs book records in the datbase. "
"With this option Calibre will show the expired records and allow you to "
"delete them with the new delete logic."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:573
#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:390
msgid "Not Implemented"
msgstr "No implementado"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:560
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:574
msgid ""
"\".kobo\" files do not exist on the device as books instead, they are rows "
"in the sqlite database. Currently they cannot be exported or viewed."
@ -1572,8 +1583,8 @@ msgstr ""
"registros en una base de datos sqlite. En la actualidad, no pueden "
"exportarse o verse."
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:989
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:995
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1003
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1009
#, python-format
msgid ""
"<hr /><b>Book Last Read:</b> %(time)s<br /><b>Percentage Read:</b> "
@ -1582,7 +1593,7 @@ msgstr ""
"<hr /><b>Leído por última vez:</b> %(time)s<br /><b>Porcentaje leído:</b> "
"%(pr)d%%<hr />"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1027
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1593,7 +1604,7 @@ msgstr ""
"/><b>Recorrido del capítulo:</b> %(chapter_progress)s%%<br "
"/>%(annotation)s<br /><hr />"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1022
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1036
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1604,8 +1615,8 @@ msgstr ""
"/><b>Recorrido del capítulo:</b> %(chapter_progress)s%%<br "
"/><b>Destacado:</b> %(text)s<br /><hr />"
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1031
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1041
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1045
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1055
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1915,16 +1926,7 @@ msgstr ""
msgid "Unable to detect the %s disk drive."
msgstr "No se pudo detectar la unidad de disco %s."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:629
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:784
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:827
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:837
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:847
#, python-format
msgid "Could not find mount helper: %s."
msgstr "No se pudo encontrar el asistente de montaje: %s"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:632
#, python-format
msgid ""
"Unable to detect the %s disk drive. Either the device has already been "
@ -1933,12 +1935,12 @@ msgstr ""
"No se detecta la unidad de disco %s. O el dispositivo ya ha sido "
"desconectado o el kernel está exportando una versión anticuada de SYSFS."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:650
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#, python-format
msgid "Unable to mount main memory (Error code: %d)"
msgstr "No se pudo montar la memoria principal (Código de error: %d)"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:701
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:692
#, python-format
msgid ""
"The main memory of %s is read only. This usually happens because of file "
@ -1947,22 +1949,30 @@ msgstr ""
"La memoria principal de %s es de sólo lectura. Esto suele ocurrir por "
"errores en el sistema de ficheros."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1011
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:778
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:821
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:831
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:841
#, python-format
msgid "Could not find mount helper: %s."
msgstr "No se pudo encontrar el asistente de montaje: %s"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:975
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:977
msgid "The reader has no storage card in this slot."
msgstr "El lector no tiene tarjeta de almacenamiento en esta ranura."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1015
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:979
#, python-format
msgid "Selected slot: %s is not supported."
msgstr "La ranura seleccionada: %s no está soportada."
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1044
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1008
msgid "There is insufficient free space in main memory"
msgstr "No hay suficiente espacio libre en la memoria principal"
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1046
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1010
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1012
msgid "There is insufficient free space on the storage card"
msgstr "No hay suficiente espacio libre en la tarjeta de almacenamiento"
@ -3219,7 +3229,7 @@ msgstr ""
msgid "for a complete list with descriptions."
msgstr "para una lista completa con descripciones."
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:248
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250
msgid ""
"Traverse links in HTML files breadth first. Normally, they are traversed "
"depth first."
@ -3227,7 +3237,7 @@ msgstr ""
"Hacer una búsqueda en anchura de los enlaces en ficheros HTML. Normalmente "
"se hace una búsqueda en profundidad."
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:255
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257
#, python-format
msgid ""
"Maximum levels of recursion when following links in HTML files. Must be non-"
@ -3238,7 +3248,7 @@ msgstr ""
"negativo. El valor 0 implica que no se seguirá ningún enlace en el fichero "
"HTML raíz. El valor predeterminado es %default."
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:264
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266
msgid ""
"Normally this input plugin re-arranges all the input files into a standard "
"folder hierarchy. Only use this option if you know what you are doing as it "
@ -4496,7 +4506,7 @@ msgstr ""
msgid "Split Options:"
msgstr "Opciones de división:"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:31
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:30
#, python-format
msgid ""
"The unit of measure. Default is inch. Choices are %s Note: This does not "
@ -4505,7 +4515,7 @@ msgstr ""
"Unidad de medida. De manera predeterminada es la pulgada. Las posibilidades "
"son %s Nota: ¡Esta opción no afecta a las unidades de los márgenes!"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:35
#, python-format
msgid ""
"The size of the paper. This size will be overridden when an output profile "
@ -4514,7 +4524,7 @@ msgstr ""
"Tamaño de la página. El tamaño especificado en un perfil de salida tiene "
"preferencia. Valor predeterminado: tamaño folio (letter). Las opciones son %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:39
msgid ""
"Custom size of the document. Use the form widthxheight EG. `123x321` to "
"specify the width and height. This overrides any specified paper-size."
@ -4523,14 +4533,14 @@ msgstr ""
"ejemplo `123x321` para especificar la anchura y altura. Tiene preferencia "
"sobre el paper-size."
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:44
#, python-format
msgid "The orientation of the page. Default is portrait. Choices are %s"
msgstr ""
"La orientación de la página. El valor predeterminado es vertical (portrait). "
"Las opciones son %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:48
msgid ""
"Preserve the aspect ratio of the cover, instead of stretching it to fill the "
"full first page of the generated pdf."
@ -6683,49 +6693,49 @@ msgstr ""
msgid "Donate"
msgstr "Hacer una donación"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:120
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:121
msgid "Click to open"
msgstr "Pulse para abrir"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:135
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:136
msgid "Ids"
msgstr "Id."
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:173
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:174
#, python-format
msgid "Book %(sidx)s of <span class=\"series_name\">%(series)s</span>"
msgstr "Libro %(sidx)s de <span class=\"series_name\">%(series)s</span>"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:189
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1035
msgid "Collections"
msgstr "Colecciones"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:291
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:256
msgid "Paste Cover"
msgstr "Pegar portada"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:257
msgid "Copy Cover"
msgstr "Copiar portada"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:294
msgid "Remove Cover"
msgstr "Eliminar portada"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:335
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
msgid "Double-click to open Book Details window"
msgstr "Pulse dos veces para abrir la ventana de Detalles del libro"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295
msgid "Path"
msgstr "Ruta"
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:338
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:109
#, python-format
msgid "Cover size: %(width)d x %(height)d"
@ -12842,7 +12852,7 @@ msgstr "El ISBN que ha introducido no es válido. Pruebe otra vez."
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1332
msgid "&Publisher:"
msgstr "&Editor:"
msgstr "&Editorial:"
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1402
msgid "Clear date"
@ -13137,7 +13147,7 @@ msgstr "Portada actual"
msgid "Searching..."
msgstr "Buscando..."
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:706
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:705
#, python-format
msgid "Downloading covers for <b>%s</b>, please wait..."
msgstr "Descargando portadas para <b>%s</b>, espere..."
@ -14290,11 +14300,11 @@ msgstr "Desactivado"
msgid "Partitioned"
msgstr "Particionado"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:172
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:175
msgid "Column coloring"
msgstr "Coloreado de columna"
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:178
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:181
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223
msgid " or "
@ -16373,7 +16383,7 @@ msgstr "Administrar Series"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:52
msgid "Manage Publishers"
msgstr "Administrar Editores"
msgstr "Administrar Editoriales"
#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:54
msgid "Manage Tags"
@ -20038,7 +20048,7 @@ msgstr ""
"modificación de un formato específico. Tenga en cuenta que los nombres de "
"formato siempre están en mayúsculas, como en «EPUB»."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:608
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:609
msgid ""
"formats_sizes() -- return a comma-separated list of colon_separated items "
"representing sizes in bytes of the formats of a book. You can use the select "
@ -20051,7 +20061,7 @@ msgstr ""
"de un formato específico. Tenga en cuenta que los nombres de formato siempre "
"están en mayúsculas, como en «EPUB»."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:624
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:625
msgid ""
"human_readable(v) -- return a string representing the number v in KB, MB, "
"GB, etc."
@ -20059,7 +20069,7 @@ msgstr ""
"human_readabe(v) -- devuelve un texto que representa el número «v» en KB, "
"MB, GB, etc."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:638
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid ""
"format_number(v, template) -- format the number v using a python formatting "
"template such as \"{0:5.2f}\" or \"{0:,d}\" or \"${0:5,.2f}\". The "
@ -20073,7 +20083,7 @@ msgstr ""
"anteriores). Véase la documentación del lenguaje de plantillas y de python "
"para más ejemplos. Devuelve un texto vacío si el formato falla."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:663
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:664
msgid ""
"sublist(val, start_index, end_index, separator) -- interpret the value as a "
"list of items separated by `separator`, returning a new list made from the "
@ -20096,7 +20106,7 @@ msgstr ""
"{tags:sublist{0,1,\\,)} devuelve «A», {tags:sublist(-1,0,\\,)} devuelve «C», "
"{tags:sublist(0,-1,\\,)} devuelve «A, B»."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:698
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:699
msgid ""
"subitems(val, start_index, end_index) -- This function is used to break "
"apart lists of items such as genres. It interprets the value as a comma-"
@ -20128,7 +20138,7 @@ msgstr ""
"valor «A.B.C, D.E.F»: {#género:subitems(0,1)} devuelve «A, D», "
"{#género:subitems(0,2)} devuelve «A.B, D.E»."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:736
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737
msgid ""
"format_date(val, format_string) -- format the value, which must be a date, "
"using the format_string, returning a string. The formatting codes are: d "
@ -20139,46 +20149,41 @@ msgid ""
"(1 to 12). MM : the month as number with a leading zero (01 to 12) MMM : "
"the abbreviated localized month name (e.g. \"Jan\" to \"Dec\"). MMMM : the "
"long localized month name (e.g. \"January\" to \"December\"). yy : the "
"year as two digit number (00 to 99). yyyy : the year as four digit number. "
"iso : the date with time and timezone. Must be the only format present"
"year as two digit number (00 to 99). yyyy : the year as four digit number. h "
" : the hours without a leading 0 (0 to 11 or 0 to 23, depending on am/pm) "
"hh : the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm) "
"m : the minutes without a leading 0 (0 to 59) mm : the minutes with a "
"leading 0 (00 to 59) s : the seconds without a leading 0 (0 to 59) ss : "
"the seconds with a leading 0 (00 to 59) ap : use a 12-hour clock instead "
"of a 24-hour clock, with \"ap\" replaced by the localized string for am or "
"pm AP : use a 12-hour clock instead of a 24-hour clock, with \"AP\" "
"replaced by the localized string for AM or PM iso : the date with time and "
"timezone. Must be the only format present"
msgstr ""
"format_date(val, texto_formato) -- da formato a un valor, que debe ser un "
"campo de fecha, según «texto_formato» y devuelve un texto. Los códigos de "
"formato son: «d»: el día como un número, sin cero inicial (de 1 a 31). «dd»: "
"el día como un número, con un cero inicial si es necesario (de 01 a 31). "
"«ddd»: el día de la semana abreviado según el idioma local (p. ej. de «lun» "
"a «dom»). «dddd»: el nombre local completo del día de la semana (p. ej. de "
"«lunes» a «domingo»). «M»: el mes como un número sin cero inicial (de 1 a "
"12). «MM»: el mes como un número, con un cero inicial si es necesario (de 01 "
"a 12). «MMM»: el mes abreviado según el idioma local (p. ej. de «ene» a "
"«dic»). «MMMM»: el nombre local completo del mes (p. ej. de «enero» a "
"«diciembre»). «yy»: el año como un número de dos cifras (de 00 a 99). "
"«yyyy»: el año como un número de cuatro cifras. «iso»: la fecha con hora y "
"zona horaria. Debe ser el único formato presente."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:765
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774
msgid "uppercase(val) -- return value of the field in upper case"
msgstr "uppercase(val) -- devuelve el valor del campo en mayúsculas"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783
msgid "lowercase(val) -- return value of the field in lower case"
msgstr "lowercase(val) -- devuelve el valor del campo en minúsculas"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792
msgid "titlecase(val) -- return value of the field in title case"
msgstr ""
"titlecase(val) -- devuelve el valor del campo con las iniciales en mayúscula"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801
msgid "capitalize(val) -- return value of the field capitalized"
msgstr ""
"capitalize(val) -- devuelve el valor del campo con la primera letra mayúscula"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810
msgid "booksize() -- return value of the size field"
msgstr "booksize() -- devuelve el valor del campo de tamaño"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:815
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
@ -20186,7 +20191,7 @@ msgstr ""
"ondevice() -- devuelve «Yes» si ondevice está activado, si no, devuelve un "
"texto vacío"
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:827
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836
msgid ""
"has_cover() -- return Yes if the book has a cover, otherwise return the "
"empty string"
@ -20194,7 +20199,7 @@ msgstr ""
"has_cover() -- devuelve «Yes» si el libro tiene portada, en caso contrario "
"devuelve un texto vacío."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:839
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848
msgid ""
"first_non_empty(value, value, ...) -- returns the first value that is not "
"empty. If all values are empty, then the empty value is returned.You can "
@ -20204,7 +20209,7 @@ msgstr ""
"vacío. Si todos los valores están vacíos, se devuelve también un valor "
"vacío. Puede incluir tantos valores como quiera."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:856
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865
msgid ""
"and(value, value, ...) -- returns the string \"1\" if all values are not "
"empty, otherwise returns the empty string. This function works well with "
@ -20214,7 +20219,7 @@ msgstr ""
"está vacío, en caso contrario devuelve un texto vacío. Esta función funciona "
"bien con «first_non_empty». Puede incluir tantos valores como quiera."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:873
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882
msgid ""
"or(value, value, ...) -- returns the string \"1\" if any value is not empty, "
"otherwise returns the empty string. This function works well with test or "
@ -20224,7 +20229,7 @@ msgstr ""
"está vacío, en caso contrario devuelve un texto vacío. Esta función funciona "
"bien con «first_non_empty». Puede incluir tantos valores como quiera."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:890
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899
msgid ""
"not(value) -- returns the string \"1\" if the value is empty, otherwise "
"returns the empty string. This function works well with test or "
@ -20233,7 +20238,7 @@ msgstr ""
"not(valor) -- devuelve el texto «1» si el valor está vacío, en caso "
"contrario devuelve un texto vacío."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:902
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911
msgid ""
"list_union(list1, list2, separator) -- return a list made by merging the "
"items in list1 and list2, removing duplicate items using a case-insensitive "
@ -20247,7 +20252,7 @@ msgstr ""
"versión de «lista1»). Los elementos de «lista1» y «lista2» están separados "
"por «separador», así como los de la lista resultante."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:927
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:936
msgid ""
"list_difference(list1, list2, separator) -- return a list made by removing "
"from list1 any item found in list2, using a case-insensitive compare. The "
@ -20259,7 +20264,7 @@ msgstr ""
"distinguir mayúsculas y minúsculas. Los elementos de «lista1» y «lista2» "
"están separados por «separador», así como los de la lista resultante."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:948
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:957
msgid ""
"list_intersection(list1, list2, separator) -- return a list made by removing "
"from list1 any item not found in list2, using a case-insensitive compare. "
@ -20272,7 +20277,7 @@ msgstr ""
"y «lista2» están separados por «separador», así como los de la lista "
"resultante."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:969
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:978
msgid ""
"list_sort(list, direction, separator) -- return list sorted using a case-"
"insensitive sort. If direction is zero, the list is sorted ascending, "
@ -20285,7 +20290,7 @@ msgstr ""
"elementos de «lista» están separados por «separador», así como los de la "
"lista resultante."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:984
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:993
msgid ""
"list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if "
"list1 and list2 contain the same items, otherwise return no_val. The items "
@ -20300,7 +20305,7 @@ msgstr ""
"elementos no es relevante. La comparación no diferencia mayúsculas y "
"minúsculas."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1002
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1011
msgid ""
"list_re(src_list, separator, search_re, opt_replace) -- Construct a list by "
"first separating src_list into items using the separator character. For each "
@ -20315,7 +20320,7 @@ msgstr ""
"es un texto vacío, se aplica la sustitución antes de añadir el elemento a la "
"lista final."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1026
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035
msgid ""
"today() -- return a date string for today. This value is designed for use in "
"format_date or days_between, but can be manipulated like any other string. "
@ -20325,7 +20330,7 @@ msgstr ""
"para usarse con «format_date» o «days_between», pero puede manipularse como "
"cualquier otro texto. La fecha está en formato ISO."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1037
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046
msgid ""
"days_between(date1, date2) -- return the number of days between date1 and "
"date2. The number is positive if date1 is greater than date2, otherwise "
@ -20337,7 +20342,7 @@ msgstr ""
"contrario es negativo. Si «fecha1» o «fecha2» no son fechas, la función "
"devuelve un texto vacío."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1059
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068
msgid ""
"language_strings(lang_codes, localize) -- return the strings for the "
"language codes passed in lang_codes. If localize is zero, return the strings "
@ -20349,7 +20354,7 @@ msgstr ""
"inglés. Si «localizar» no es cero, devuelve los nombres en el idioma actual. "
"El argumento «códigos» es una lista separada por comas."
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1079
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088
msgid ""
"language_codes(lang_strings) -- return the language codes for the strings "
"passed in lang_strings. The strings must be in the language of the current "
@ -20444,8 +20449,8 @@ msgid "English (Cyprus)"
msgstr "Inglés (Chipre)"
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124
msgid "English (Czechoslovakia)"
msgstr "Inglés (Checoslovaquia)"
msgid "English (Czech Republic)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125
msgid "English (Pakistan)"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-27 11:21+0000\n"
"POT-Creation-Date: 2011-11-06 08:51+0000\n"
"PO-Revision-Date: 2011-09-29 22:31+0000\n"
"Last-Translator: viki <viki@kodune.net>\n"
"Language-Team: Estonian <et@li.org>\n"
@ -15,8 +15,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Launchpad-Export-Date: 2011-10-28 05:18+0000\n"
"X-Generator: Launchpad (build 14197)\n"
"X-Launchpad-Export-Date: 2011-11-07 05:25+0000\n"
"X-Generator: Launchpad (build 14231)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56
msgid "Does absolutely nothing"
@ -26,20 +26,20 @@ msgstr "Ei tee midagi"
#: /home/kovid/work/calibre/src/calibre/db/cache.py:104
#: /home/kovid/work/calibre/src/calibre/db/cache.py:107
#: /home/kovid/work/calibre/src/calibre/db/cache.py:118
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:258
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:259
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:265
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:266
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100
#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74
#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:79
#: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:579
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:593
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71
#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:309
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:310
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:311
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:312
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106
#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109
@ -48,12 +48,12 @@ msgstr "Ei tee midagi"
#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:332
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:98
@ -144,7 +144,7 @@ msgstr "Ei tee midagi"
#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:380
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:161
#: /home/kovid/work/calibre/src/calibre/gui2/add.py:168
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:579
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:580
#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:122
#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:151
@ -908,8 +908,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66
#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563
#: /home/kovid/work/calibre/src/calibre/library/database2.py:990
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:820
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:832
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841
msgid "Yes"
msgstr ""
@ -938,17 +938,17 @@ msgstr ""
msgid "Communicate with Android phones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:148
msgid ""
"Comma separated list of directories to send e-books to on the device. The "
"first one that exists will be used"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:198
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:205
msgid "Communicate with S60 phones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:217
#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:224
msgid "Communicate with WebOS tablets."
msgstr ""
@ -1060,11 +1060,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447
#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:527
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:546
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1084
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1090
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1125
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:529
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:548
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1054
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453
#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1148
@ -1124,11 +1124,11 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:218
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:234
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:88
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:91
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:94
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:303
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:151
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:95
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:98
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:101
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315
#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:153
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:140
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146
@ -1148,8 +1148,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:330
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:344
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:437
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:472
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:451
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:486
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:297
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:328
msgid "Adding books to device metadata listing..."
@ -1159,8 +1159,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:354
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114
#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:125
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:389
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:421
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:403
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:435
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:334
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:352
msgid "Removing books from device..."
@ -1168,8 +1168,8 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:369
#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:374
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:432
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:439
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:446
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359
#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:364
msgid "Removing books from device metadata listing..."
@ -1442,26 +1442,37 @@ msgstr ""
msgid "Upload Black and White Covers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:559
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:65
msgid "Show expired books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:66
msgid ""
"A bug in an earlier version left non kepubs book records in the datbase. "
"With this option Calibre will show the expired records and allow you to "
"delete them with the new delete logic."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:573
#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:390
msgid "Not Implemented"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:560
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:574
msgid ""
"\".kobo\" files do not exist on the device as books instead, they are rows "
"in the sqlite database. Currently they cannot be exported or viewed."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:989
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:995
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1003
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1009
#, python-format
msgid ""
"<hr /><b>Book Last Read:</b> %(time)s<br /><b>Percentage Read:</b> "
"%(pr)d%%<hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1027
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1469,7 +1480,7 @@ msgid ""
"/><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1022
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1036
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1477,8 +1488,8 @@ msgid ""
"%(text)s<br /><hr />"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1031
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1041
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1045
#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1055
#, python-format
msgid ""
"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br "
@ -1750,50 +1761,49 @@ msgstr ""
msgid "Unable to detect the %s disk drive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:629
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:784
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:827
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:837
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:847
#, python-format
msgid "Could not find mount helper: %s."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:632
#, python-format
msgid ""
"Unable to detect the %s disk drive. Either the device has already been "
"ejected, or your kernel is exporting a deprecated version of SYSFS."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:650
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641
#, python-format
msgid "Unable to mount main memory (Error code: %d)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:701
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:692
#, python-format
msgid ""
"The main memory of %s is read only. This usually happens because of file "
"system errors."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1011
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1013
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:778
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:821
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:831
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:841
#, python-format
msgid "Could not find mount helper: %s."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:975
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:977
msgid "The reader has no storage card in this slot."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1015
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:979
#, python-format
msgid "Selected slot: %s is not supported."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1044
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1008
msgid "There is insufficient free space in main memory"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1046
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1048
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1010
#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1012
msgid "There is insufficient free space on the storage card"
msgstr ""
@ -2745,13 +2755,13 @@ msgstr ""
msgid "for a complete list with descriptions."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:248
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250
msgid ""
"Traverse links in HTML files breadth first. Normally, they are traversed "
"depth first."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:255
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257
#, python-format
msgid ""
"Maximum levels of recursion when following links in HTML files. Must be non-"
@ -2759,7 +2769,7 @@ msgid ""
"Default is %default."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:264
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266
msgid ""
"Normally this input plugin re-arranges all the input files into a standard "
"folder hierarchy. Only use this option if you know what you are doing as it "
@ -3837,32 +3847,32 @@ msgstr ""
msgid "Split Options:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:31
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:30
#, python-format
msgid ""
"The unit of measure. Default is inch. Choices are %s Note: This does not "
"override the unit for margins!"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:35
#, python-format
msgid ""
"The size of the paper. This size will be overridden when an output profile "
"is used. Default is letter. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:39
msgid ""
"Custom size of the document. Use the form widthxheight EG. `123x321` to "
"specify the width and height. This overrides any specified paper-size."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:44
#, python-format
msgid "The orientation of the page. Default is portrait. Choices are %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:48
msgid ""
"Preserve the aspect ratio of the cover, instead of stretching it to fill the "
"full first page of the generated pdf."
@ -5788,49 +5798,49 @@ msgstr ""
msgid "Donate"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:120
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:121
msgid "Click to open"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:135
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:136
msgid "Ids"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:173
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:174
#, python-format
msgid "Book %(sidx)s of <span class=\"series_name\">%(series)s</span>"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:188
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:189
#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1035
msgid "Collections"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:291
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:256
msgid "Paste Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:257
msgid "Copy Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:294
msgid "Remove Cover"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:335
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
msgid "Double-click to open Book Details window"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76
#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295
msgid "Path"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337
#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:338
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:109
#, python-format
msgid "Cover size: %(width)d x %(height)d"
@ -11730,7 +11740,7 @@ msgstr ""
msgid "Searching..."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:706
#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:705
#, python-format
msgid "Downloading covers for <b>%s</b>, please wait..."
msgstr ""
@ -12726,11 +12736,11 @@ msgstr ""
msgid "Partitioned"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:172
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:175
msgid "Column coloring"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:178
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:181
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132
#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223
msgid " or "
@ -17547,7 +17557,7 @@ msgid ""
"uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:608
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:609
msgid ""
"formats_sizes() -- return a comma-separated list of colon_separated items "
"representing sizes in bytes of the formats of a book. You can use the select "
@ -17555,13 +17565,13 @@ msgid ""
"always uppercase, as in EPUB."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:624
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:625
msgid ""
"human_readable(v) -- return a string representing the number v in KB, MB, "
"GB, etc."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:638
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639
msgid ""
"format_number(v, template) -- format the number v using a python formatting "
"template such as \"{0:5.2f}\" or \"{0:,d}\" or \"${0:5,.2f}\". The "
@ -17570,7 +17580,7 @@ msgid ""
"examples. Returns the empty string if formatting fails."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:663
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:664
msgid ""
"sublist(val, start_index, end_index, separator) -- interpret the value as a "
"list of items separated by `separator`, returning a new list made from the "
@ -17583,7 +17593,7 @@ msgid ""
"\"A, B\"."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:698
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:699
msgid ""
"subitems(val, start_index, end_index) -- This function is used to break "
"apart lists of items such as genres. It interprets the value as a comma-"
@ -17600,7 +17610,7 @@ msgid ""
"returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:736
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737
msgid ""
"format_date(val, format_string) -- format the value, which must be a date, "
"using the format_string, returning a string. The formatting codes are: d "
@ -17611,71 +17621,79 @@ msgid ""
"(1 to 12). MM : the month as number with a leading zero (01 to 12) MMM : "
"the abbreviated localized month name (e.g. \"Jan\" to \"Dec\"). MMMM : the "
"long localized month name (e.g. \"January\" to \"December\"). yy : the "
"year as two digit number (00 to 99). yyyy : the year as four digit number. "
"iso : the date with time and timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:765
msgid "uppercase(val) -- return value of the field in upper case"
"year as two digit number (00 to 99). yyyy : the year as four digit number. h "
" : the hours without a leading 0 (0 to 11 or 0 to 23, depending on am/pm) "
"hh : the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm) "
"m : the minutes without a leading 0 (0 to 59) mm : the minutes with a "
"leading 0 (00 to 59) s : the seconds without a leading 0 (0 to 59) ss : "
"the seconds with a leading 0 (00 to 59) ap : use a 12-hour clock instead "
"of a 24-hour clock, with \"ap\" replaced by the localized string for am or "
"pm AP : use a 12-hour clock instead of a 24-hour clock, with \"AP\" "
"replaced by the localized string for AM or PM iso : the date with time and "
"timezone. Must be the only format present"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774
msgid "lowercase(val) -- return value of the field in lower case"
msgid "uppercase(val) -- return value of the field in upper case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783
msgid "titlecase(val) -- return value of the field in title case"
msgid "lowercase(val) -- return value of the field in lower case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792
msgid "capitalize(val) -- return value of the field capitalized"
msgid "titlecase(val) -- return value of the field in title case"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801
msgid "capitalize(val) -- return value of the field capitalized"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810
msgid "booksize() -- return value of the size field"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:815
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824
msgid ""
"ondevice() -- return Yes if ondevice is set, otherwise return the empty "
"string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:827
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836
msgid ""
"has_cover() -- return Yes if the book has a cover, otherwise return the "
"empty string"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:839
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848
msgid ""
"first_non_empty(value, value, ...) -- returns the first value that is not "
"empty. If all values are empty, then the empty value is returned.You can "
"have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:856
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865
msgid ""
"and(value, value, ...) -- returns the string \"1\" if all values are not "
"empty, otherwise returns the empty string. This function works well with "
"test or first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:873
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882
msgid ""
"or(value, value, ...) -- returns the string \"1\" if any value is not empty, "
"otherwise returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:890
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899
msgid ""
"not(value) -- returns the string \"1\" if the value is empty, otherwise "
"returns the empty string. This function works well with test or "
"first_non_empty. You can have as many values as you want."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:902
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911
msgid ""
"list_union(list1, list2, separator) -- return a list made by merging the "
"items in list1 and list2, removing duplicate items using a case-insensitive "
@ -17684,7 +17702,7 @@ msgid ""
"list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:927
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:936
msgid ""
"list_difference(list1, list2, separator) -- return a list made by removing "
"from list1 any item found in list2, using a case-insensitive compare. The "
@ -17692,7 +17710,7 @@ msgid ""
"returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:948
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:957
msgid ""
"list_intersection(list1, list2, separator) -- return a list made by removing "
"from list1 any item not found in list2, using a case-insensitive compare. "
@ -17700,7 +17718,7 @@ msgid ""
"the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:969
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:978
msgid ""
"list_sort(list, direction, separator) -- return list sorted using a case-"
"insensitive sort. If direction is zero, the list is sorted ascending, "
@ -17708,7 +17726,7 @@ msgid ""
"items in the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:984
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:993
msgid ""
"list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if "
"list1 and list2 contain the same items, otherwise return no_val. The items "
@ -17717,7 +17735,7 @@ msgid ""
"The compare is case insensitive."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1002
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1011
msgid ""
"list_re(src_list, separator, search_re, opt_replace) -- Construct a list by "
"first separating src_list into items using the separator character. For each "
@ -17726,14 +17744,14 @@ msgid ""
"the replacement before adding the item to the returned list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1026
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035
msgid ""
"today() -- return a date string for today. This value is designed for use in "
"format_date or days_between, but can be manipulated like any other string. "
"The date is in ISO format."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1037
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046
msgid ""
"days_between(date1, date2) -- return the number of days between date1 and "
"date2. The number is positive if date1 is greater than date2, otherwise "
@ -17741,7 +17759,7 @@ msgid ""
"empty string."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1059
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068
msgid ""
"language_strings(lang_codes, localize) -- return the strings for the "
"language codes passed in lang_codes. If localize is zero, return the strings "
@ -17749,7 +17767,7 @@ msgid ""
"the current locale. Lang_codes is a comma-separated list."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1079
#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088
msgid ""
"language_codes(lang_strings) -- return the language codes for the strings "
"passed in lang_strings. The strings must be in the language of the current "
@ -17841,7 +17859,7 @@ msgid "English (Cyprus)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124
msgid "English (Czechoslovakia)"
msgid "English (Czech Republic)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125

Some files were not shown because too many files have changed in this diff Show More