Sync to Trunk.

This commit is contained in:
John Schember 2009-12-12 07:43:53 -05:00
commit 9914583a72
59 changed files with 7801 additions and 5853 deletions

View File

@ -4,12 +4,125 @@
# for important features/bug fixes.
# Also, each release can have new and improved recipes.
- version: 0.6.27
date: 2009-12-11
new features:
- title: "Support for the Barnes & Noble Nook"
description: >
calibre can now connect to the Barnes & Noble Nook on Windows, OS X and Linux. It can also
convert to/from EPUB and PDB, the two e-book formats supported by the Nook.
type: major
tickets: [4145]
- title: "Download latest version of recipes from the calibre server automatically."
description: >
Now calibre will automatically check for updated versions of the recipes used to
download the built in news sources. As a result, there is no need to upgrade calibre
just for recipe fixes. Note that you still have to upgrade to get access to new
news sources.
type: major
- title: "Speed up download of news"
description: >
"Speed up download of news by allowing the download to happen in multiple threads
(default 5). This may break some recipes, so please report any breakage you notice.
If a news server doesn't like the parallel connection, set simultaneous_downloads
to 1 in the recipe."
type: major
- title: "FB2 Output: Support creation of TOC from <h1> tags"
- title: "E-book viewer: Make keyboard shortcuts customizable"
tickets: [3793]
- title: "E-book viewer: Add keyboard shortcuts for next section and previous section"
- title: "E-book viewer: Scroll past page-break to maintain reading flow"
tickets: [3328]
- title: "Linux device detection: Switch to using libusb1 to enumerate devices on system."
description: >
"If you are building for source, the libusb1 headers and library are now required at
compile time."
bug fixes:
- title: "LRF Viewer: Handle LRF files with corrupted end-of-stream tags"
tickets: [4151]
- title: "LRF Viewer: Don't concatenate books when opening multiple files in the same viewer instance"
tickets: [4139]
- title: "SONY device drivers: Ensure that calibre ignores the launcher partition on windows"
- title: "Fix regression introduced in the Android device drivers in 0.6.26"
tickets: [4152]
- title: "MOBI Output: Fix handling of links with URL unsafe characters"
tickets: [4091]
- title: "MOBI Output: Handle large descriptions when generating indexed files"
- title: "Save to disk: Fix {pubdate} format string in template being ignored"
tickets: [4140]
- title: "Replace rotating hourglass with a more efficient busy indicator."
- title: "PML Input: Make footnotes and sidebars display better"
- title: "E-book viewer: Properly handle <iframe>s"
- title: "News download: Remove onload attributes when removing javascript"
- title: "Linux source install: Write path to bin dir into launcher scripts to make IPC more robust"
- title: "Fix PocketBook 360 driver on windows when no SD card is inserted"
tickets: [4182]
- title: "Fix stopping of a recipe download would prevent it from being re-downloaded until a calibre restart"
tickets: [4007, 4158]
new recipes:
- title: Rzeczpospolita OnLine
author: kwetal
- title: The Huffington Post
author: kwetal
- title: Glenn Beck
author: kwetal
- title: The Bangkok Post
author: kwetal
- title: RIA Novosti in English and Spanish
author: Darko Miletic
- title: Sabah
author: Deniz Oguz
- title: Zaman
author: Deniz Oguz
improved recipes:
- The Hindu
- Slate
- The Toronto Star
- Soldiers Magazine
- The Economist
- Arizona Daily Star
- ESPN
- version: 0.6.26
date: 2009-12-04
new features:
- title: "Adroid devices: Allow user to customize the directory for sending books"
- title: "Android devices: Allow user to customize the directory for sending books"
description: >
Now the user can choose what directory on the device calibre will send
books to. This allows calibre to support different reading software on Android devices
@ -33,7 +146,7 @@
- title: "calibre-debug: Remove --develop-from option as it is no longer needed"
bug fixes:
- title: "Content server: Fix password protected access from Adroid devices"
- title: "Content server: Fix password protected access from Android devices"
tickets: [3952]
- title: "calibredb with output format stanza once again escapes URLs"
@ -57,7 +170,7 @@
- title: Speed up download of the free Economist recipe
- title: "FB2 Input: Workaround for unescaped amerpsands"
- title: "FB2 Input: Workaround for unescaped ampersands"
new recipes:
- title: Money Control
@ -94,7 +207,7 @@
- title: "Conversion pipeline: Add option to control the inserted paragraph indent when using the remove blank line between paragraphs option"
- title: When reading metadata from PDf files, look for the ISBN in the file text.
- title: When reading metadata from PDF files, look for the ISBN in the file text.
tickets: [3013]
- title: Periodically check for updates to calibre instead of just at startup
@ -188,7 +301,7 @@
- title: Restore all sections to Guardian newspaper download
- title: "Social metadata download: If the user specifies that they dont want social metadata, don't get tags from the basic metadata sources either"
- title: "Social metadata download: If the user specifies that they don't want social metadata, don't get tags from the basic metadata sources either"
new recipes:

View File

@ -11,7 +11,7 @@ class DeStandaard(BasicNewsRecipe):
__author__ = u'Darko Miletic'
language = 'nl_BE'
description = u'News from Belgium'
description = u'News from Belgium in Dutch'
oldest_article = 7
max_articles_per_feed = 100
no_stylesheets = True

View File

@ -9,7 +9,7 @@ from calibre.web.feeds.news import BasicNewsRecipe
from calibre.ebooks.BeautifulSoup import Tag
class DeGentenaarOnline(BasicNewsRecipe):
title = 'De Gentenaar Online'
title = 'De Gentenaar'
__author__ = 'Darko Miletic'
description = 'News from Belgium in Dutch'
publisher = 'De Gentenaar'

View File

@ -11,7 +11,7 @@ from calibre.web.feeds.news import BasicNewsRecipe
class DeMorganBe(BasicNewsRecipe):
title = u'De Morgen'
__author__ = u'Darko Miletic'
description = u'News from Belgium'
description = u'News from Belgium in Dutch'
oldest_article = 7
language = 'nl_BE'

View File

@ -13,14 +13,32 @@ class ESPN(BasicNewsRecipe):
title = 'ESPN'
description = 'Sports news'
__author__ = 'Kovid Goyal'
__author__ = 'Kovid Goyal and Sujata Raman'
language = 'en'
no_stylesheets = True
use_embedded_content = False
remove_javascript = True
needs_subscription = True
remove_tags = [dict(name='font', attrs={'class':'footer'}), dict(name='hr', noshade='noshade')]
encoding= 'ISO-8859-1'
remove_tags_before = dict(name='font', attrs={'class':'date'})
center_navbar = False
remove_tags = [
dict(name='font', attrs={'class':'footer'}), dict(name='hr', noshade='noshade'),
dict(name = 'img', src ='/winnercomm/horseracing/DRF.jpg')
]
extra_css = '''
body{font-family:Verdana,Arial,Helvetica,sans-serif; font-size:x-small; font-weight:normal;}
.subhead{color:#666666;font-family:Verdana,sans-serif; font-size:x-small; font-weight:bold;}
.clearfix{font-family:Verdana,sans-serif; font-size:xx-small; }
.date{ font-family:Verdana,Arial,Helvetica,sans-serif ; font-size:xx-small;color:#7A7A7A;}
.byline{ font-family:Verdana,Arial,Helvetica,sans-serif ; font-size:xx-small;color:#666666;}
.headline{font-family:Verdana,Arial,Helvetica,sans-serif ; font-size:large; font-weight:bold;}
'''
feeds = [('Top Headlines', 'http://sports.espn.go.com/espn/rss/news'),
'http://sports.espn.go.com/espn/rss/nfl/news',
@ -36,30 +54,11 @@ class ESPN(BasicNewsRecipe):
'http://sports.espn.go.com/espn/rss/ncf/news',
'http://sports.espn.go.com/espn/rss/ncaa/news',
'http://sports.espn.go.com/espn/rss/outdoors/news',
'http://sports.espn.go.com/espn/rss/bassmaster/news',
#'http://sports.espn.go.com/espn/rss/bassmaster/news',
'http://sports.espn.go.com/espn/rss/oly/news',
'http://sports.espn.go.com/espn/rss/horse/news']
'http://sports.espn.go.com/espn/rss/horse/news'
]
def get_browser(self):
br = BasicNewsRecipe.get_browser()
br.set_handle_refresh(False)
if self.username is not None and self.password is not None:
br.open('http://espn.com')
br.select_form(nr=1)
br.form.find_control(name='username', type='text').value = self.username
br.form['password'] = self.password
br.submit()
br.set_handle_refresh(True)
return br
def print_version(self, url):
if 'eticket' in url:
return url.partition('&')[0].replace('story?', 'print?')
match = re.search(r'story\?(id=\d+)', url)
if match:
return 'http://sports.espn.go.com/espn/print?'+match.group(1)+'&type=story'
return None
def preprocess_html(self, soup):
for div in soup.findAll('div'):
@ -71,5 +70,42 @@ class ESPN(BasicNewsRecipe):
def postprocess_html(self, soup, first_fetch):
for div in soup.findAll('div', style=True):
div['style'] = div['style'].replace('center', 'left')
return soup
def get_browser(self):
br = BasicNewsRecipe.get_browser()
br.set_handle_refresh(False)
if self.username is not None and self.password is not None:
br.open('http://espn.com')#('http://espn.go.com/#myespn')
br.select_form(nr=1)
br.form.find_control(name='username', type='text').value = self.username
br.form['password'] = self.password
br.submit()
br.set_handle_refresh(True)
return br
def get_article_url(self, article):
return article.get('guid', None)
def print_version(self, url):
if 'eticket' in url:
return url.partition('&')[0].replace('story?', 'print?')
match = re.search(r'story\?(id=\d+)', url)
if match and 'soccernet' not in url and 'bassmaster' not in url:
return 'http://sports.espn.go.com/espn/print?'+match.group(1)+'&type=story'
else:
if match and 'soccernet' in url:
splitlist = url.split("&", 5)
newurl = 'http://soccernet.espn.go.com/print?'+match.group(1)+'&type=story' + '&' + str(splitlist[2] )
return newurl
#else:
# if 'bassmaster' in url:
# return url
return None

View File

@ -10,17 +10,21 @@ class TheHindu(BasicNewsRecipe):
language = 'en_IN'
oldest_article = 7
__author__ = _('Kovid Goyal')
__author__ = 'Kovid Goyal and Sujata Raman'
max_articles_per_feed = 100
no_stylesheets = True
remove_tags_before = {'name':'font', 'class':'storyhead'}
preprocess_regexps = [
(re.compile(r'<!-- story ends -->.*', re.DOTALL),
lambda match: '</body></html>'),
]
extra_css = '''
.storyhead{font-family:Arial,Helvetica,sans-serif; font-size:large; color:#000099;}
body{font-family:Verdana,Arial,Helvetica,sans-serif; font-size:x-small; text-align:left;}
'''
feeds = [
(u'Main - Font Page', u'http://www.hindu.com/rss/01hdline.xml'),
(u'Main - Front Page', u'http://www.hindu.com/rss/01hdline.xml'),
(u'Main - National', u'http://www.hindu.com/rss/02hdline.xml'),
(u'Main - International', u'http://www.hindu.com/rss/03hdline.xml'),
(u'Main - Opinion', u'http://www.hindu.com/rss/05hdline.xml'),
@ -43,6 +47,8 @@ class TheHindu(BasicNewsRecipe):
]
def postprocess_html(self, soup, first_fetch):
for t in soup.findAll(['table', 'tr', 'td']):
for t in soup.findAll(['table', 'tr', 'td','center']):
t.name = 'div'
return soup

View File

@ -9,9 +9,9 @@ www.hln.be
from calibre.web.feeds.news import BasicNewsRecipe
class HLN_be(BasicNewsRecipe):
title = 'HLN Belgium'
title = 'Het Laatste Nieuws'
__author__ = 'Darko Miletic'
description = 'Belgium news'
description = 'News from Belgium in Dutch'
publisher = 'HLN'
category = 'news, politics, Belgium'
oldest_article = 2

View File

@ -1,134 +1,94 @@
from calibre.web.feeds.news import BasicNewsRecipe
from calibre.ebooks.BeautifulSoup import BeautifulSoup, Tag, Comment
import re
class HuffingtonPostRecipe(BasicNewsRecipe):
__license__ = 'GPL v3'
__author__ = 'kwetal'
language = 'en'
version = 1
version = 2
title = u'The Huffington Post'
publisher = u'huffingtonpost.com'
category = u'News, Politics'
description = u'Political Blog'
oldest_article = 1.5
oldest_article = 1.1
max_articles_per_feed = 100
use_embedded_content = False
use_embedded_content = True
no_stylesheets = True
remove_javascript = True
# Seems to work best, but YMMV
simultaneous_downloads = 1
encoding = 'utf-8'
remove_empty_feeds = True
# Feeds from: http://www.huffingtonpost.com/syndication/
feeds = []
feeds.append((u'Latest News', u'http://feeds.huffingtonpost.com/huffingtonpost/LatestNews'))
# Works, but appears to be a subset of the politics-blog feed
#feeds.append((u'Politics', u'http://www.huffingtonpost.com/feeds/verticals/politics/index.xml'))
feeds.append((u'Politics', u'http://www.huffingtonpost.com/feeds/verticals/politics/blog.xml'))
# Does not work
#feeds.append((u'Politics: News', u'http://www.huffingtonpost.com/feeds/verticals/politics/news.xml'))
# Works, but appears to be a subset of the media-blog feed
feeds.append((u'Politics: News', u'http://www.huffingtonpost.com/feeds/verticals/politics/news.xml'))
feeds.append((u'Politics: Blog', u'http://www.huffingtonpost.com/feeds/verticals/politics/blog.xml'))
#feeds.append((u'Media', u'http://www.huffingtonpost.com/feeds/verticals/media/index.xml'))
feeds.append((u'Media', u'http://www.huffingtonpost.com/feeds/verticals/media/blog.xml'))
# Does not work
#feeds.append((u'Media: News', u'http://www.huffingtonpost.com/feeds/verticals/media/news.xml'))
# Works, but appears to be a subset of the business-blog feed
feeds.append((u'Media: News', u'http://www.huffingtonpost.com/feeds/verticals/media/news.xml'))
feeds.append((u'Media: Blog', u'http://www.huffingtonpost.com/feeds/verticals/media/blog.xml'))
#feeds.append((u'Business', u'http://www.huffingtonpost.com/feeds/verticals/business/index.xml'))
feeds.append((u'Business', u'http://www.huffingtonpost.com/feeds/verticals/business/blog.xml'))
# Does not work
#feeds.append((u'Business: News', u'http://www.huffingtonpost.com/feeds/verticals/business/news.xml'))
feeds.append((u'Business: News', u'http://www.huffingtonpost.com/feeds/verticals/business/news.xml'))
feeds.append((u'Business: Blogs', u'http://www.huffingtonpost.com/feeds/verticals/business/blog.xml'))
#feeds.append((u'Entertainment', u'http://www.huffingtonpost.com/feeds/verticals/entertainment/index.xml'))
feeds.append((u'Entertainment: News', u'http://www.huffingtonpost.com/feeds/verticals/business/news.xml'))
feeds.append((u'Entertainment: Blog', u'http://www.huffingtonpost.com/feeds/verticals/entertainment/blog.xml'))
#feeds.append((u'Living', u'http://www.huffingtonpost.com/feeds/verticals/living/index.xml'))
feeds.append((u'Living: News', u'http://www.huffingtonpost.com/feeds/verticals/living/news.xml'))
feeds.append((u'Living: Blog', u'http://www.huffingtonpost.com/feeds/verticals/living/blog.xml'))
#feeds.append((u'Style', u'http://www.huffingtonpost.com/feeds/verticals/style/index.xml'))
feeds.append((u'Style: News', u'http://www.huffingtonpost.com/feeds/verticals/style/news.xml'))
feeds.append((u'Style: Blog', u'http://www.huffingtonpost.com/feeds/verticals/style/blog.xml'))
#feeds.append((u'Green', u'http://www.huffingtonpost.com/feeds/verticals/green/index.xml'))
feeds.append((u'Green: News', u'http://www.huffingtonpost.com/feeds/verticals/green/news.xml'))
feeds.append((u'Green: Blog', u'http://www.huffingtonpost.com/feeds/verticals/green/blog.xml'))
#feeds.append((u'Technology', u'http://www.huffingtonpost.com/feeds/verticals/technology/index.xml'))
feeds.append((u'Technology: News', u'http://www.huffingtonpost.com/feeds/verticals/technology/news.xml'))
feeds.append((u'Technology: Blog', u'http://www.huffingtonpost.com/feeds/verticals/technology/blog.xml'))
#feeds.append((u'Comedy', u'http://www.huffingtonpost.com/feeds/verticals/comedy/index.xml'))
feeds.append((u'Comedy: News', u'http://www.huffingtonpost.com/feeds/verticals/comedy/news.xml'))
feeds.append((u'Comedy: Blog', u'http://www.huffingtonpost.com/feeds/verticals/comedy/blog.xml'))
#feeds.append((u'World', u'http://www.huffingtonpost.com/feeds/verticals/world/index.xml'))
feeds.append((u'World: News', u'http://www.huffingtonpost.com/feeds/verticals/world/news.xml'))
feeds.append((u'World: Blog', u'http://www.huffingtonpost.com/feeds/verticals/world/blog.xml'))
feeds.append((u'Original Reporting', u'http://www.huffingtonpost.com/tag/huffpolitics/feed'))
feeds.append((u'Original Posts', u'http://www.huffingtonpost.com/feeds/original_posts/index.xml'))
keep_only_tags = []
# For reporters posts
keep_only_tags.append(dict(name = 'div', attrs = {'class' : 'about_reporter_name'}))
keep_only_tags.append(dict(name = 'div', attrs = {'class' : 'entry'}))
# For blog posts
keep_only_tags.append(dict(name = 'div', attrs = {'id' : 'blog_author_info'}))
keep_only_tags.append(dict(name = 'div', attrs = {'id' : 'blog_title'}))
remove_tags = []
remove_tags.append(dict(name = 'div', attrs = {'class' : 'contin_below'}))
remove_tags.append(dict(name = 'div', attrs = {'class' : 'adver_cont_below'}))
remove_tags.append(dict(name = 'div', attrs = {'class' : 'blogger_menu_content'}))
remove_tags.append(dict(name = 'div', attrs = {'class' : 'chicklets'}))
remove_tags.append(dict(name = 'div', attrs = {'class' : 'google-searcG-blogp'}))
remove_tags.append(dict(name = 'div', attrs = {'class' : 'forma_email'}))
remove_tags.append(dict(name = 'div', attrs = {'class' : 'new_share_module'}))
remove_tags.append(dict(name = 'div', attrs = {'class' : 'cse-branding-right'}))
remove_tags.append(dict(name = 'div', attrs = {'class' : 'clear'}))
remove_tags.append(dict(name = 'div', attrs = {'style' : re.compile('clear:both;*')}))
remove_tags.append(dict(name = 'div', attrs = {'class' : re.compile('facebookvote_reaction_blog.*')}))
remove_tags.append(dict(name = 'div', attrs = {'class' : re.compile('read_more.*')}))
remove_tags.append(dict(name = 'div', attrs = {'class' : re.compile('facebookvote_v2.*')}))
remove_tags.append(dict(name = 'div', attrs = {'class' : re.compile('facebookvote_reaction.*')}))
remove_tags.append(dict(name = 'div', attrs = {'class' : 'slideshow_poll'}))
remove_tags.append(dict(name='a', attrs={'href' : re.compile('http://feedads\.g\.doubleclick.net.*')}))
remove_tags.append(dict(name='div', attrs={'class' : 'feedflare'}))
remove_attributes = ['style']
extra_css = 'a[href] {color: blue; text-decoration: none; cursor: pointer;}'
extra_css = '''
body{font-family:verdana,arial,helvetica,geneva,sans-serif ;}
h2{font-size: x-large; font-weight: bold; padding: 0em; margin-bottom: 0.2em;}
a[href]{color: blue; text-decoration: none; cursor: pointer;}
'''
def preprocess_html(self, soup):
# Condens the soup.
soup = self.unComment(self.nukeHead(soup))
def get_article_url(self, article):
"""
Workaround for Feedparser behaviour. If an item has more than one <link/> element, article.link is empty and
article.links contains a list of dictionaries.
Todo: refactor to searching this list to avoid the hardcoded zero-index
"""
link = article.get('link')
if not link:
links = article.get('links')
if links:
link = links[0]['href']
# Don't want the picture of the author
blogAuthor = soup.find('div', attrs = {'id': 'blog_author_info'})
if blogAuthor:
for img in blogAuthor.findAll('img'):
img.extract()
byline = soup.find('h2')
if byline:
h2 = Tag(soup, 'h2')
raw = self.tag_to_string(byline)
h2.append(raw)
byline.replaceWith(h2)
else:
byline = soup.find('div', attrs = {'class': re.compile('about_*reporter_*name')})
if byline:
h2 = Tag(soup, 'h2')
raw = self.tag_to_string(byline)
h2.append(raw.strip())
byline.replaceWith(h2)
headline = soup.find('h1')
if headline:
h1 = Tag(soup, 'h1')
raw = self.tag_to_string(headline)
h1.append(raw)
headline.replaceWith(h1)
return soup
def postprocess_html(self, soup, first):
# Get rid of those pesky <br /> tags
html = re.sub(r'\n<br />\n', '', str(soup))
newSoup = BeautifulSoup(html)
return newSoup
def nukeHead(self, soup):
titleStr = ''
newHead = Tag(soup, 'head')
newTitle = Tag(soup, 'title')
newHead.append(newTitle)
head = soup.head
if head:
title = head.title
if title:
titleStr = self.tag_to_string(title)
newTitle.append(titleStr)
head.replaceWith(newHead)
else:
soup.insert(0, newHead)
return soup
def unComment(self, soup):
comments = soup.findAll(text = lambda text: isinstance(text, Comment))
[comment.extract() for comment in comments]
return soup
return link

View File

@ -18,11 +18,22 @@ class Joelonsoftware(BasicNewsRecipe):
use_embedded_content = True
oldest_article = 60
cover_url = 'http://www.joelonsoftware.com/RssJoelOnSoftware.jpg'
extra_css = '''
h1{font-size: x-small; color:#BF3306;}
h2{ color:#046380; font-size: large;}
.date{ color:#046380; font-size: x-small;}
.author{ color:#046380; font-size: small;}
body{font-family:Georgia,serif;font-size: small;}
'''
html2lrf_options = [ '--comment' , description
, '--category' , 'blog,software,news'
, '--author' , 'Joel Spolsky'
]
feeds = [(u'Articles', u'http://www.joelonsoftware.com/rss.xml')]

View File

@ -0,0 +1,55 @@
from calibre.web.feeds.news import BasicNewsRecipe
class RzeczpospolitaRecipe(BasicNewsRecipe):
__license__ = 'GPL v3'
__author__ = 'kwetal'
language = 'pl'
version = 1
title = u'Rzeczpospolita OnLine'
publisher = u'Presspublica Sp.'
category = u'News'
description = u'Newspaper'
oldest_article = 1
max_articles_per_feed = 100
no_stylesheets = True
remove_javascript = True
encoding = 'utf-8'
# Seems to work best, but YMMV
simultaneous_downloads = 1
feeds = []
feeds.append(u'http://www.rp.pl/rss/2.html')
feeds.append(u'http://www.rp.pl/rss/10.html')
feeds.append(u'http://www.rp.pl/rss/11.html')
feeds.append(u'http://www.rp.pl/rss/12.html')
feeds.append(u'http://www.rp.pl/rss/4.html')
feeds.append(u'http://www.rp.pl/rss/5.html')
feeds.append(u'http://www.rp.pl/rss/6.html')
feeds.append(u'http://www.rp.pl/rss/7.html')
feeds.append(u'http://www.rp.pl/rss/8.html')
keep_only_tags =[]
keep_only_tags.append(dict(name = 'div', attrs = {'id' : 'storyp'}))
remove_tags =[]
remove_tags.append(dict(name = 'div', attrs = {'id' : 'adk_0'}))
remove_tags.append(dict(name = 'div', attrs = {'class' : 'clr'}))
remove_tags.append(dict(name = 'div', attrs = {'id' : 'share_bottom'}))
remove_tags.append(dict(name = 'div', attrs = {'id' : 'copyright_law'}))
extra_css = '''
body {font-family: verdana, arial, helvetica, geneva, sans-serif ;}
h1{text-align: left;}
h2{font-size: medium; font-weight: bold;}
p.lead {font-weight: bold; text-align: left;}
.authordate {font-size: small; color: #696969;}
.fot{font-size: x-small; color: #666666;}
'''
def print_version(self, url):
start, sep, rest = url.rpartition('/')
forget, sep, index = rest.rpartition(',')
return start + '/' + index + '?print=tak'

View File

@ -14,7 +14,7 @@ class PeriodicalNameHere(BasicNewsRecipe):
# Method variables for customizing downloads
title = 'Slate'
description = 'A general-interest publication offering analysis and commentary about politics, news and culture.'
__author__ = 'GRiker'
__author__ = 'GRiker and Sujata Raman'
max_articles_per_feed = 20
oldest_article = 7.0
recursions = 0
@ -50,8 +50,7 @@ class PeriodicalNameHere(BasicNewsRecipe):
# The second entry is for 'Big Money', which comes from a different site, uses different markup
remove_tags = [dict(attrs={ 'id':['toolbox','recommend_tab','insider_ad_wrapper',
'article_bottom_tools_cntr','fray_article_discussion',
'fray_article_links','bottom_sponsored_links','author_bio',
'article_bottom_tools_cntr','fray_article_discussion', 'fray_article_links','bottom_sponsored_links','author_bio',
'bizbox_links_bottom','ris_links_wrapper','BOXXLE']}),
dict(attrs={ 'id':['content-top','service-links-bottom','hed']}) ]
@ -60,18 +59,20 @@ class PeriodicalNameHere(BasicNewsRecipe):
excludedAuthorKeywords = []
excludedContentKeywords = ['http://twitter.com/Slate']
extra_css = '.headline {text-align:left;}\n\
.byline {font-family: monospace; \
text-align: left;\
margin-bottom: 0px;}\n\
.dateline {text-align: left; \
font-size: smaller;\
height: 0pt;}\n\
.imagewrapper {text-align: center;}\n\
.source {text-align: left;}\n\
.credit {text-align: right;\
font-size: smaller;}\n\
.article_body {text-align: left;}\n'
extra_css = '''
.h1_subhead{font-family:Arial; font-size:small; }
h1{font-family:Verdana; font-size:large; }
.byline {font-family:Georgia; margin-bottom: 0px; color: #660033;}
.dateline {font-family:Arial; font-size: smaller; height: 0pt; color:#666666;}
.imagewrapper {font-family:Verdana;font-size:x-small; }
.source {font-family:Verdana; font-size:x-small;}
.credit {font-family:Verdana; font-size: smaller;}
#article_body {font-family:Verdana; }
#content {font-family:Arial; }
.caption{font-family:Verdana;font-style:italic; font-size:x-small;}
h3{font-family:Arial; color:#666666; font-size:small}
a{color:#0066CC;}
'''
# Local variables to extend class
baseURL = 'http://slate.com'
@ -339,6 +340,9 @@ class PeriodicalNameHere(BasicNewsRecipe):
# Change <h1> to <h2>
headline = soup.find("h1")
tag = headline.find("span")
tag.name = 'div'
if headline is not None :
h2tag = Tag(soup, "h2")
h2tag['class'] = "headline"
@ -348,8 +352,8 @@ class PeriodicalNameHere(BasicNewsRecipe):
result += substr
if i < len(strs) -1 :
result += '<br />'
h2tag.insert(0, result)
headline.replaceWith(h2tag)
#h2tag.insert(0, result)
#headline.replaceWith(h2tag)
# Fix up the concatenated byline and dateline
byline = soup.find(True,attrs={'class':'byline'})

View File

@ -32,14 +32,14 @@ class TheTorontoStar(BasicNewsRecipe):
remove_tags_before = dict(name='div',attrs={'id':'ts-article_header'})
feeds = [
(u'News' , u'http://www.thestar.com/rss/0?searchMode=Query&categories=296' )
,(u'Opinions' , u'http://www.thestar.com/rss/0?searchMode=Query&categories=311' )
,(u'Business' , u'http://www.thestar.com/rss/0?searchMode=Query&categories=294' )
,(u'Sports' , u'http://www.thestar.com/rss/0?searchMode=Query&categories=295' )
,(u'Entertainment', u'http://www.thestar.com/rss/0?searchMode=Query&categories=296' )
,(u'Living' , u'http://www.thestar.com/rss/0?searchMode=Query&categories=296' )
,(u'Travel' , u'http://www.thestar.com/rss/82858?searchMode=Lineup' )
,(u'Science' , u'http://www.thestar.com/rss/82848?searchMode=Query&categories=300')
(u'News' , u'http://www.thestar.com/rss/82672?' )
,(u'Opinion' , u'http://www.thestar.com/rss/82863?' )
,(u'Business' , u'http://www.thestar.com/rss/82796?' )
,(u'Sports' , u'http://www.thestar.com/rss/82758?' )
,(u'Entertainment', u'http://www.thestar.com/rss/117741?' )
,(u'Living' , u'http://www.thestar.com/rss/82839?' )
,(u'Travel' , u'http://www.thestar.com/rss/82858?' )
,(u'Science' , u'http://www.thestar.com/rss/82848?')
]
def print_version(self, url):

View File

@ -19,7 +19,7 @@ class DeTijd(BasicNewsRecipe):
no_stylesheets = True
use_embedded_content = False
encoding = 'utf-8'
language = 'nl'
language = 'nl_BE'
lang = 'nl-BE'
direction = 'ltr'

View File

@ -4,8 +4,8 @@ from calibre.ebooks.BeautifulSoup import Tag
class VrijNederlandRecipe(BasicNewsRecipe) :
__license__ = 'GPL v3'
__author__ = 'kwetal'
language = 'nl_NL'
locale = 'nl_NL'
language = 'nl'
locale = 'nl'
version = 1
title = u'Vrij Nederland'

View File

@ -136,6 +136,10 @@ if isosx:
['calibre/devices/usbobserver/usbobserver.c'],
ldflags=['-framework', 'IOKit'])
)
if islinux:
extensions.append(Extension('libusb',
['calibre/devices/libusb.c'],
ldflags=['-lusb-1.0']))
if isunix:

View File

@ -2,7 +2,7 @@ __license__ = 'GPL v3'
__copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net'
__docformat__ = 'restructuredtext en'
__appname__ = 'calibre'
__version__ = '0.6.26'
__version__ = '0.6.27'
__author__ = "Kovid Goyal <kovid@kovidgoyal.net>"
import re
@ -57,6 +57,7 @@ if plugins is None:
for plugin in ['pictureflow', 'lzx', 'msdes', 'podofo', 'cPalmdoc',
'fontconfig', 'pdfreflow', 'progress_indicator'] + \
(['winutil'] if iswindows else []) + \
(['libusb'] if islinux else []) + \
(['usbobserver'] if isosx else []):
try:
p, err = __import__(plugin), ''

View File

@ -6,7 +6,7 @@ __copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
Embedded console for debugging.
'''
import sys, os
import sys, os, pprint
from calibre.utils.config import OptionParser
from calibre.constants import iswindows, isosx
from calibre import prints
@ -65,7 +65,7 @@ def debug_device_driver():
from calibre.devices.scanner import DeviceScanner
s = DeviceScanner()
s.scan()
print 'USB devices on system:', repr(s.devices)
print 'USB devices on system:\n', pprint.pprint(s.devices)
if iswindows:
wmi = __import__('wmi', globals(), locals(), [], -1)
drives = []
@ -91,7 +91,7 @@ def debug_device_driver():
connected_devices = []
for dev in device_plugins():
print 'Looking for', dev.__class__.__name__
connected = s.is_device_connected(dev)
connected = s.is_device_connected(dev, debug=True)
if connected:
connected_devices.append(dev)

View File

@ -36,12 +36,12 @@ class ANDROID(USBMS):
SUPPORTS_SUB_DIRS = True
def get_main_ebook_dir(self):
def post_open_callback(self):
opts = self.settings()
dirs = opts.extra_customization
if not dirs:
dirs = self.EBOOK_DIR_MAIN
else:
dirs = [x.strip() for x in dirs.split(',')]
return dirs
self.EBOOK_DIR_MAIN = dirs

View File

@ -97,4 +97,3 @@ class POCKETBOOK360(EB600):
OSX_MAIN_MEM = 'Philips Mass Storge Media'
OSX_CARD_A_MEM = 'Philips Mass Storge Media'

View File

@ -8,7 +8,8 @@ a backend that implement the Device interface for the SONY PRS500 Reader.
import os
from calibre.customize import Plugin
from calibre.constants import iswindows
from calibre.constants import iswindows, islinux
from calibre.devices.libusb1 import info
class DevicePlugin(Plugin):
"""
@ -88,7 +89,7 @@ class DevicePlugin(Plugin):
return False
@classmethod
def is_usb_connected(cls, devices_on_system):
def is_usb_connected(cls, devices_on_system, debug=False):
'''
Return True if a device handled by this plugin is currently connected.
@ -116,7 +117,8 @@ class DevicePlugin(Plugin):
else:
cbcd = cls.BCD
if cls.test_bcd(bcd, cbcd) and cls.can_handle((vid,
pid, bcd)):
pid, bcd),
debug=debug):
return True
return False
@ -138,7 +140,7 @@ class DevicePlugin(Plugin):
return ''
@classmethod
def can_handle(cls, device_info):
def can_handle(cls, device_info, debug=False):
'''
Optional method to perform further checks on a device to see if this driver
is capable of handling it. If it is not it should return False. This method
@ -149,6 +151,14 @@ class DevicePlugin(Plugin):
:param device_info: On windows a device ID string. On Unix a tuple of
``(vendor_id, product_id, bcd)``.
'''
if islinux:
try:
if debug:
dev = info(*device_info)
print '\t', repr(dev)
except:
import traceback
traceback.print_exc()
return True
def open(self):

View File

@ -0,0 +1,195 @@
/*
:mod:`libusb` -- Pythonic interface to libusb
=====================================================
.. module:: fontconfig
:platform: Linux
:synopsis: Pythonic interface to the libusb library
.. moduleauthor:: Kovid Goyal <kovid@kovidgoyal.net> Copyright 2009
*/
#define PY_SSIZE_T_CLEAN
#include <Python.h>
#include <libusb-1.0/libusb.h>
libusb_context *ctxt = NULL;
void cleanup() {
if (ctxt != NULL) {
libusb_exit(ctxt);
}
}
PyObject*
py_libusb_scan(PyObject *self, PyObject *args) {
libusb_device **list = NULL;
struct libusb_device_descriptor dev;
ssize_t ret = 0, i = 0;
PyObject *ans, *pydev, *t;
if (ctxt == NULL) return PyErr_NoMemory();
ret = libusb_get_device_list(ctxt, &list);
if (ret == LIBUSB_ERROR_NO_MEM) return PyErr_NoMemory();
ans = PyTuple_New(ret);
if (ans == NULL) return PyErr_NoMemory();
for (i = 0; i < ret; i++) {
if (libusb_get_device_descriptor(list[i], &dev) != 0) {
PyTuple_SET_ITEM(ans, i, Py_None);
continue;
}
pydev = PyTuple_New(3);
if (pydev == NULL) return PyErr_NoMemory();
t = PyInt_FromLong(dev.idVendor);
if (t == NULL) return PyErr_NoMemory();
PyTuple_SET_ITEM(pydev, 0, t);
t = PyInt_FromLong(dev.idProduct);
if (t == NULL) return PyErr_NoMemory();
PyTuple_SET_ITEM(pydev, 1, t);
t = PyInt_FromLong(dev.bcdDevice);
if (t == NULL) return PyErr_NoMemory();
PyTuple_SET_ITEM(pydev, 2, t);
PyTuple_SET_ITEM(ans, i, pydev);
}
libusb_free_device_list(list, 1);
return ans;
}
PyObject*
py_libusb_info(PyObject *self, PyObject *args) {
unsigned long idVendor, idProduct, bcdDevice;
ssize_t ret = 0, i = 0; int err = 0, n;
libusb_device **list = NULL;
libusb_device_handle *handle = NULL;
struct libusb_device_descriptor dev;
PyObject *ans, *t;
unsigned char data[1000];
if (ctxt == NULL) return PyErr_NoMemory();
if (!PyArg_ParseTuple(args, "LLL", &idVendor, &idProduct, &bcdDevice))
return NULL;
ret = libusb_get_device_list(ctxt, &list);
if (ret == LIBUSB_ERROR_NO_MEM) return PyErr_NoMemory();
ans = PyDict_New();
if (ans == NULL) return PyErr_NoMemory();
for (i = 0; i < ret; i++) {
if (libusb_get_device_descriptor(list[i], &dev) != 0) continue;
if (idVendor == dev.idVendor && idProduct == dev.idProduct && bcdDevice == dev.bcdDevice) {
err = libusb_open(list[i], &handle);
if (!err) {
if (dev.iManufacturer) {
n = libusb_get_string_descriptor_ascii(handle, dev.iManufacturer, data, 1000);
if (n == LIBUSB_ERROR_TIMEOUT) {
libusb_close(handle);
err = libusb_open(list[i], &handle);
if (err) break;
n = libusb_get_string_descriptor_ascii(handle, dev.iManufacturer, data, 1000);
}
if (n > 0) {
t = PyBytes_FromStringAndSize((const char*)data, n);
if (t == NULL) return PyErr_NoMemory();
//Py_INCREF(t);
if (PyDict_SetItemString(ans, "manufacturer", t) != 0) return PyErr_NoMemory();
}
}
if (dev.iProduct) {
n = libusb_get_string_descriptor_ascii(handle, dev.iProduct, data, 1000);
if (n == LIBUSB_ERROR_TIMEOUT) {
libusb_close(handle);
err = libusb_open(list[i], &handle);
if (err) break;
n = libusb_get_string_descriptor_ascii(handle, dev.iManufacturer, data, 1000);
}
if (n > 0) {
t = PyBytes_FromStringAndSize((const char*)data, n);
if (t == NULL) return PyErr_NoMemory();
//Py_INCREF(t);
if (PyDict_SetItemString(ans, "product", t) != 0) return PyErr_NoMemory();
}
}
if (dev.iSerialNumber) {
n = libusb_get_string_descriptor_ascii(handle, dev.iSerialNumber, data, 1000);
if (n == LIBUSB_ERROR_TIMEOUT) {
libusb_close(handle);
err = libusb_open(list[i], &handle);
if (err) break;
n = libusb_get_string_descriptor_ascii(handle, dev.iManufacturer, data, 1000);
}
if (n > 0) {
t = PyBytes_FromStringAndSize((const char*)data, n);
if (t == NULL) return PyErr_NoMemory();
//Py_INCREF(t);
if (PyDict_SetItemString(ans, "serial", t) != 0) return PyErr_NoMemory();
}
}
libusb_close(handle);
}
break;
}
}
libusb_free_device_list(list, 1);
if (err != 0) {
switch (err) {
case LIBUSB_ERROR_NO_MEM:
return PyErr_NoMemory();
case LIBUSB_ERROR_ACCESS:
PyErr_SetString(PyExc_ValueError, "Dont have permission to access this device");
return NULL;
case LIBUSB_ERROR_NO_DEVICE:
PyErr_SetString(PyExc_ValueError, "Device disconnected");
return NULL;
default:
PyErr_SetString(PyExc_ValueError, "Failed to open device");
return NULL;
}
}
return ans;
}
static
PyMethodDef libusb_methods[] = {
{"scan", py_libusb_scan, METH_VARARGS,
"scan()\n\n"
"Return USB devices currently connected to system as a tuple of "
"3-tuples. Each 3-tuple has (idVendor, idProduct, bcdDevice)."
},
{"info", py_libusb_info, METH_VARARGS,
"info(idVendor, idProduct, bcdDevice)\n\n"
"Return extra information about the specified device. "
},
{NULL, NULL, 0, NULL}
};
PyMODINIT_FUNC
initlibusb(void) {
PyObject *m;
m = Py_InitModule3(
"libusb", libusb_methods,
"Interface with USB devices on system."
);
if (m == NULL) return;
if (libusb_init(&ctxt) != 0) ctxt = NULL;
Py_AtExit(cleanup);
}

View File

@ -0,0 +1,27 @@
#!/usr/bin/env python
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
from __future__ import with_statement
__license__ = 'GPL v3'
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
__docformat__ = 'restructuredtext en'
from calibre.constants import plugins
libusb, libusb_err = plugins.get('libusb', (None, 'Wrong platform'))
def scan():
if libusb_err:
raise RuntimeError('Failed to load libusb1: '+libusb_err)
return set([x for x in libusb.scan() if x is not None])
def info(vendor, product, bcd):
if libusb_err:
raise RuntimeError('Failed to load libusb1: '+libusb_err)
a = libusb.info(vendor, product, bcd)
ans = {}
for k, v in a.items():
ans[k] = v.decode('ascii', 'replace')
return ans

View File

@ -29,7 +29,8 @@ class NOOK(USBMS):
WINDOWS_MAIN_MEM = 'NOOK'
WINDOWS_CARD_A_MEM = 'NOOK'
#OSX_MAIN_MEM = ''
OSX_MAIN_MEM = 'B&N nook Media'
OSX_CARD_A_MEM = OSX_MAIN_MEM
MAIN_MEMORY_VOLUME_LABEL = 'Nook Main Memory'
STORAGE_CARD_VOLUME_LABEL = 'Nook Storage Card'
@ -46,7 +47,4 @@ class NOOK(USBMS):
return drives
def windows_open_callback(self, drives):
if 'main' not in drives and 'carda' in drives:
drives['main'] = drives.pop('carda')
return drives

View File

@ -55,6 +55,9 @@ class PRS505(CLI, Device):
MUST_READ_METADATA = True
EBOOK_DIR_MAIN = 'database/media/books'
def windows_filter_pnp_id(self, pnp_id):
return '_LAUNCHER' in pnp_id
def open(self):
self.report_progress = lambda x, y: x
Device.open(self)

View File

@ -5,10 +5,10 @@ Device scanner that fetches list of devices on system ina platform dependent
manner.
'''
import sys, re, os
import sys
from calibre import iswindows, isosx, plugins
from calibre.devices import libusb
from calibre import iswindows, isosx, plugins, islinux
from calibre.devices import libusb1
osx_scanner = win_scanner = linux_scanner = None
@ -24,42 +24,15 @@ elif isosx:
raise RuntimeError('Failed to load the usbobserver plugin: %s'%plugins['usbobserver'][1])
_usb_re = re.compile(r'Vendor\s*=\s*([0-9a-fA-F]+)\s+ProdID\s*=\s*([0-9a-fA-F]+)\s+Rev\s*=\s*([0-9a-fA-f.]+)')
_DEVICES = '/proc/bus/usb/devices'
def _linux_scanner():
raw = open(_DEVICES).read()
devices = []
device = None
for x in raw.splitlines():
x = x.strip()
if x.startswith('T:'):
if device:
devices.append(device)
device = []
if device is not None and x.startswith('P:'):
match = _usb_re.search(x)
if match is not None:
ven, prod, bcd = match.group(1), match.group(2), match.group(3)
ven, prod, bcd = int(ven, 16), int(prod, 16), int(bcd.replace('.', ''), 16)
device = [ven, prod, bcd]
if device:
devices.append(device)
return devices
if libusb.has_library:
linux_scanner = libusb.get_devices
else:
linux_scanner = _linux_scanner
linux_scanner = libusb1.scan
class DeviceScanner(object):
def __init__(self, *args):
if isosx and osx_scanner is None:
raise RuntimeError('The Python extension usbobserver must be available on OS X.')
if not (isosx or iswindows) and (not os.access(_DEVICES, os.R_OK) and not libusb.has_library):
raise RuntimeError('DeviceScanner requires %s or libusb to work.'%_DEVICES)
if islinux and libusb1.libusb_err:
raise RuntimeError('DeviceScanner requires libusb1 to work.')
self.scanner = win_scanner if iswindows else osx_scanner if isosx else linux_scanner
self.devices = []
@ -67,8 +40,8 @@ class DeviceScanner(object):
'''Fetch list of connected USB devices from operating system'''
self.devices = self.scanner()
def is_device_connected(self, device):
return device.is_usb_connected(self.devices)
def is_device_connected(self, device, debug=False):
return device.is_usb_connected(self.devices, debug=debug)
def main(args=sys.argv):

View File

@ -208,6 +208,9 @@ class Device(DeviceConfig, DevicePlugin):
return (msz, casz, cbsz)
def windows_filter_pnp_id(self, pnp_id):
return False
def windows_match_device(self, drive, attr):
pnp_id = (str(drive.PNPDeviceID) if not isinstance(drive, basestring)
else str(drive)).upper()
@ -224,6 +227,9 @@ class Device(DeviceConfig, DevicePlugin):
if device_id is None or not test_vendor():
return False
if self.windows_filter_pnp_id(pnp_id):
return False
if hasattr(device_id, 'search'):
return device_id.search(pnp_id) is not None
@ -289,9 +295,12 @@ class Device(DeviceConfig, DevicePlugin):
# This is typically needed when the device has the same
# WINDOWS_MAIN_MEM and WINDOWS_CARD_A_MEM in which case
# if teh devices is connected without a crad, the above
# if the devices is connected without a crad, the above
# will incorrectly identify the main mem as carda
# See for example the driver for the Nook
if 'main' not in drives and 'carda' in drives:
drives['main'] = drives.pop('carda')
drives = self.windows_open_callback(drives)
if drives.get('main', None) is None:
@ -578,7 +587,7 @@ class Device(DeviceConfig, DevicePlugin):
try:
self.open_windows()
except DeviceError:
time.sleep(5)
time.sleep(7)
self.open_windows()
if isosx:
try:
@ -587,6 +596,11 @@ class Device(DeviceConfig, DevicePlugin):
time.sleep(7)
self.open_osx()
self.post_open_callback()
def post_open_callback(self):
pass
def eject_windows(self):
from calibre.constants import plugins
from threading import Thread

View File

@ -21,7 +21,7 @@ from calibre.devices.usbms.device import Device
from calibre.devices.usbms.books import BookList, Book
from calibre.devices.mime import mime_type_ext
# CLI must come before Device as it implments the CLI functions that
# CLI must come before Device as it implements the CLI functions that
# are inherited from the device interface in Device.
class USBMS(CLI, Device):
@ -56,7 +56,9 @@ class USBMS(CLI, Device):
return bl
prefix = self._card_a_prefix if oncard == 'carda' else self._card_b_prefix if oncard == 'cardb' else self._main_prefix
ebook_dir = self.EBOOK_DIR_CARD_A if oncard == 'carda' else self.EBOOK_DIR_CARD_B if oncard == 'cardb' else self.EBOOK_DIR_MAIN
ebook_dir = self.EBOOK_DIR_CARD_A if oncard == 'carda' else \
self.EBOOK_DIR_CARD_B if oncard == 'cardb' else \
self.get_main_ebook_dir()
# Get all books in the ebook_dir directory
if self.SUPPORTS_SUB_DIRS:

View File

@ -177,7 +177,7 @@ class LRFStream(LRFObject):
if len(self.stream) != decomp_size:
raise LRFParseError("Stream decompressed size is wrong!")
if stream.read(2) != '\x06\xF5':
print "Warning: corrupted end-of-stream tag at %08X; skipping it"%stream.tell()-2
print "Warning: corrupted end-of-stream tag at %08X; skipping it"%(stream.tell()-2)
self.end_stream(None, None)

View File

@ -9,6 +9,8 @@ import os
from calibre.customize.conversion import InputFormatPlugin, OptionRecommendation
from calibre.ebooks.pdf.pdftohtml import pdftohtml
from calibre.ebooks.metadata.opf2 import OPFCreator
from calibre.constants import plugins
pdfreflow, pdfreflow_err = plugins['pdfreflow']
class PDFInput(InputFormatPlugin):
@ -24,12 +26,27 @@ class PDFInput(InputFormatPlugin):
help=_('Scale used to determine the length at which a line should '
'be unwrapped. Valid values are a decimal between 0 and 1. The '
'default is 0.5, this is the median line length.')),
OptionRecommendation(name='new_pdf_engine', recommended_value=False,
help=_('Use the new PDF conversion engine.'))
])
def convert_new(self, stream, accelerators):
from calibre.ebooks.pdf.reflow import PDFDocument
if pdfreflow_err:
raise RuntimeError('Failed to load pdfreflow: ' + pdfreflow_err)
pdfreflow.reflow(stream.read())
xml = open('index.xml', 'rb').read()
PDFDocument(xml, self.opts, self.log)
return os.path.join(os.getcwd(), 'metadata.opf')
def convert(self, stream, options, file_ext, log,
accelerators):
log.debug('Converting file to html...')
# The main html file will be named index.html
self.opts, self.log = options, log
if options.new_pdf_engine:
return self.convert_new(stream, accelerators)
pdftohtml(os.getcwd(), stream.name, options.no_images)
from calibre.ebooks.metadata.meta import get_metadata

View File

@ -6,9 +6,6 @@ __license__ = 'GPL v3'
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
__docformat__ = 'restructuredtext en'
import sys, os
from copy import deepcopy
from lxml import etree
class Font(object):
@ -23,7 +20,7 @@ class Text(object):
A = etree.XPath('descendant::a[@href]')
def __init__(self, text, font_map, classes, opts, log):
def __init__(self, text, font_map, opts, log):
self.opts, self.log = opts, log
self.font_map = font_map
self.top, self.left, self.width, self.height = map(float, map(text.get,
@ -33,38 +30,23 @@ class Text(object):
self.color = self.font.color
self.font_family = self.font.family
for a in self.A(text):
href = a.get('href')
if href.startswith('index.'):
href = href.split('#')[-1]
a.set('href', '#page'+href)
self.text = etree.Element('span')
css = {'font_size':'%.1fpt'%self.font_size, 'color': self.color}
if css not in classes:
classes.append(css)
idx = classes.index(css)
self.text.set('class', 't%d'%idx)
if text.text:
self.text.text = text.text
for x in text:
self.text.append(deepcopy(x))
#print etree.tostring(self.text, encoding='utf-8', with_tail=False)
self.text_as_string = etree.tostring(text, method='text',
encoding=unicode)
class Page(object):
def __init__(self, page, font_map, classes, opts, log):
def __init__(self, page, font_map, opts, log):
self.opts, self.log = opts, log
self.font_map = font_map
self.number = int(page.get('number'))
self.top, self.left, self.width, self.height = map(float, map(page.get,
('top', 'left', 'width', 'height')))
self.width, self.height = map(float, map(page.get,
('width', 'height')))
self.id = 'page%d'%self.number
self.texts = []
for text in page.xpath('descendant::text'):
self.texts.append(Text(text, self.font_map, classes, self.opts, self.log))
self.texts.append(Text(text, self.font_map, self.opts, self.log))
class PDFDocument(object):
@ -77,51 +59,18 @@ class PDFDocument(object):
self.fonts = []
self.font_map = {}
for spec in self.root.xpath('//fontspec'):
for spec in self.root.xpath('//fonts'):
self.fonts.append(Font(spec))
self.font_map[self.fonts[-1].id] = self.fonts[-1]
self.pages = []
self.page_map = {}
self.classes = []
for page in self.root.xpath('//page'):
page = Page(page, self.font_map, self.classes, opts, log)
page = Page(page, self.font_map, opts, log)
self.page_map[page.id] = page
self.pages.append(page)
def run(opts, pathtopdf, log):
from calibre.constants import plugins
pdfreflow, err = plugins['pdfreflow']
if pdfreflow is None:
raise RuntimeError('Failed to load PDF Reflow plugin: '+err)
data = open(pathtopdf, 'rb').read()
pdfreflow.reflow(data)
index = os.path.join(os.getcwdu(), 'index.xml')
xml = open(index, 'rb').read()
PDFDocument(xml, opts, log)
def option_parser():
from optparse import OptionParser
p = OptionParser()
p.add_option('-v', '--verbose', action='count', default=0)
return p
def main(args=sys.argv):
p = option_parser()
opts, args = p.parse_args(args)
from calibre.utils.logging import default_log
if len(args) < 2:
p.print_help()
default_log('No input PDF file specified', file=sys.stderr)
return 1
run(opts, args[1], default_log)
return 0

View File

@ -105,10 +105,11 @@ class DeviceManager(Thread):
self.device = dev
self.device_class = dev.__class__
self.connected_slot(True)
break
return True
finally:
if iswindows:
pythoncom.CoUninitialize()
return False
def detect_device(self):
@ -137,7 +138,11 @@ class DeviceManager(Thread):
self.connected_slot(False)
device[1] ^= True
if connected_devices:
self.do_connect(connected_devices)
if not self.do_connect(connected_devices):
print 'Connect to device failed, retying in 5 seconds...'
time.sleep(5)
if not self.do_connect(connected_devices):
print 'Device connect failed again, giving up'
def umount_device(self):
if self.device is not None:

View File

@ -287,6 +287,14 @@ class Scheduler(QObject):
finally:
self.lock.unlock()
def recipe_download_failed(self, arg):
self.lock.lock()
try:
self.download_queue.remove(arg['urn'])
finally:
self.lock.unlock()
def download_clicked(self, urn):
if urn is not None:
return self.download(urn)

View File

@ -56,6 +56,12 @@ class Config(QDialog, Ui_ViewerConfig):
class Main(MainWindow, Ui_MainWindow):
def create_document(self):
self.document = Document(self.logger, self.opts)
QObject.connect(self.document, SIGNAL('chapter_rendered(int)'), self.chapter_rendered)
QObject.connect(self.document, SIGNAL('page_changed(PyQt_PyObject)'), self.page_changed)
def __init__(self, logger, opts, parent=None):
MainWindow.__init__(self, opts, parent)
Ui_MainWindow.__init__(self)
@ -65,8 +71,7 @@ class Main(MainWindow, Ui_MainWindow):
self.logger = logger
self.opts = opts
self.document = None
self.document = Document(self.logger, self.opts)
self.create_document()
self.spin_box_action = self.spin_box = QSpinBox()
self.tool_bar.addWidget(self.spin_box)
self.tool_bar.addSeparator()
@ -76,9 +81,6 @@ class Main(MainWindow, Ui_MainWindow):
self.search = SearchBox2(self)
self.search.initialize('lrf_viewer_search_history')
self.search_action = self.tool_bar.addWidget(self.search)
QObject.connect(self.document, SIGNAL('chapter_rendered(int)'), self.chapter_rendered)
QObject.connect(self.document, SIGNAL('page_changed(PyQt_PyObject)'), self.page_changed)
QObject.connect(self.search, SIGNAL('search(PyQt_PyObject, PyQt_PyObject)'), self.find)
self.action_next_page.setShortcuts([QKeySequence.MoveToNextPage, QKeySequence(Qt.Key_Space)])
@ -118,6 +120,7 @@ class Main(MainWindow, Ui_MainWindow):
self.progress_bar.setMinimum(0)
self.progress_bar.setMaximum(0)
self.progress_bar.setValue(0)
self.create_document()
if stream is not None:
self.file_name = os.path.basename(stream.name) if hasattr(stream, 'name') else ''

View File

@ -0,0 +1,266 @@
#!/usr/bin/env python
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
from __future__ import with_statement
__license__ = 'GPL v3'
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
__docformat__ = 'restructuredtext en'
from functools import partial
from PyQt4.Qt import QAbstractListModel, Qt, QKeySequence, QListView, \
QHBoxLayout, QWidget, QApplication, QStyledItemDelegate, QStyle, \
QVariant, QTextDocument, QRectF, QFrame, QSize, QFont, QKeyEvent
from calibre.gui2 import NONE, error_dialog
from calibre.utils.config import XMLConfig
from calibre.gui2.shortcuts_ui import Ui_Frame
DEFAULTS = Qt.UserRole
DESCRIPTION = Qt.UserRole + 1
CUSTOM = Qt.UserRole + 2
KEY = Qt.UserRole + 3
class Customize(QFrame, Ui_Frame):
def __init__(self, dup_check, parent=None):
QFrame.__init__(self, parent)
self.setupUi(self)
self.setFocusPolicy(Qt.StrongFocus)
self.setAutoFillBackground(True)
self.custom.toggled.connect(self.custom_toggled)
self.custom_toggled(False)
self.capture = 0
self.key = None
self.shorcut1 = self.shortcut2 = None
self.dup_check = dup_check
for x in (1, 2):
button = getattr(self, 'button%d'%x)
button.clicked.connect(partial(self.capture_clicked, which=x))
button.keyPressEvent = partial(self.key_press_event, which=x)
clear = getattr(self, 'clear%d'%x)
clear.clicked.connect(partial(self.clear_clicked, which=x))
def clear_clicked(self, which=0):
button = getattr(self, 'button%d'%which)
button.setText(_('None'))
setattr(self, 'shortcut%d'%which, None)
def custom_toggled(self, checked):
for w in ('1', '2'):
for o in ('label', 'button', 'clear'):
getattr(self, o+w).setEnabled(checked)
def capture_clicked(self, which=1):
self.capture = which
button = getattr(self, 'button%d'%which)
button.setText(_('Press a key...'))
button.setFocus(Qt.OtherFocusReason)
font = QFont()
font.setBold(True)
button.setFont(font)
def key_press_event(self, ev, which=0):
code = ev.key()
if self.capture == 0 or code in (0, Qt.Key_unknown,
Qt.Key_Shift, Qt.Key_Control, Qt.Key_Alt, Qt.Key_Meta,
Qt.Key_AltGr, Qt.Key_CapsLock, Qt.Key_NumLock, Qt.Key_ScrollLock):
return QWidget.keyPressEvent(self, ev)
button = getattr(self, 'button%d'%which)
font = QFont()
button.setFont(font)
sequence = QKeySequence(code|int(ev.modifiers()))
button.setText(sequence.toString())
self.capture = 0
setattr(self, 'shortcut%d'%which, sequence)
dup_desc = self.dup_check(sequence, self.key)
if dup_desc is not None:
error_dialog(self, _('Already assigned'),
unicode(sequence.toString()) + ' ' +
_('already assigned to') + ' ' + dup_desc, show=True)
self.clear_clicked(which=which)
class Delegate(QStyledItemDelegate):
def __init__(self, parent=None):
QStyledItemDelegate.__init__(self, parent)
self.editing_indices = {}
def to_doc(self, index):
doc = QTextDocument()
doc.setHtml(index.data().toString())
return doc
def sizeHint(self, option, index):
if index.row() in self.editing_indices:
return QSize(200, 200)
ans = self.to_doc(index).size().toSize()
ans.setHeight(ans.height()+10)
return ans
def paint(self, painter, option, index):
painter.save()
painter.setClipRect(QRectF(option.rect))
if hasattr(QStyle, 'CE_ItemViewItem'):
QApplication.style().drawControl(QStyle.CE_ItemViewItem, option, painter)
elif option.state & QStyle.State_Selected:
painter.fillRect(option.rect, option.palette.highlight())
painter.translate(option.rect.topLeft())
self.to_doc(index).drawContents(painter)
painter.restore()
def createEditor(self, parent, option, index):
w = Customize(index.model().duplicate_check, parent=parent)
self.editing_indices[index.row()] = w
self.sizeHintChanged.emit(index)
return w
def setEditorData(self, editor, index):
defs = index.data(DEFAULTS).toPyObject()
defs = _(' or ').join([unicode(x.toString(x.NativeText)) for x in defs])
editor.key = unicode(index.data(KEY).toString())
editor.default_shortcuts.setText(_('&Default') + ': %s' % defs)
editor.default_shortcuts.setChecked(True)
editor.header.setText('<b>%s: %s</b>'%(_('Customize shortcuts for'),
unicode(index.data(DESCRIPTION).toString())))
custom = index.data(CUSTOM).toPyObject()
if custom:
editor.custom.setChecked(True)
for x in (0, 1):
button = getattr(editor, 'button%d'%(x+1))
if len(custom) > x:
seq = QKeySequence(custom[x])
button.setText(seq.toString(seq.NativeText))
setattr(editor, 'shortcut%d'%(x+1), seq)
def setModelData(self, editor, model, index):
self.editing_indices.pop(index.row())
self.sizeHintChanged.emit(index)
self.closeEditor.emit(editor, self.NoHint)
custom = []
if editor.custom.isChecked():
for x in ('1', '2'):
sc = getattr(editor, 'shortcut'+x)
if sc is not None:
custom.append(sc)
model.set_data(index, custom)
def updateEditorGeometry(self, editor, option, index):
editor.setGeometry(option.rect)
class Shortcuts(QAbstractListModel):
TEMPLATE = '''
<p><b>{0}</b><br>
Keys: <code>{1}</code></p>
'''
def __init__(self, shortcuts, config_file_base_name, parent=None):
QAbstractListModel.__init__(self, parent)
self.descriptions = {}
for k, v in shortcuts.items():
self.descriptions[k] = v[-1]
self.keys = {}
for k, v in shortcuts.items():
self.keys[k] = v[0]
self.order = list(shortcuts)
self.order.sort(cmp=lambda x,y : cmp(self.descriptions[x],
self.descriptions[y]))
self.sequences = {}
for k, v in self.keys.items():
self.sequences[k] = [QKeySequence(x) for x in v]
self.custom = XMLConfig(config_file_base_name)
def rowCount(self, parent):
return len(self.order)
def get_sequences(self, key):
custom = self.custom.get(key, [])
if custom:
return [QKeySequence(x) for x in custom]
return self.sequences[key]
def get_match(self, event_or_sequence, ignore=tuple()):
q = event_or_sequence
if isinstance(q, QKeyEvent):
q = QKeySequence(q.key()|int(q.modifiers()))
for key in self.order:
if key not in ignore:
for seq in self.get_sequences(key):
if seq.matches(q) == QKeySequence.ExactMatch:
return key
return None
def duplicate_check(self, seq, ignore):
key = self.get_match(seq, ignore=[ignore])
if key is not None:
return self.descriptions[key]
def get_shortcuts(self, key):
return [unicode(x.toString(x.NativeText)) for x in
self.get_sequences(key)]
def data(self, index, role):
row = index.row()
if row < 0 or row >= len(self.order):
return NONE
key = self.order[row]
if role == Qt.DisplayRole:
return QVariant(self.TEMPLATE.format(self.descriptions[key],
_(' or ').join(self.get_shortcuts(key))))
if role == Qt.ToolTipRole:
return QVariant(_('Double click to change'))
if role == DEFAULTS:
return QVariant(self.sequences[key])
if role == DESCRIPTION:
return QVariant(self.descriptions[key])
if role == CUSTOM:
if key in self.custom:
return QVariant(self.custom[key])
else:
return QVariant([])
if role == KEY:
return QVariant(key)
return NONE
def set_data(self, index, custom):
key = self.order[index.row()]
if custom:
self.custom[key] = [unicode(x.toString()) for x in custom]
elif key in self.custom:
del self.custom[key]
def flags(self, index):
if not index.isValid():
return Qt.ItemIsEnabled
return QAbstractListModel.flags(self, index) | Qt.ItemIsEditable
class ShortcutConfig(QWidget):
def __init__(self, model, parent=None):
QWidget.__init__(self, parent)
self._layout = QHBoxLayout()
self.setLayout(self._layout)
self.view = QListView(self)
self._layout.addWidget(self.view)
self.view.setModel(model)
self.delegate = Delegate()
self.view.setItemDelegate(self.delegate)
self.delegate.sizeHintChanged.connect(self.view.scrollTo)
if __name__ == '__main__':
from calibre.gui2 import is_ok_to_use_qt
from calibre.gui2.viewer.keys import SHORTCUTS
is_ok_to_use_qt()
model = Shortcuts(SHORTCUTS, 'shortcuts/viewer')
conf = ShortcutConfig(model)
conf.resize(400, 500)
conf.show()
QApplication.instance().exec_()

View File

@ -0,0 +1,135 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Frame</class>
<widget class="QFrame" name="Frame">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>170</height>
</rect>
</property>
<property name="windowTitle">
<string>Frame</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="0" colspan="2">
<widget class="QRadioButton" name="default_shortcuts">
<property name="text">
<string>&amp;Default</string>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2">
<widget class="QRadioButton" name="custom">
<property name="text">
<string>&amp;Custom</string>
</property>
</widget>
</item>
<item row="3" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="leftMargin">
<number>25</number>
</property>
<item>
<widget class="QLabel" name="label1">
<property name="text">
<string>&amp;Shortcut:</string>
</property>
<property name="buddy">
<cstring>button1</cstring>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="button1">
<property name="toolTip">
<string>Click to change</string>
</property>
<property name="text">
<string>None</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="clear1">
<property name="toolTip">
<string>Clear</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../resources/images.qrc">
<normaloff>:/images/clear_left.svg</normaloff>:/images/clear_left.svg</iconset>
</property>
</widget>
</item>
</layout>
</item>
<item row="4" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<property name="leftMargin">
<number>25</number>
</property>
<item>
<widget class="QLabel" name="label2">
<property name="text">
<string>&amp;Alternate shortcut:</string>
</property>
<property name="buddy">
<cstring>button1</cstring>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="button2">
<property name="toolTip">
<string>Click to change</string>
</property>
<property name="text">
<string>None</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="clear2">
<property name="toolTip">
<string>Clear</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../resources/images.qrc">
<normaloff>:/images/clear_left.svg</normaloff>:/images/clear_left.svg</iconset>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="0" colspan="2">
<widget class="QLabel" name="header">
<property name="text">
<string/>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
<resources>
<include location="../../../resources/images.qrc"/>
</resources>
<connections/>
</ui>

View File

@ -354,7 +354,7 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI):
pm = QMenu()
ap = self.action_preferences
pm.addAction(ap.icon(), ap.text())
pm.addAction(_('Run welcome wizard'))
pm.addAction(QIcon(I('wizard.svg')), _('Run welcome wizard'))
self.connect(pm.actions()[0], SIGNAL('triggered(bool)'),
self.do_config)
self.connect(pm.actions()[1], SIGNAL('triggered(bool)'),
@ -1224,6 +1224,7 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI):
temp_files, fmt, arg = self.conversion_jobs.pop(job)
pt = temp_files[0]
if job.failed:
self.scheduler.recipe_download_failed(arg)
return self.job_exception(job)
id = self.library_view.model().add_news(pt.name, arg)
self.library_view.model().reset()

View File

@ -18,7 +18,27 @@
<normaloff>:/images/config.svg</normaloff>:/images/config.svg</iconset>
</property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="1" column="0">
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QTabWidget" name="tabs">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>&amp;General</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>&amp;Font options</string>
@ -215,18 +235,29 @@
</layout>
</widget>
</item>
<item row="1" column="0">
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</layout>
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="title">
<string>&amp;Keyboard shortcuts</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="label_9">
<property name="text">
<string>Double click to change a keyborad shortcut</string>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<tabstops>
<tabstop>serif_family</tabstop>
<tabstop>sans_family</tabstop>

View File

@ -15,9 +15,11 @@ from PyQt4.QtWebKit import QWebPage, QWebView, QWebSettings
from calibre.utils.config import Config, StringConfig
from calibre.utils.localization import get_language
from calibre.gui2.viewer.config_ui import Ui_Dialog
from calibre.gui2.shortcuts import Shortcuts, ShortcutConfig
from calibre.ptempfile import PersistentTemporaryFile
from calibre.constants import iswindows
from calibre import prints, guess_type
from calibre.gui2.viewer.keys import SHORTCUTS
bookmarks = referencing = hyphenation = jquery = jquery_scrollTo = hyphenator = None
@ -73,8 +75,8 @@ class PythonJS(QObject):
class ConfigDialog(QDialog, Ui_Dialog):
def __init__(self, *args):
QDialog.__init__(self, *args)
def __init__(self, shortcuts, parent=None):
QDialog.__init__(self, parent)
self.setupUi(self)
opts = config().parse()
@ -104,6 +106,10 @@ class ConfigDialog(QDialog, Ui_Dialog):
self.hyphenate_default_lang.setCurrentIndex(idx)
self.hyphenate.setChecked(opts.hyphenate)
self.hyphenate_default_lang.setEnabled(opts.hyphenate)
self.shortcuts = shortcuts
self.shortcut_config = ShortcutConfig(shortcuts, parent=self)
p = self.tabs.widget(1)
p.layout().addWidget(self.shortcut_config)
def accept(self, *args):
@ -139,15 +145,15 @@ class Document(QWebPage):
settings.setFontFamily(QWebSettings.FixedFont, opts.mono_family)
def do_config(self, parent=None):
d = ConfigDialog(parent)
d = ConfigDialog(self.shortcuts, parent)
if d.exec_() == QDialog.Accepted:
self.set_font_settings()
self.set_user_stylesheet()
self.misc_config()
self.triggerAction(QWebPage.Reload)
def __init__(self, *args):
QWebPage.__init__(self, *args)
def __init__(self, shortcuts, parent=None):
QWebPage.__init__(self, parent)
self.setObjectName("py_bridge")
self.debug_javascript = False
self.current_language = None
@ -155,6 +161,7 @@ class Document(QWebPage):
self.setLinkDelegationPolicy(self.DelegateAllLinks)
self.scroll_marks = []
self.shortcuts = shortcuts
pal = self.palette()
pal.setBrush(QPalette.Background, QColor(0xee, 0xee, 0xee))
self.setPalette(pal)
@ -337,7 +344,10 @@ class Document(QWebPage):
@property
def height(self):
return self.javascript('document.body.offsetHeight', 'int') # contentsSize gives inaccurate results
ans = self.javascript('document.body.offsetHeight', 'int') # contentsSize gives inaccurate results
if ans == 0:
ans = self.mainFrame().contentsSize().height()
return ans
@property
def width(self):
@ -366,13 +376,14 @@ class DocumentView(QWebView):
def __init__(self, *args):
QWebView.__init__(self, *args)
self.debug_javascript = False
self.shortcuts = Shortcuts(SHORTCUTS, 'shortcuts/viewer')
self.self_closing_pat = re.compile(r'<([a-z]+)\s+([^>]+)/>',
re.IGNORECASE)
self.setSizePolicy(QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding))
self._size_hint = QSize(510, 680)
self.initial_pos = 0.0
self.to_bottom = False
self.document = Document(self)
self.document = Document(self.shortcuts, parent=self)
self.setPage(self.document)
self.manager = None
self._reference_mode = False
@ -407,6 +418,7 @@ class DocumentView(QWebView):
self.document.do_config(parent)
if self.manager is not None:
self.manager.set_max_width()
self.setFocus(Qt.OtherFocusReason)
def bookmark(self):
return self.document.bookmark()
@ -480,6 +492,7 @@ class DocumentView(QWebView):
self.manager.load_started()
self.loading_url = QUrl.fromLocalFile(path)
#self.setContent(QByteArray(html.encode(path.encoding)), mt, QUrl.fromLocalFile(path))
#open('/tmp/t.html', 'wb').write(html.encode(path.encoding))
self.setHtml(html, self.loading_url)
self.turn_off_internal_scrollbars()
@ -576,8 +589,8 @@ class DocumentView(QWebView):
else:
self.document.set_bottom_padding(0)
opos = self.document.ypos
lower_limit = opos + delta_y
max_y = self.document.height - window_height
lower_limit = opos + delta_y # Max value of top y co-ord after scrolling
max_y = self.document.height - window_height # The maximum possible top y co-ord
if max_y < lower_limit:
self.document.set_bottom_padding(lower_limit - max_y)
max_y = self.document.height - window_height
@ -663,31 +676,35 @@ class DocumentView(QWebView):
return ret
def keyPressEvent(self, event):
key = event.key()
if key in [Qt.Key_PageDown, Qt.Key_Space, Qt.Key_Down]:
key = self.shortcuts.get_match(event)
if key == 'Next Page':
self.next_page()
elif key in [Qt.Key_PageUp, Qt.Key_Backspace, Qt.Key_Up]:
elif key == 'Previous Page':
self.previous_page()
elif key in [Qt.Key_Home]:
if event.modifiers() & Qt.ControlModifier:
elif key == 'Section Top':
self.scroll_to(0)
elif key == 'Document Top':
if self.manager is not None:
self.manager.goto_start()
else:
self.scroll_to(0)
elif key in [Qt.Key_End]:
if event.modifiers() & Qt.ControlModifier:
elif key == 'Section Bottom':
self.scroll_to(1)
elif key == 'Document Bottom':
if self.manager is not None:
self.manager.goto_end()
else:
self.scroll_to(1)
elif key in [Qt.Key_J]:
elif key == 'Down':
self.scroll_by(y=15)
elif key in [Qt.Key_K]:
elif key == 'Up':
self.scroll_by(y=-15)
elif key in [Qt.Key_H]:
elif key == 'Left':
self.scroll_by(x=-15)
elif key in [Qt.Key_L]:
elif key == 'Right':
self.scroll_by(x=15)
elif key == 'Next Section':
if self.manager is not None:
self.manager.goto_next_section()
elif key == 'Previous Section':
if self.manager is not None:
self.manager.goto_previous_section()
else:
return QWebView.keyPressEvent(self, event)

View File

@ -0,0 +1,47 @@
#!/usr/bin/env python
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
from __future__ import with_statement
__license__ = 'GPL v3'
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
__docformat__ = 'restructuredtext en'
SHORTCUTS = {
'Next Page' : (['PgDown', 'Space'],
_('Scroll to the next page')),
'Previous Page' : (['PgUp', 'Backspace'],
_('Scroll to the previous page')),
'Next Section' : (['Ctrl+PgDown', 'Ctrl+Down'],
_('Scroll to the next section')),
'Previous Section' : (['Ctrl+PgUp', 'Ctrl+Up'],
_('Scroll to the previous section')),
'Section Bottom' : (['End'],
_('Scroll to the bottom of the section')),
'Section Top' : (['Home'],
_('Scroll to the top of the section')),
'Document Bottom' : (['Ctrl+End'],
_('Scroll to the end of the document')),
'Document Top' : (['Ctrl+Home'],
_('Scroll to the start of the document')),
'Down' : (['J', 'Down'],
_('Scroll down')),
'Up' : (['K', 'Up'],
_('Scroll up')),
'Left' : (['H', 'Left'],
_('Scroll left')),
'Right' : (['L', 'Right'],
_('Scroll right')),
}

View File

@ -453,6 +453,15 @@ class EbookViewer(MainWindow, Ui_EbookViewer):
self.pending_bookmark = None
return self.current_index
def goto_next_section(self):
nindex = (self.current_index + 1)%len(self.iterator.spine)
self.load_path(self.iterator.spine[nindex])
def goto_previous_section(self):
pindex = (self.current_index - 1 + len(self.iterator.spine)) \
% len(self.iterator.spine)
self.load_path(self.iterator.spine[pindex])
def load_path(self, path, pos=0.0):
self.open_progress_indicator(_('Laying out %s')%self.current_title)
self.view.load_path(path, pos=pos)

View File

@ -92,6 +92,11 @@ class Sony505(Sony500):
name = 'SONY Reader Pocket/Touch Edition'
id = 'prs505'
class Nook(Sony505):
id = 'nook'
name = 'Nook'
manufacturer = 'Barnes & Noble'
class CybookG3(Device):
name = 'Cybook Gen 3'

View File

@ -264,7 +264,7 @@ Why does |app| show only some of my fonts on OS X?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|app| embeds fonts in ebook files it creates. E-book files support embedding only TrueType (.ttf) fonts. Most fonts on OS X systems are in .dfont format, thus they cannot be embedded. |app| shows only TrueType fonts founf on your system. You can obtain many TrueType fonts on the web. Simply download the .ttf files and add them to the Library/Fonts directory in your home directory.
The graphical user interface of |app| is not starting on Windows?
|app| is not starting on Windows?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There can be several causes for this:
@ -280,7 +280,20 @@ If it still wont launch, start a command prompt (press the windows key and R; th
Post any output you see in a help message on the `Forum <http://www.mobileread.com/forums/forumdisplay.php?f=166>`_.
My antivirus programs claims |app| is a virus/trojan?
|app| is not starting on OS X?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You can obtain debug output about why |app| is not starting by running `Console.app`. Debug output will
be printed to it. If the debug output contains a line that looks like::
Qt: internal: -108: Error ATSUMeasureTextImage text/qfontengine_mac.mm
then the problem is probably a corrupted font cache. You can clear the cache by following these
`instructions <http://www.macworld.com/article/139383/2009/03/fontcacheclear.html>`_. If that doesn't
solve it, look for a corrupted font file on your system, in ~/Library/Fonts or the like.
My antivirus program claims |app| is a virus/trojan?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Your antivirus program is wrong. |app| is a completely open source product. You can actually browse the source code yourself (or hire someone to do it for you) to verify that it is not a virus. Please report the false identification to whatever company you buy your antivirus software from. If the antivirus program is preventing you from downloading/installing |app|, disable it temporarily, install |app| and then re-enable it.

View File

@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-12-02 22:46+0000\n"
"PO-Revision-Date: 2009-12-03 00:18+0000\n"
"POT-Creation-Date: 2009-12-04 21:05+0000\n"
"PO-Revision-Date: 2009-12-04 19:59+0000\n"
"Last-Translator: Kovid Goyal <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"
"X-Launchpad-Export-Date: 2009-12-03 04:38+0000\n"
"X-Launchpad-Export-Date: 2009-12-05 04:36+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
@ -41,8 +41,8 @@ msgstr "لا يفعل شيءً"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:256
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:259
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:359
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:23
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:60
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:46
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:62
@ -55,8 +55,8 @@ msgstr "لا يفعل شيءً"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:894
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:39
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:28
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:18
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:22
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:48
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/topaz.py:29
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:14
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:44
@ -68,9 +68,9 @@ msgstr "لا يفعل شيءً"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:778
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:893
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:898
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:958
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:900
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:960
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:137
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:139
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:105
@ -120,7 +120,7 @@ msgstr "لا يفعل شيءً"
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:877
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1003
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:211
#: /home/kovid/work/calibre/src/calibre/library/cli.py:282
#: /home/kovid/work/calibre/src/calibre/library/cli.py:281
#: /home/kovid/work/calibre/src/calibre/library/database.py:913
#: /home/kovid/work/calibre/src/calibre/library/database2.py:702
#: /home/kovid/work/calibre/src/calibre/library/database2.py:714
@ -157,7 +157,7 @@ msgstr "قارئ الميتاداتا"
msgid "Metadata writer"
msgstr "كاتب الميتاداتا"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:13
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:14
msgid ""
"Follow all local links in an HTML file and create a ZIP file containing all "
"linked files. This plugin is run every time you add an HTML file to the "
@ -166,53 +166,65 @@ msgstr ""
"إلتحاق بكل الوصلات المحلية في ملف HTML وإنشاء ملف ZIP ليحتوي كل الملفات "
"الموصولة. هذا الملحق ينفّذ كل مرة تضيف ملف HTML إلى المكتبة."
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:48
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:49
msgid ""
"Character encoding for the input HTML files. Common choices include: cp1252, "
"latin1, iso-8859-1 and utf-8."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:56
msgid ""
" Create a PMLZ archive containing the PML file and all images "
"in the directory pmlname_img or images file containing all linked "
"files. This plugin is run every time you add an PML file to the "
"library. "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:87
msgid "Character encoding for the input PML files. Should ways be: cp1252."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94
msgid "Extract cover from comic files"
msgstr "استخرج الغلاف من ملف الرسومات"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:77
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:89
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:99
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:109
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:120
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:130
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:140
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:150
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:160
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:170
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:181
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:192
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:204
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:225
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:236
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:246
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:256
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:127
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:137
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:147
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:158
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:168
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:178
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:188
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:198
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:208
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:219
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:230
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:242
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:263
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:274
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:284
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:294
msgid "Read metadata from %s files"
msgstr "يقرأ الميتاداتا من الملفات %s"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:215
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:253
msgid "Read metadata from ebooks in RAR archives"
msgstr "إقرأ ميتاداتا لكتب في أرشيفات RAR"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:267
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:305
msgid "Read metadata from ebooks in ZIP archives"
msgstr "إقرأ ميتاداتا لكتب في أرشيفات ZIP"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:278
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:288
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:298
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:320
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:331
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:316
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:326
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:336
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:358
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:369
msgid "Set metadata in %s files"
msgstr "ضبط الميتاداتا في الملفات %s"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:309
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:347
msgid "Set metadata from %s files"
msgstr "ضبط ميتاداتا من ملفات %s"
@ -1156,7 +1168,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:126
#: /home/kovid/work/calibre/src/calibre/ebooks/pml/pmlml.py:113
#: /home/kovid/work/calibre/src/calibre/ebooks/pml/pmlml.py:114
#: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:101
#: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:77
msgid "Table of Contents:"
@ -1737,7 +1749,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1083
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1321
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1323
msgid "Cover"
msgstr "الغلاف"
@ -1768,70 +1780,70 @@ msgstr ""
msgid "All articles"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1322
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1324
msgid "Title Page"
msgstr "صقحة العنوان"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1323
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1325
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:51
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168
msgid "Table of Contents"
msgstr "المحتويات"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1324
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1326
msgid "Index"
msgstr "الفهرس"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1325
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1327
msgid "Glossary"
msgstr "المسرد"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1326
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1328
msgid "Acknowledgements"
msgstr "شكر وتقدير"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1327
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1329
msgid "Bibliography"
msgstr "ببليوغرافيا"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1328
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1330
msgid "Colophon"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1329
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1331
msgid "Copyright"
msgstr "حقوق المؤلف"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1330
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1332
msgid "Dedication"
msgstr "الإهداء"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1331
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1333
msgid "Epigraph"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1332
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1334
msgid "Foreword"
msgstr "افتتاحية"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1333
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1335
msgid "List of Illustrations"
msgstr "قائمة الرسوم"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1334
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1336
msgid "List of Tables"
msgstr "قائمة الجداول"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1335
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1337
msgid "Notes"
msgstr "الملاحظات"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1336
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1338
msgid "Preface"
msgstr "افتتاحية"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1337
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1339
msgid "Main Text"
msgstr "النصّ الرئيسي"
@ -1893,11 +1905,11 @@ msgid ""
"Generate an Adobe \"page-map\" file if pagination information is available."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:119
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:126
msgid "Footnotes"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:128
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:135
msgid "Sidebar"
msgstr ""
@ -3059,7 +3071,7 @@ msgid "RB Output"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:77
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1416
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1420
msgid "Choose the format to view"
msgstr ""
@ -3677,7 +3689,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:811
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:158
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1090
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1094
#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:53
msgid "Error"
msgstr "خطأ"
@ -4353,7 +4365,7 @@ msgid "Choose formats for "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:136
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:921
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:925
msgid "Books"
msgstr "كتب"
@ -5231,52 +5243,52 @@ msgstr "فتح الكتب الإلكترونية"
msgid "Configure"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:25
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:24
msgid "Use the library located at the specified path."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:27
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:26
msgid "Start minimized to system tray."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:29
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:28
msgid "Log debugging information to console"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:31
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:30
msgid "Do not check for updates"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:80
msgid "If you are sure it is not running"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:81
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:82
msgid "Cannot Start "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:82
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:83
msgid "%s is already running."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86
msgid "may be running in the system tray, in the"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88
msgid "upper right region of the screen."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:90
msgid "lower right region of the screen."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:92
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:93
msgid "try rebooting your computer."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:94
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:106
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:95
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:107
msgid "try deleting the file"
msgstr ""
@ -5598,7 +5610,7 @@ msgid "Save to disk in a single directory"
msgstr "حفظ إلى القرص في دليل واحد"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:306
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1518
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1522
msgid "Save only %s format to disk"
msgstr ""
@ -5633,7 +5645,7 @@ msgid "Calibre Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:464
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1661
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1665
msgid "Choose a location for your ebook library."
msgstr ""
@ -5673,170 +5685,178 @@ msgid ""
" "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:913
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:956
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:872
msgid "How many empty books?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:873
msgid "How many empty boks should be added?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:917
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:960
msgid "Uploading books to device."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:922
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:926
msgid "EPUB Books"
msgstr "كتب EPUB"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:923
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:927
msgid "LRF Books"
msgstr "كتب LRF"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:924
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:928
msgid "HTML Books"
msgstr "كتب HTML"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:925
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:929
msgid "LIT Books"
msgstr "كتب LIT"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:926
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:930
msgid "MOBI Books"
msgstr "كتب MOBI"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:927
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:931
msgid "Text books"
msgstr "كتب نصّية"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:928
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:932
msgid "PDF Books"
msgstr "كتب PDF"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:929
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:933
msgid "Comics"
msgstr "الرسومات"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:930
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:934
msgid "Archives"
msgstr "أرشيفات"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:965
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:969
msgid "Failed to read metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:966
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:970
msgid "Failed to read metadata from the following"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:985
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:989
msgid ""
"The selected books will be <b>permanently deleted</b> and the files removed "
"from your computer. Are you sure?"
msgstr "الكتب المختارة <b>سوف تحذف تماماً</b> من حاسوبك. هل أنت متأكّد؟"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1012
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1016
msgid "Deleting books from device."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1043
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1047
msgid "Cannot download metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1044
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1101
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1134
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1159
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1271
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1048
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1105
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1138
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1163
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1275
msgid "No books selected"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1059
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1063
msgid "social metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1061
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1065
msgid "covers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1061
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1065
msgid "metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1063
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1067
msgid "Downloading %s for %d book(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1085
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1089
msgid "Failed to download some metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1086
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1090
msgid "Failed to download metadata for the following:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1093
msgid "Failed to download metadata:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1100
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1133
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1104
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1137
msgid "Cannot edit metadata"
msgstr "لا يمكن تحرير الميتاداتا"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1158
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1162
msgid "Cannot save to disk"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1161
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1165
msgid "Choose destination directory"
msgstr "إختيار دليل الوجهة"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1188
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1192
msgid "Error while saving"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1189
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1193
msgid "There was an error while saving."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1196
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1197
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1200
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1201
msgid "Could not save some books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1198
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1202
msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1217
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1221
msgid "Fetching news from "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1230
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1234
msgid " fetched."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1270
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1274
msgid "Cannot convert"
msgstr "لا يمكن تحويله"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1299
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1303
msgid "Starting conversion of %d book(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1410
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1429
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1414
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1433
msgid "No book selected"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1410
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1460
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1414
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1464
msgid "Cannot view"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1428
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1432
msgid "Cannot open folder"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1445
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1449
msgid "Multiple Books Selected"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1446
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1450
msgid ""
"You are attempting to open %d books. Opening too many books at once can be "
"slow and have a negative effect on the responsiveness of your computer. Once "
@ -5844,97 +5864,97 @@ msgid ""
"continue?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1461
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1465
msgid "%s has no available formats."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1502
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1506
msgid "Cannot configure"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1503
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1507
msgid "Cannot configure while there are running jobs."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1546
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1550
msgid "No detailed info available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1547
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1551
msgid "No detailed information is available for books on the device."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1599
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1603
msgid "Error talking to device"
msgstr "خطأ في الاتصال بالجهاز"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1600
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1604
msgid ""
"There was a temporary error talking to the device. Please unplug and "
"reconnect the device and or reboot."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1623
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1641
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1627
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1645
msgid "Conversion Error"
msgstr "خطأ في التحويل"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1624
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1628
msgid ""
"<p>Could not convert: %s<p>It is a <a href=\"%s\">DRM</a>ed book. You must "
"first remove the DRM using third party tools."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1642
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1646
msgid "<b>Failed</b>"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1670
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1674
msgid "Invalid library location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1671
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1675
msgid "Could not access %s. Using %s as the library."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1719
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1723
msgid ""
"is the result of the efforts of many volunteers from all over the world. If "
"you find it useful, please consider donating to support its development."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1744
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1747
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1751
msgid ""
" is communicating with the device!<br>\n"
" Quitting may cause corruption on the device.<br>\n"
" Are you sure you want to quit?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1751
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1755
msgid "WARNING: Active jobs"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1803
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1807
msgid ""
"will keep running in the system tray. To close it, choose <b>Quit</b> in the "
"context menu of the system tray."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1822
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1826
msgid ""
"<span style=\"color:red; font-weight:bold\">Latest version: <a "
"href=\"%s\">%s</a></span>"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1830
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1834
msgid "Update available"
msgstr "تحديث متوفر"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1831
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1835
msgid ""
"%s has been updated to version %s. See the <a href=\"http://calibre-"
"ebook.com/whats-new\">new features</a>. Visit the download page?"
@ -6637,20 +6657,20 @@ msgid ""
"WordPlayer, etc. integration."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:120
#: /home/kovid/work/calibre/src/calibre/library/cli.py:121
msgid ""
"Path to the calibre library. Default is to use the path stored in the "
"settings."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:201
#: /home/kovid/work/calibre/src/calibre/library/cli.py:200
msgid ""
"%prog list [options]\n"
"\n"
"List the books available in the calibre database.\n"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:209
#: /home/kovid/work/calibre/src/calibre/library/cli.py:208
msgid ""
"The fields to display when listing books in the database. Should be a comma "
"separated list of fields.\n"
@ -6659,7 +6679,7 @@ msgid ""
"fields. Only has effect in the text output format."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:211
#: /home/kovid/work/calibre/src/calibre/library/cli.py:210
msgid ""
"The field by which to sort the results.\n"
"Available fields: %s\n"
@ -6669,54 +6689,54 @@ msgstr ""
"الحقول المتوفرة: %s\n"
"الإفتراضي: %%default"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:213
#: /home/kovid/work/calibre/src/calibre/library/cli.py:212
msgid "Sort results in ascending order"
msgstr "ترتيب الترتيب بترتيب تصاعدي"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:215
#: /home/kovid/work/calibre/src/calibre/library/cli.py:214
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search related documentation in the User Manual. Default is "
"to do no filtering."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:217
#: /home/kovid/work/calibre/src/calibre/library/cli.py:216
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:218
#: /home/kovid/work/calibre/src/calibre/library/cli.py:217
msgid "The string used to separate fields. Default is a space."
msgstr "السلسلة التي تستخدم لتفريق الحقول. الإفتراضي يستخدم الفراغ."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:219
#: /home/kovid/work/calibre/src/calibre/library/cli.py:218
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:222
#: /home/kovid/work/calibre/src/calibre/library/cli.py:221
msgid ""
"The format in which to output the data. Available choices: %s. Defaults is "
"text."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:235
#: /home/kovid/work/calibre/src/calibre/library/cli.py:234
msgid "Invalid fields. Available fields:"
msgstr "الحقول غير صالحة. الحقول المتوفرة:"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:242
#: /home/kovid/work/calibre/src/calibre/library/cli.py:241
msgid "Invalid sort field. Available fields:"
msgstr "حقل الترتيب غير صالح. الحقول المتوفرة:"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
#: /home/kovid/work/calibre/src/calibre/library/cli.py:312
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:336
#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@ -6725,27 +6745,27 @@ msgid ""
"the directory related options below.\n"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:345
#: /home/kovid/work/calibre/src/calibre/library/cli.py:344
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:347
#: /home/kovid/work/calibre/src/calibre/library/cli.py:346
msgid "Process directories recursively"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:349
#: /home/kovid/work/calibre/src/calibre/library/cli.py:348
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:359
#: /home/kovid/work/calibre/src/calibre/library/cli.py:358
msgid "You must specify at least one file to add"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:375
#: /home/kovid/work/calibre/src/calibre/library/cli.py:374
msgid ""
"%prog remove ids\n"
"\n"
@ -6754,11 +6774,11 @@ msgid ""
"command). For example, 23,34,57-85\n"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:390
#: /home/kovid/work/calibre/src/calibre/library/cli.py:389
msgid "You must specify at least one book to remove"
msgstr "يجب أن تخصص على الأقل كتاباً واحداً للحذف"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:409
#: /home/kovid/work/calibre/src/calibre/library/cli.py:408
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
@ -6767,15 +6787,15 @@ msgid ""
"already exists, it is replaced.\n"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:424
#: /home/kovid/work/calibre/src/calibre/library/cli.py:423
msgid "You must specify an id and an ebook file"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:429
#: /home/kovid/work/calibre/src/calibre/library/cli.py:428
msgid "ebook file must have an extension"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:437
#: /home/kovid/work/calibre/src/calibre/library/cli.py:436
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@ -6785,11 +6805,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:454
#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
msgid "You must specify an id and a format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:472
#: /home/kovid/work/calibre/src/calibre/library/cli.py:471
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@ -6799,15 +6819,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:480
#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
msgid "Print metadata in OPF form (XML)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
#: /home/kovid/work/calibre/src/calibre/library/cli.py:488
msgid "You must specify an id"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:502
#: /home/kovid/work/calibre/src/calibre/library/cli.py:501
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@ -6820,11 +6840,11 @@ msgid ""
"show_metadata command.\n"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:518
#: /home/kovid/work/calibre/src/calibre/library/cli.py:517
msgid "You must specify an id and a metadata file"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:538
#: /home/kovid/work/calibre/src/calibre/library/cli.py:537
msgid ""
"%prog export [options] ids\n"
"\n"
@ -6835,27 +6855,27 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:546
#: /home/kovid/work/calibre/src/calibre/library/cli.py:545
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:548
#: /home/kovid/work/calibre/src/calibre/library/cli.py:547
msgid "Export books to the specified directory. Default is"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:550
#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid "Export all books into a single directory"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:557
#: /home/kovid/work/calibre/src/calibre/library/cli.py:556
msgid "Specifying this switch will turn this behavior off."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/cli.py:579
msgid "You must specify some ids or the %s option"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
#: /home/kovid/work/calibre/src/calibre/library/cli.py:591
msgid ""
"%%prog command [options] [arguments]\n"
"\n"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -6,14 +6,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre 0.4.22\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-02 22:46+0000\n"
"POT-Creation-Date: 2009-12-04 21:05+0000\n"
"PO-Revision-Date: 2009-12-03 00:21+0000\n"
"Last-Translator: F.-X. Martin <martinfxavier@gmail.com>\n"
"Language-Team: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2009-12-03 04:38+0000\n"
"X-Launchpad-Export-Date: 2009-12-05 04:36+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"Generated-By: pygettext.py 1.5\n"
@ -41,8 +41,8 @@ msgstr "Ne fait strictement rien"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:256
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:259
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:359
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:23
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:60
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:46
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:62
@ -55,8 +55,8 @@ msgstr "Ne fait strictement rien"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:894
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:39
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:28
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:18
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:22
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:48
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/topaz.py:29
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:14
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:44
@ -68,9 +68,9 @@ msgstr "Ne fait strictement rien"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:778
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:893
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:898
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:958
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:900
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:960
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:137
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:139
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:105
@ -120,7 +120,7 @@ msgstr "Ne fait strictement rien"
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:877
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1003
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:211
#: /home/kovid/work/calibre/src/calibre/library/cli.py:282
#: /home/kovid/work/calibre/src/calibre/library/cli.py:281
#: /home/kovid/work/calibre/src/calibre/library/database.py:913
#: /home/kovid/work/calibre/src/calibre/library/database2.py:702
#: /home/kovid/work/calibre/src/calibre/library/database2.py:714
@ -157,7 +157,7 @@ msgstr "Lecteur de métadonnées"
msgid "Metadata writer"
msgstr "Éditeur de métadonnées"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:13
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:14
msgid ""
"Follow all local links in an HTML file and create a ZIP file containing all "
"linked files. This plugin is run every time you add an HTML file to the "
@ -167,7 +167,7 @@ msgstr ""
"contenant tous les fichiers liés. Ce plug-in est lancé chaque fois que vous "
"ajoutez un fichier HTML à la bibliothèque."
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:48
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:49
msgid ""
"Character encoding for the input HTML files. Common choices include: cp1252, "
"latin1, iso-8859-1 and utf-8."
@ -176,46 +176,58 @@ msgstr ""
"communs inclus: cp1252, latin1, iso-8859-1 et utf-8."
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:56
msgid ""
" Create a PMLZ archive containing the PML file and all images "
"in the directory pmlname_img or images file containing all linked "
"files. This plugin is run every time you add an PML file to the "
"library. "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:87
msgid "Character encoding for the input PML files. Should ways be: cp1252."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94
msgid "Extract cover from comic files"
msgstr "Extraction de la couverture depuis des fichiers de bandes dessinées"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:77
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:89
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:99
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:109
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:120
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:130
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:140
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:150
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:160
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:170
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:181
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:192
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:204
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:225
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:236
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:246
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:256
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:127
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:137
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:147
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:158
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:168
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:178
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:188
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:198
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:208
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:219
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:230
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:242
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:263
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:274
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:284
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:294
msgid "Read metadata from %s files"
msgstr "Lecture des métadonnées depuis les fichiers %s"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:215
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:253
msgid "Read metadata from ebooks in RAR archives"
msgstr "Lecture des métadonnées des ebooks contenus dans les archives RAR"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:267
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:305
msgid "Read metadata from ebooks in ZIP archives"
msgstr "Lecture des métadonnées des ebooks contenus dans les archives ZIP"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:278
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:288
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:298
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:320
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:331
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:316
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:326
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:336
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:358
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:369
msgid "Set metadata in %s files"
msgstr "Définir les métadonnées des fichiers %s"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:309
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:347
msgid "Set metadata from %s files"
msgstr "Indiquer les métadonnées pour les fichiers %s"
@ -1349,7 +1361,7 @@ msgstr ""
"les auteurs, etc. Cette option désactive la génération de cette couverture."
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:126
#: /home/kovid/work/calibre/src/calibre/ebooks/pml/pmlml.py:113
#: /home/kovid/work/calibre/src/calibre/ebooks/pml/pmlml.py:114
#: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:101
#: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:77
msgid "Table of Contents:"
@ -2008,7 +2020,7 @@ msgstr ""
"LibraryThing.com\n"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1083
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1321
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1323
msgid "Cover"
msgstr "Couverture"
@ -2043,70 +2055,70 @@ msgstr "Désactiver la compression du contenu du fichier."
msgid "All articles"
msgstr "Tous les articles"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1322
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1324
msgid "Title Page"
msgstr "Page de titre"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1323
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1325
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:51
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168
msgid "Table of Contents"
msgstr "Tables des matières"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1324
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1326
msgid "Index"
msgstr "Index"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1325
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1327
msgid "Glossary"
msgstr "Glossaire"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1326
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1328
msgid "Acknowledgements"
msgstr "Remerciements"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1327
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1329
msgid "Bibliography"
msgstr "Bibliographie"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1328
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1330
msgid "Colophon"
msgstr "Marque de l'imprimeur"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1329
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1331
msgid "Copyright"
msgstr "Copyright"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1330
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1332
msgid "Dedication"
msgstr "Dédicace"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1331
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1333
msgid "Epigraph"
msgstr "Epigraphe"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1332
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1334
msgid "Foreword"
msgstr "Avant-propos"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1333
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1335
msgid "List of Illustrations"
msgstr "Liste d'illustrations"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1334
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1336
msgid "List of Tables"
msgstr "Liste de Tables"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1335
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1337
msgid "Notes"
msgstr "Notes"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1336
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1338
msgid "Preface"
msgstr "Préface"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1337
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1339
msgid "Main Text"
msgstr "Texte principal"
@ -2172,11 +2184,11 @@ msgstr ""
"Générer un fichier \"page-map\" Adobe si les informations de pagination sont "
"disponibles."
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:119
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:126
msgid "Footnotes"
msgstr "Notes de bas de page"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:128
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:135
msgid "Sidebar"
msgstr "Panneau latéral"
@ -3457,7 +3469,7 @@ msgid "RB Output"
msgstr "Sortie RB"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:77
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1416
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1420
msgid "Choose the format to view"
msgstr "Choisir le format à afficher"
@ -4106,7 +4118,7 @@ msgstr "Nouvelle adresse email"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:811
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:158
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1090
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1094
#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:53
msgid "Error"
msgstr "Erreur"
@ -4849,7 +4861,7 @@ msgid "Choose formats for "
msgstr "Choisir les formats pour "
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:136
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:921
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:925
msgid "Books"
msgstr "Livres"
@ -5790,52 +5802,52 @@ msgstr "Ouvrir le livre"
msgid "Configure"
msgstr "Configurer"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:25
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:24
msgid "Use the library located at the specified path."
msgstr "Utiliser la librairie présente dans le répertoire spécifié."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:27
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:26
msgid "Start minimized to system tray."
msgstr "Démarrer en mode minimisé dans la zone de notification."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:29
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:28
msgid "Log debugging information to console"
msgstr "Loggue les informations de débogage dans la console"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:31
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:30
msgid "Do not check for updates"
msgstr "Ne pas vérifier les mises à jour"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:80
msgid "If you are sure it is not running"
msgstr "Si vous êtes sûr qu'il n'est pas démarré"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:81
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:82
msgid "Cannot Start "
msgstr "Impossible de lancer "
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:82
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:83
msgid "%s is already running."
msgstr "%s est déjà démarré."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86
msgid "may be running in the system tray, in the"
msgstr "peut être démarré dans la zone de notification, dans la"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88
msgid "upper right region of the screen."
msgstr "région en haut et à droite de l'écran."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:90
msgid "lower right region of the screen."
msgstr "région en bas et à droite de l'écran."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:92
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:93
msgid "try rebooting your computer."
msgstr "Essayer de redémarrer l'ordinateur."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:94
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:106
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:95
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:107
msgid "try deleting the file"
msgstr "Essayer de supprimer le fichier"
@ -6175,7 +6187,7 @@ msgid "Save to disk in a single directory"
msgstr "Sauvegarder sur le disque dans un seul répertoire"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:306
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1518
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1522
msgid "Save only %s format to disk"
msgstr "Sauvegarder seulement le format %s vers le disque"
@ -6210,7 +6222,7 @@ msgid "Calibre Library"
msgstr "Librairie calibre"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:464
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1661
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1665
msgid "Choose a location for your ebook library."
msgstr "Choisir un emplacement pour votre librairie d'ebook"
@ -6263,56 +6275,64 @@ msgstr ""
" </ol>\n"
" "
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:913
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:956
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:872
msgid "How many empty books?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:873
msgid "How many empty boks should be added?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:917
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:960
msgid "Uploading books to device."
msgstr "Téléchargement des livres vers l'appareil."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:922
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:926
msgid "EPUB Books"
msgstr "Livres EPUB"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:923
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:927
msgid "LRF Books"
msgstr "Livres LRF"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:924
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:928
msgid "HTML Books"
msgstr "Livres HTML"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:925
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:929
msgid "LIT Books"
msgstr "Livres LIT"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:926
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:930
msgid "MOBI Books"
msgstr "Livres MOBI"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:927
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:931
msgid "Text books"
msgstr "Livres Texte"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:928
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:932
msgid "PDF Books"
msgstr "Livres PDF"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:929
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:933
msgid "Comics"
msgstr "Bande Dessinées"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:930
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:934
msgid "Archives"
msgstr "Archives"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:965
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:969
msgid "Failed to read metadata"
msgstr "Impossible de lire les métadonnées"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:966
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:970
msgid "Failed to read metadata from the following"
msgstr "Impossible de lire les métadonnées à partir de"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:985
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:989
msgid ""
"The selected books will be <b>permanently deleted</b> and the files removed "
"from your computer. Are you sure?"
@ -6320,115 +6340,115 @@ msgstr ""
"Les livres sélectionnés vont être <b>supprimés définitivement</b> et les "
"fichiers seront supprimés de votre ordinateur. Etes-vous sûr ?"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1012
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1016
msgid "Deleting books from device."
msgstr "Suppression des livres dans l'appareil"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1043
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1047
msgid "Cannot download metadata"
msgstr "Impossible de télécharger les métadonnées"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1044
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1101
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1134
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1159
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1271
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1048
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1105
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1138
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1163
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1275
msgid "No books selected"
msgstr "Aucun livre sélectionné"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1059
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1063
msgid "social metadata"
msgstr "Métadonnées sociales"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1061
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1065
msgid "covers"
msgstr "couvertures"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1061
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1065
msgid "metadata"
msgstr "métadonnées"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1063
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1067
msgid "Downloading %s for %d book(s)"
msgstr "Télécharge les livres %s sur %d"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1085
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1089
msgid "Failed to download some metadata"
msgstr "Le téléchargement d'une partie des métadonnées a échoué"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1086
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1090
msgid "Failed to download metadata for the following:"
msgstr "Le téléchargement des métadonnées a échoué pour :"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1093
msgid "Failed to download metadata:"
msgstr "Le téléchargement des métadonnées a échoué:"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1100
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1133
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1104
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1137
msgid "Cannot edit metadata"
msgstr "Impossible d'éditer les métadonnées"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1158
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1162
msgid "Cannot save to disk"
msgstr "Impossible de sauvegarder sur le disque"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1161
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1165
msgid "Choose destination directory"
msgstr "Choisir le répertoire de destination"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1188
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1192
msgid "Error while saving"
msgstr "Erreur pendant la sauvegarde"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1189
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1193
msgid "There was an error while saving."
msgstr "Il y a eu une erreur lors de la sauvegarde."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1196
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1197
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1200
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1201
msgid "Could not save some books"
msgstr "Impossible de sauvegarder certains livres"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1198
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1202
msgid "Click the show details button to see which ones."
msgstr "Cliquer le bouton afficher les détails pour voir lesquels."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1217
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1221
msgid "Fetching news from "
msgstr "Récupération des News de "
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1230
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1234
msgid " fetched."
msgstr " récupéré."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1270
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1274
msgid "Cannot convert"
msgstr "Conversion impossible"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1299
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1303
msgid "Starting conversion of %d book(s)"
msgstr "Démarrer la conversion de %d livre(s)"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1410
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1429
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1414
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1433
msgid "No book selected"
msgstr "Aucun livre sélectionné"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1410
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1460
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1414
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1464
msgid "Cannot view"
msgstr "Impossible de visualiser"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1428
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1432
msgid "Cannot open folder"
msgstr "Impossible d'ouvrir le répertoire"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1445
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1449
msgid "Multiple Books Selected"
msgstr "Plusieurs livres sélectionnés"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1446
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1450
msgid ""
"You are attempting to open %d books. Opening too many books at once can be "
"slow and have a negative effect on the responsiveness of your computer. Once "
@ -6440,32 +6460,32 @@ msgstr ""
"réponses de l'ordinateur. Une fois démarré le processus ne peut pas être "
"arrêté avant la fin. Voulez-vous continuer ?"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1461
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1465
msgid "%s has no available formats."
msgstr "%s n'a pas de format disponible."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1502
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1506
msgid "Cannot configure"
msgstr "Configuration impossible"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1503
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1507
msgid "Cannot configure while there are running jobs."
msgstr "Impossible de configurer pendant que des travaux sont en cours."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1546
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1550
msgid "No detailed info available"
msgstr "Pas d'information détaillée disponible"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1547
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1551
msgid "No detailed information is available for books on the device."
msgstr ""
"Pas d'information détaillée disponible pour les livres dans l'appareil."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1599
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1603
msgid "Error talking to device"
msgstr "Erreur pendant la communication avec le lecteur électronique"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1600
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1604
msgid ""
"There was a temporary error talking to the device. Please unplug and "
"reconnect the device and or reboot."
@ -6474,12 +6494,12 @@ msgstr ""
"lecteur électronique. Veuillez déconnecter et reconnecter le lecteur "
"électronique et redémarrer."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1623
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1641
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1627
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1645
msgid "Conversion Error"
msgstr "Erreur lors de la conversion"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1624
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1628
msgid ""
"<p>Could not convert: %s<p>It is a <a href=\"%s\">DRM</a>ed book. You must "
"first remove the DRM using third party tools."
@ -6488,19 +6508,19 @@ msgstr ""
"href=\"%s\">DRM</a>. Vous devez d'abord enlever les DRM avec des outils "
"tiers."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1642
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1646
msgid "<b>Failed</b>"
msgstr "<b>Échoué</b>"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1670
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1674
msgid "Invalid library location"
msgstr "Emplacement de la librairie invalide"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1671
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1675
msgid "Could not access %s. Using %s as the library."
msgstr "Impossible d'accéder à %s. Utilise %s comme librairie."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1719
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1723
msgid ""
"is the result of the efforts of many volunteers from all over the world. If "
"you find it useful, please consider donating to support its development."
@ -6509,11 +6529,11 @@ msgstr ""
"Si vous le trouvez utile, pensez à donner afin de supporter son "
"développement."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1744
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr "Il y a des travaux actifs. Voulez-vous vraiment finir ?"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1747
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1751
msgid ""
" is communicating with the device!<br>\n"
" Quitting may cause corruption on the device.<br>\n"
@ -6524,11 +6544,11 @@ msgstr ""
"l'appareil.<br>\n"
" Êtes-vous sûr de vouloir quitter ?"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1751
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1755
msgid "WARNING: Active jobs"
msgstr "ATTENTION: Travaux actifs"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1803
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1807
msgid ""
"will keep running in the system tray. To close it, choose <b>Quit</b> in the "
"context menu of the system tray."
@ -6536,7 +6556,7 @@ msgstr ""
"continuera à tourner dans la zone de notification. Pour le fermer, choisir "
"<b>Quitter</b> dans le menu contextuel de la zone de notification."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1822
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1826
msgid ""
"<span style=\"color:red; font-weight:bold\">Latest version: <a "
"href=\"%s\">%s</a></span>"
@ -6544,11 +6564,11 @@ msgstr ""
"<span style=\"color:red; font-weight:bold\">Dernière version: <a "
"href=\"%s\">%s</a></span>"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1830
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1834
msgid "Update available"
msgstr "Mise à jour disponible"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1831
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1835
msgid ""
"%s has been updated to version %s. See the <a href=\"http://calibre-"
"ebook.com/whats-new\">new features</a>. Visit the download page?"
@ -7326,7 +7346,7 @@ msgstr ""
"Le nombre maximum de correspondances retournées par une requête OPDS. Ceci "
"affecte l'intégration dans Stanza, Wordplayer,etc..."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:120
#: /home/kovid/work/calibre/src/calibre/library/cli.py:121
msgid ""
"Path to the calibre library. Default is to use the path stored in the "
"settings."
@ -7334,7 +7354,7 @@ msgstr ""
"Chemin de la librairie calibre. Par défaut : utilise celui indiqué dans les "
"paramètres."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:201
#: /home/kovid/work/calibre/src/calibre/library/cli.py:200
msgid ""
"%prog list [options]\n"
"\n"
@ -7344,7 +7364,7 @@ msgstr ""
"\n"
"Lister les livres disponibles dans la base calibre.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:209
#: /home/kovid/work/calibre/src/calibre/library/cli.py:208
msgid ""
"The fields to display when listing books in the database. Should be a comma "
"separated list of fields.\n"
@ -7359,7 +7379,7 @@ msgstr ""
"sélectionner tous les champs. Ceci n'affecte que le format du texte en "
"sortie."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:211
#: /home/kovid/work/calibre/src/calibre/library/cli.py:210
msgid ""
"The field by which to sort the results.\n"
"Available fields: %s\n"
@ -7369,11 +7389,11 @@ msgstr ""
"Champs disponibles: %s\n"
"Par défaut: %%default"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:213
#: /home/kovid/work/calibre/src/calibre/library/cli.py:212
msgid "Sort results in ascending order"
msgstr "Trier les résultats dans l'ordre ascendant"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:215
#: /home/kovid/work/calibre/src/calibre/library/cli.py:214
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search related documentation in the User Manual. Default is "
@ -7383,7 +7403,7 @@ msgstr ""
"la requête de recherche, veuillez consulter la section recherche dans le "
"manuel utilisateur. Par défaut n'effectue aucun filtrage"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:217
#: /home/kovid/work/calibre/src/calibre/library/cli.py:216
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
@ -7391,11 +7411,11 @@ msgstr ""
"Largeur maximum pour une seule ligne en sortie. Par défaut détecte la taille "
"de l'écran."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:218
#: /home/kovid/work/calibre/src/calibre/library/cli.py:217
msgid "The string used to separate fields. Default is a space."
msgstr "La chaîne utilisée pour séparer des champs. Par défaut : un espace"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:219
#: /home/kovid/work/calibre/src/calibre/library/cli.py:218
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
@ -7403,7 +7423,7 @@ msgstr ""
"Le préfixe pour tous les chemins. Par défaut : Le chemin absolu du "
"répertoire de la librairie."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:222
#: /home/kovid/work/calibre/src/calibre/library/cli.py:221
msgid ""
"The format in which to output the data. Available choices: %s. Defaults is "
"text."
@ -7411,15 +7431,15 @@ msgstr ""
"Format souhaité pour l'affichage des données. Choix disponibles: %s. Par "
"défaut: texte."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:235
#: /home/kovid/work/calibre/src/calibre/library/cli.py:234
msgid "Invalid fields. Available fields:"
msgstr "Champs invalides. Champs disponibles:"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:242
#: /home/kovid/work/calibre/src/calibre/library/cli.py:241
msgid "Invalid sort field. Available fields:"
msgstr "Champ de tri invalide. Champs disponibles:"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
#: /home/kovid/work/calibre/src/calibre/library/cli.py:312
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
@ -7427,7 +7447,7 @@ msgstr ""
"Les livres suivants ne seront pas ajoutés car ils existent déjà dans la base "
"de données (voir l'option --duplicates):"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:336
#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@ -7441,7 +7461,7 @@ msgstr ""
"pouvez aussi spécifier des répertoires, voir les options décrivant les "
"répertoires ci-dessous.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:345
#: /home/kovid/work/calibre/src/calibre/library/cli.py:344
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
@ -7449,11 +7469,11 @@ msgstr ""
"Supposer que chaque répertoire dispose d'un livre logique et que tous les "
"fichiers dans celui-ci sont des formats différents de ce même livre."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:347
#: /home/kovid/work/calibre/src/calibre/library/cli.py:346
msgid "Process directories recursively"
msgstr "Traite les répertoires récursivement"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:349
#: /home/kovid/work/calibre/src/calibre/library/cli.py:348
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
@ -7461,11 +7481,11 @@ msgstr ""
"Ajouter les livres dans la base de données même s'ils existent déjà. La "
"comparaison est basée sur les titres des ebooks."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:359
#: /home/kovid/work/calibre/src/calibre/library/cli.py:358
msgid "You must specify at least one file to add"
msgstr "Vous devez spécifier au moins un fichier à ajouter"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:375
#: /home/kovid/work/calibre/src/calibre/library/cli.py:374
msgid ""
"%prog remove ids\n"
"\n"
@ -7480,11 +7500,11 @@ msgstr ""
"la liste des identifiants à l'aide de la commande list). Par exemple, "
"23,34,57-85\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:390
#: /home/kovid/work/calibre/src/calibre/library/cli.py:389
msgid "You must specify at least one book to remove"
msgstr "Vous devez spécifier au moins un fichier à supprimer"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:409
#: /home/kovid/work/calibre/src/calibre/library/cli.py:408
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
@ -7498,15 +7518,15 @@ msgstr ""
"logique identifié par id. Vous pouvez obtenir l'identifiant à l'aide de la "
"commande list. Si le format existe déjà, il sera remplacé.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:424
#: /home/kovid/work/calibre/src/calibre/library/cli.py:423
msgid "You must specify an id and an ebook file"
msgstr "Veuillez indiquer une identification et le fichier ebook."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:429
#: /home/kovid/work/calibre/src/calibre/library/cli.py:428
msgid "ebook file must have an extension"
msgstr "Les fichiers de livres électroniques doivent avoir une extension"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:437
#: /home/kovid/work/calibre/src/calibre/library/cli.py:436
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@ -7523,11 +7543,11 @@ msgstr ""
"extension de fichier comme LRF, TXT ou EPUB. Si le fichier logique n'a pas "
"de format fmt disponible, n'effectue aucune action.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:454
#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
msgid "You must specify an id and a format"
msgstr "Vous devez spécifier un identifiant et un format"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:472
#: /home/kovid/work/calibre/src/calibre/library/cli.py:471
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@ -7543,15 +7563,15 @@ msgstr ""
"livre identifié par id.\n"
"id est un identifiant obtenu à l'aide de la commande list.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:480
#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
msgid "Print metadata in OPF form (XML)"
msgstr "Imprimer les métadonnées dans un formulaire OPF (XML)"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
#: /home/kovid/work/calibre/src/calibre/library/cli.py:488
msgid "You must specify an id"
msgstr "Vous devez spécifier un identifiant"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:502
#: /home/kovid/work/calibre/src/calibre/library/cli.py:501
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@ -7574,11 +7594,11 @@ msgstr ""
"ajouté à la\n"
"commande show_metadata.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:518
#: /home/kovid/work/calibre/src/calibre/library/cli.py:517
msgid "You must specify an id and a metadata file"
msgstr "Vous devez spécifier un identifiant et un fichier de métadonnées"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:538
#: /home/kovid/work/calibre/src/calibre/library/cli.py:537
msgid ""
"%prog export [options] ids\n"
"\n"
@ -7597,28 +7617,28 @@ msgstr ""
"un fichier opf). Vous pouvez obtenir les numéros id à partir de la commande "
"list.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:546
#: /home/kovid/work/calibre/src/calibre/library/cli.py:545
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
"Exporter tous les livres dans la base, ignorer la liste des identifiants"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:548
#: /home/kovid/work/calibre/src/calibre/library/cli.py:547
msgid "Export books to the specified directory. Default is"
msgstr "Exporter les livres vers le répertoire spécifié. Par défaut"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:550
#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid "Export all books into a single directory"
msgstr "Exporter les livres vers un seul répertoire"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:557
#: /home/kovid/work/calibre/src/calibre/library/cli.py:556
msgid "Specifying this switch will turn this behavior off."
msgstr "Spécifier cette bascule desactivera ce comportement."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/cli.py:579
msgid "You must specify some ids or the %s option"
msgstr "Vous devez spécifier des identifiants ou l'option %s"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
#: /home/kovid/work/calibre/src/calibre/library/cli.py:591
msgid ""
"%%prog command [options] [arguments]\n"
"\n"

View File

@ -8,14 +8,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre_calibre-it\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-02 22:46+0000\n"
"PO-Revision-Date: 2009-12-03 00:22+0000\n"
"Last-Translator: Kovid Goyal <Unknown>\n"
"POT-Creation-Date: 2009-12-05 16:18+0000\n"
"PO-Revision-Date: 2009-12-06 22:56+0000\n"
"Last-Translator: oishi56 <oishi56@me.com>\n"
"Language-Team: italiano\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2009-12-03 04:39+0000\n"
"X-Launchpad-Export-Date: 2009-12-08 04:38+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"Generated-By: pygettext.py 1.5\n"
@ -43,8 +43,8 @@ msgstr "Non fa assolutamente niente"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:256
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:259
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:359
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:23
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:60
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:46
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:62
@ -57,8 +57,8 @@ msgstr "Non fa assolutamente niente"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:894
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:39
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:28
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:18
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:22
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:48
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/topaz.py:29
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:14
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:44
@ -70,9 +70,9 @@ msgstr "Non fa assolutamente niente"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:778
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:893
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:898
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:958
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:900
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:960
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:137
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:139
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:105
@ -122,7 +122,7 @@ msgstr "Non fa assolutamente niente"
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:877
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1003
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:211
#: /home/kovid/work/calibre/src/calibre/library/cli.py:282
#: /home/kovid/work/calibre/src/calibre/library/cli.py:281
#: /home/kovid/work/calibre/src/calibre/library/database.py:913
#: /home/kovid/work/calibre/src/calibre/library/database2.py:702
#: /home/kovid/work/calibre/src/calibre/library/database2.py:714
@ -159,7 +159,7 @@ msgstr "Lettore metadati"
msgid "Metadata writer"
msgstr "Scrittore metadati"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:13
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:14
msgid ""
"Follow all local links in an HTML file and create a ZIP file containing all "
"linked files. This plugin is run every time you add an HTML file to the "
@ -169,7 +169,7 @@ msgstr ""
"tutti i file collegati. Questo plug-in viene eseguito ogni volta che si "
"aggiunge un file HTML alla libreria."
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:48
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:49
msgid ""
"Character encoding for the input HTML files. Common choices include: cp1252, "
"latin1, iso-8859-1 and utf-8."
@ -178,46 +178,53 @@ msgstr ""
"iso-8859-1 e utf-8."
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:56
msgid ""
"Create a PMLZ archive containing the PML file and all images in the "
"directory pmlname_img or images. This plugin is run every time you add a PML "
"file to the library."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:87
msgid "Extract cover from comic files"
msgstr "Estrae le copertine dai file dei fumetti"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:77
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:89
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:99
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:109
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:108
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:120
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:130
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:140
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:150
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:160
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:170
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:151
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:161
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:171
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:181
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:192
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:204
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:225
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:236
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:246
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:191
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:201
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:212
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:223
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:235
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:256
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:267
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:277
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:287
msgid "Read metadata from %s files"
msgstr "Legge i metadati da file %s"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:215
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:246
msgid "Read metadata from ebooks in RAR archives"
msgstr "Leggi i metadati dai libri negli archivi RAR"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:267
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:298
msgid "Read metadata from ebooks in ZIP archives"
msgstr "Leggi i metadati dai libri negli archivi ZIP"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:278
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:288
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:298
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:320
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:331
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:309
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:319
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:329
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:351
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:362
msgid "Set metadata in %s files"
msgstr "Organizza i metadati in %s file"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:309
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:340
msgid "Set metadata from %s files"
msgstr "imposta metadati da %s file"
@ -1306,8 +1313,8 @@ msgstr ""
"specificata una, viene generata una copertina di default con il titolo, "
"l'autore, etc. Questa opzione disabilita la generazione di questa copertina."
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:126
#: /home/kovid/work/calibre/src/calibre/ebooks/pml/pmlml.py:113
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:130
#: /home/kovid/work/calibre/src/calibre/ebooks/pml/pmlml.py:114
#: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:101
#: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:77
msgid "Table of Contents:"
@ -1857,21 +1864,21 @@ msgstr ""
msgid "Download %s from %s"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:135
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:137
msgid "Downloads metadata from Google Books"
msgstr "Scarica i metadati da Google Books"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:151
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:153
msgid "Downloads metadata from isbndb.com"
msgstr "Scarica i metadati da isbndb.com"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:179
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:181
msgid ""
"To use isbndb.com you must sign up for a %sfree account%s and enter your "
"access key below."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:187
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:189
msgid "Downloads social metadata from amazon.com"
msgstr ""
@ -1939,7 +1946,7 @@ msgstr ""
"LibraryThing.com\n"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1083
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1321
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1323
msgid "Cover"
msgstr "Copertina"
@ -1970,70 +1977,70 @@ msgstr ""
msgid "All articles"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1322
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1324
msgid "Title Page"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1323
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1325
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:51
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168
msgid "Table of Contents"
msgstr "Sommario"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1324
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1326
msgid "Index"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1325
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1327
msgid "Glossary"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1326
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1328
msgid "Acknowledgements"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1327
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1329
msgid "Bibliography"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1328
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1330
msgid "Colophon"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1329
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1331
msgid "Copyright"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1330
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1332
msgid "Dedication"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1331
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1333
msgid "Epigraph"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1332
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1334
msgid "Foreword"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1333
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1335
msgid "List of Illustrations"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1334
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1336
msgid "List of Tables"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1335
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1337
msgid "Notes"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1336
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1338
msgid "Preface"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1337
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1339
msgid "Main Text"
msgstr ""
@ -2098,11 +2105,11 @@ msgid ""
"Generate an Adobe \"page-map\" file if pagination information is available."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:119
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:126
msgid "Footnotes"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:128
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:135
msgid "Sidebar"
msgstr ""
@ -3275,7 +3282,7 @@ msgid "RB Output"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:77
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1416
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1420
msgid "Choose the format to view"
msgstr "Scegliere il formato da leggere"
@ -3896,7 +3903,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:811
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:158
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1090
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1094
#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:53
msgid "Error"
msgstr "Errore"
@ -4591,7 +4598,7 @@ msgid "Choose formats for "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:136
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:921
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:925
msgid "Books"
msgstr "Libri"
@ -5490,52 +5497,52 @@ msgstr "Apri libro"
msgid "Configure"
msgstr "Configurazione"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:25
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:24
msgid "Use the library located at the specified path."
msgstr "Usa la biblioteca collocata nel percorso specificato."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:27
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:26
msgid "Start minimized to system tray."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:29
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:28
msgid "Log debugging information to console"
msgstr "Invia le informazioni di debug alla console"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:31
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:30
msgid "Do not check for updates"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:80
msgid "If you are sure it is not running"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:81
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:82
msgid "Cannot Start "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:82
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:83
msgid "%s is already running."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86
msgid "may be running in the system tray, in the"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88
msgid "upper right region of the screen."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:90
msgid "lower right region of the screen."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:92
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:93
msgid "try rebooting your computer."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:94
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:106
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:95
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:107
msgid "try deleting the file"
msgstr ""
@ -5861,7 +5868,7 @@ msgid "Save to disk in a single directory"
msgstr "Salva su disco in una singola cartella"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:306
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1518
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1522
msgid "Save only %s format to disk"
msgstr "Salva sul disco solo il formato %s"
@ -5896,7 +5903,7 @@ msgid "Calibre Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:464
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1661
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1665
msgid "Choose a location for your ebook library."
msgstr "Scegliere un percorso per la propria biblioteca."
@ -5949,170 +5956,178 @@ msgstr ""
" </ol>\n"
" "
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:913
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:956
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:872
msgid "How many empty books?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:873
msgid "How many empty books should be added?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:917
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:960
msgid "Uploading books to device."
msgstr "Caricamento libri nel dispositivo."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:922
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:926
msgid "EPUB Books"
msgstr "Libri EPUB"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:923
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:927
msgid "LRF Books"
msgstr "Libri LRF"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:924
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:928
msgid "HTML Books"
msgstr "Libri HTML"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:925
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:929
msgid "LIT Books"
msgstr "Libri LIT"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:926
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:930
msgid "MOBI Books"
msgstr "Libri MOBI"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:927
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:931
msgid "Text books"
msgstr "Libri TXT"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:928
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:932
msgid "PDF Books"
msgstr "Libri PDF"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:929
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:933
msgid "Comics"
msgstr "Fumetti"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:930
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:934
msgid "Archives"
msgstr "Archivi"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:965
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:969
msgid "Failed to read metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:966
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:970
msgid "Failed to read metadata from the following"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:985
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:989
msgid ""
"The selected books will be <b>permanently deleted</b> and the files removed "
"from your computer. Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1012
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1016
msgid "Deleting books from device."
msgstr "Cancellamento libri dal dispositivo."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1043
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1047
msgid "Cannot download metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1044
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1101
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1134
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1159
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1271
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1048
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1105
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1138
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1163
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1275
msgid "No books selected"
msgstr "Nessun libro selezionato"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1059
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1063
msgid "social metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1061
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1065
msgid "covers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1061
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1065
msgid "metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1063
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1067
msgid "Downloading %s for %d book(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1085
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1089
msgid "Failed to download some metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1086
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1090
msgid "Failed to download metadata for the following:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1093
msgid "Failed to download metadata:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1100
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1133
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1104
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1137
msgid "Cannot edit metadata"
msgstr "Impossibile modificare i metadati"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1158
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1162
msgid "Cannot save to disk"
msgstr "Impossibile salvare sul disco"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1161
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1165
msgid "Choose destination directory"
msgstr "Scegliere la cartella di destinazione"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1188
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1192
msgid "Error while saving"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1189
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1193
msgid "There was an error while saving."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1196
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1197
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1200
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1201
msgid "Could not save some books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1198
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1202
msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1217
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1221
msgid "Fetching news from "
msgstr "Scaricamento notizie da "
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1230
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1234
msgid " fetched."
msgstr " preso."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1270
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1274
msgid "Cannot convert"
msgstr "Impossibile convertire"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1299
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1303
msgid "Starting conversion of %d book(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1410
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1429
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1414
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1433
msgid "No book selected"
msgstr "Nessun libro selezionato"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1410
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1460
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1414
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1464
msgid "Cannot view"
msgstr "Impossibile leggere"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1428
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1432
msgid "Cannot open folder"
msgstr "Impossibile aprire la cartella"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1445
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1449
msgid "Multiple Books Selected"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1446
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1450
msgid ""
"You are attempting to open %d books. Opening too many books at once can be "
"slow and have a negative effect on the responsiveness of your computer. Once "
@ -6120,33 +6135,33 @@ msgid ""
"continue?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1461
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1465
msgid "%s has no available formats."
msgstr "%s non ha formati disponibili"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1502
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1506
msgid "Cannot configure"
msgstr "Impossibile configurare"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1503
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1507
msgid "Cannot configure while there are running jobs."
msgstr "Impossibile configurare mentre ci sono lavori in esecuzione"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1546
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1550
msgid "No detailed info available"
msgstr "Nessuna informazione dettagliata disponibile"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1547
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1551
msgid "No detailed information is available for books on the device."
msgstr ""
"Non è disponibile alcuna informazione dettagliata per i libri nel "
"dispositivo."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1599
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1603
msgid "Error talking to device"
msgstr "Errore di comunicazione col dispositivo"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1600
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1604
msgid ""
"There was a temporary error talking to the device. Please unplug and "
"reconnect the device and or reboot."
@ -6154,30 +6169,30 @@ msgstr ""
"Si è verificato un errore di comunicazione temporaneo col dispositivo. "
"Disconnettere e riconnettere il dispositivo e/o riavviare"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1623
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1641
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1627
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1645
msgid "Conversion Error"
msgstr "Errore di conversione"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1624
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1628
msgid ""
"<p>Could not convert: %s<p>It is a <a href=\"%s\">DRM</a>ed book. You must "
"first remove the DRM using third party tools."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1642
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1646
msgid "<b>Failed</b>"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1670
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1674
msgid "Invalid library location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1671
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1675
msgid "Could not access %s. Using %s as the library."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1719
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1723
msgid ""
"is the result of the efforts of many volunteers from all over the world. If "
"you find it useful, please consider donating to support its development."
@ -6185,22 +6200,22 @@ msgstr ""
"è il risultato degli sforzi di tanti volontari da tutto il mondo. Se lo "
"trovi utile, puoi fare una donazione per supportare il suo sviluppo."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1744
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr "Ci sono lavori attivi. Uscire comunque?"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1747
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1751
msgid ""
" is communicating with the device!<br>\n"
" Quitting may cause corruption on the device.<br>\n"
" Are you sure you want to quit?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1751
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1755
msgid "WARNING: Active jobs"
msgstr "ATTENZIONE: Lavori attivi"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1803
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1807
msgid ""
"will keep running in the system tray. To close it, choose <b>Quit</b> in the "
"context menu of the system tray."
@ -6208,7 +6223,7 @@ msgstr ""
"continuerà a lavorare nel vassoio di sistema. Per chiuderlo, selezionare "
"<b>Esci</b> nel menu contestuale del vassoio di sistema."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1822
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1826
msgid ""
"<span style=\"color:red; font-weight:bold\">Latest version: <a "
"href=\"%s\">%s</a></span>"
@ -6216,11 +6231,11 @@ msgstr ""
"<span style=\"color:red; font-weight:bold\">Ultima versione: <a "
"href=\"%s\">%s</a></span>"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1830
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1834
msgid "Update available"
msgstr "Aggiornamento disponibile"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1831
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1835
msgid ""
"%s has been updated to version %s. See the <a href=\"http://calibre-"
"ebook.com/whats-new\">new features</a>. Visit the download page?"
@ -6936,7 +6951,7 @@ msgid ""
"WordPlayer, etc. integration."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:120
#: /home/kovid/work/calibre/src/calibre/library/cli.py:121
msgid ""
"Path to the calibre library. Default is to use the path stored in the "
"settings."
@ -6944,7 +6959,7 @@ msgstr ""
"Percorso alla biblioteca di calibre. L'impostazione predefinita è quella di "
"usare il percorso salvato nelle impostazioni."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:201
#: /home/kovid/work/calibre/src/calibre/library/cli.py:200
msgid ""
"%prog list [options]\n"
"\n"
@ -6954,7 +6969,7 @@ msgstr ""
"\n"
"Elenca i libri disponibili nel database di calibre.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:209
#: /home/kovid/work/calibre/src/calibre/library/cli.py:208
msgid ""
"The fields to display when listing books in the database. Should be a comma "
"separated list of fields.\n"
@ -6969,7 +6984,7 @@ msgstr ""
"selezionare tutti i campi. Ha effetto solamente nel formato in uscita del "
"testo."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:211
#: /home/kovid/work/calibre/src/calibre/library/cli.py:210
msgid ""
"The field by which to sort the results.\n"
"Available fields: %s\n"
@ -6979,11 +6994,11 @@ msgstr ""
"Campi disponibili: %s\n"
"Predefinito: %%default"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:213
#: /home/kovid/work/calibre/src/calibre/library/cli.py:212
msgid "Sort results in ascending order"
msgstr "Ordina i risultati in ordine crescente"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:215
#: /home/kovid/work/calibre/src/calibre/library/cli.py:214
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search related documentation in the User Manual. Default is "
@ -6993,7 +7008,7 @@ msgstr ""
"documentazione relativa alla ricerca nel Manuale Utente. L'opzione "
"predefinita è quella di non filtrare."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:217
#: /home/kovid/work/calibre/src/calibre/library/cli.py:216
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
@ -7001,11 +7016,11 @@ msgstr ""
"La larghezza massima di una singola linea nell'output. L'impostazione "
"predefinita è quella di rilevare la dimensione dello schermo."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:218
#: /home/kovid/work/calibre/src/calibre/library/cli.py:217
msgid "The string used to separate fields. Default is a space."
msgstr "La stringa usata per separare i campi. Predefinita: spazio."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:219
#: /home/kovid/work/calibre/src/calibre/library/cli.py:218
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
@ -7013,7 +7028,7 @@ msgstr ""
"Il prefisso per tutti i percorsi. L'impostazione predefinita è il percorso "
"alla cartella della biblioteca."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:222
#: /home/kovid/work/calibre/src/calibre/library/cli.py:221
msgid ""
"The format in which to output the data. Available choices: %s. Defaults is "
"text."
@ -7021,15 +7036,15 @@ msgstr ""
"Il formato in cui fornire i dati. Scelte disponibili: %s. Il formato "
"predefinito è: testo."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:235
#: /home/kovid/work/calibre/src/calibre/library/cli.py:234
msgid "Invalid fields. Available fields:"
msgstr "Campi non validi. Campi disponibili:"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:242
#: /home/kovid/work/calibre/src/calibre/library/cli.py:241
msgid "Invalid sort field. Available fields:"
msgstr "Campo per l'ordinamento non valido. Campi disponibili:"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
#: /home/kovid/work/calibre/src/calibre/library/cli.py:312
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
@ -7037,7 +7052,7 @@ msgstr ""
"I seguenti libri non sono stati aggiunti perché già esistenti nel database "
"(vedere l'opzione --duplicates):"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:336
#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@ -7051,7 +7066,7 @@ msgstr ""
"specificare cartelle, vedere\n"
"la cartella sottostante relativa alle opzioni.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:345
#: /home/kovid/work/calibre/src/calibre/library/cli.py:344
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
@ -7059,21 +7074,21 @@ msgstr ""
"Assume che ogni cartella abbia un solo libro logico e che tutti i file "
"presenti siano diversi formati per quel libro"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:347
#: /home/kovid/work/calibre/src/calibre/library/cli.py:346
msgid "Process directories recursively"
msgstr "Processa cartelle ricorsivamente"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:349
#: /home/kovid/work/calibre/src/calibre/library/cli.py:348
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr "Aggiunge libri al database anche se esistono già."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:359
#: /home/kovid/work/calibre/src/calibre/library/cli.py:358
msgid "You must specify at least one file to add"
msgstr "È necessario specificare almeno un file da aggiungere"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:375
#: /home/kovid/work/calibre/src/calibre/library/cli.py:374
msgid ""
"%prog remove ids\n"
"\n"
@ -7087,11 +7102,11 @@ msgstr ""
"separata da virgole di numeri id (è possibile ottenere i numeri id usando il "
"comando list). Ad esempio: 23,34,57-85\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:390
#: /home/kovid/work/calibre/src/calibre/library/cli.py:389
msgid "You must specify at least one book to remove"
msgstr "È necessario specificare almeno un libro da aggiungere"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:409
#: /home/kovid/work/calibre/src/calibre/library/cli.py:408
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
@ -7105,15 +7120,15 @@ msgstr ""
"identificato da id. È possibile ottenere gli id usando il comando list. Se "
"il formato esiste già, verrà sovrascritto.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:424
#: /home/kovid/work/calibre/src/calibre/library/cli.py:423
msgid "You must specify an id and an ebook file"
msgstr "È necessario specificare un id e un file ebook"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:429
#: /home/kovid/work/calibre/src/calibre/library/cli.py:428
msgid "ebook file must have an extension"
msgstr "I file ebook devono avere un'estensione"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:437
#: /home/kovid/work/calibre/src/calibre/library/cli.py:436
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@ -7130,11 +7145,11 @@ msgstr ""
"file come LRF, TXT o EPUB. Se il libro logico non ha un fmt disponibile, non "
"fa niente.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:454
#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
msgid "You must specify an id and a format"
msgstr "È necessario specificare un id e un formato"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:472
#: /home/kovid/work/calibre/src/calibre/library/cli.py:471
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@ -7150,15 +7165,15 @@ msgstr ""
"con id.\n"
"id è un numero dalla lista dei comandi.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:480
#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
msgid "Print metadata in OPF form (XML)"
msgstr "Stampa i metafati in formato OPF (XML)"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
#: /home/kovid/work/calibre/src/calibre/library/cli.py:488
msgid "You must specify an id"
msgstr "È necessario specificare un id"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:502
#: /home/kovid/work/calibre/src/calibre/library/cli.py:501
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@ -7180,11 +7195,11 @@ msgstr ""
"nel\n"
"comando show_metadata.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:518
#: /home/kovid/work/calibre/src/calibre/library/cli.py:517
msgid "You must specify an id and a metadata file"
msgstr "È necessario specificare un id e un file di metadati"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:538
#: /home/kovid/work/calibre/src/calibre/library/cli.py:537
msgid ""
"%prog export [options] ids\n"
"\n"
@ -7202,27 +7217,27 @@ msgstr ""
"(in un file opf). È possibile prendere i numeri di id dalla lista dei "
"comandi.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:546
#: /home/kovid/work/calibre/src/calibre/library/cli.py:545
msgid "Export all books in database, ignoring the list of ids."
msgstr "Esporta tutti i libri del database, ignorando la lista di id."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:548
#: /home/kovid/work/calibre/src/calibre/library/cli.py:547
msgid "Export books to the specified directory. Default is"
msgstr "Esporta i libri nella cartella specificata. Predefinita:"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:550
#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid "Export all books into a single directory"
msgstr "Esporta tutti i libri nella stessa cartella"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:557
#: /home/kovid/work/calibre/src/calibre/library/cli.py:556
msgid "Specifying this switch will turn this behavior off."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/cli.py:579
msgid "You must specify some ids or the %s option"
msgstr "È necessario specificare qualche id o l'opzione %s"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
#: /home/kovid/work/calibre/src/calibre/library/cli.py:591
msgid ""
"%%prog command [options] [arguments]\n"
"\n"

File diff suppressed because it is too large Load Diff

View File

@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-12-02 22:46+0000\n"
"PO-Revision-Date: 2009-12-03 03:32+0000\n"
"POT-Creation-Date: 2009-12-04 21:05+0000\n"
"PO-Revision-Date: 2009-12-04 20:16+0000\n"
"Last-Translator: Kovid Goyal <Unknown>\n"
"Language-Team: Latvian <ivars_a@inbox.lv>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2009-12-03 04:39+0000\n"
"X-Launchpad-Export-Date: 2009-12-05 04:36+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"X-Poedit-Country: LATVIA\n"
"X-Poedit-Language: Latvian\n"
@ -43,8 +43,8 @@ msgstr "Pilnīgi neko nedara"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:256
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:259
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:359
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:23
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:60
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:46
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:62
@ -57,8 +57,8 @@ msgstr "Pilnīgi neko nedara"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:894
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:39
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:28
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:18
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:22
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:48
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/topaz.py:29
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:14
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:44
@ -70,9 +70,9 @@ msgstr "Pilnīgi neko nedara"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:778
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:893
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:898
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:958
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:900
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:960
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:137
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:139
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:105
@ -122,7 +122,7 @@ msgstr "Pilnīgi neko nedara"
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:877
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1003
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:211
#: /home/kovid/work/calibre/src/calibre/library/cli.py:282
#: /home/kovid/work/calibre/src/calibre/library/cli.py:281
#: /home/kovid/work/calibre/src/calibre/library/database.py:913
#: /home/kovid/work/calibre/src/calibre/library/database2.py:702
#: /home/kovid/work/calibre/src/calibre/library/database2.py:714
@ -159,60 +159,72 @@ msgstr "Metadatu lasītājs"
msgid "Metadata writer"
msgstr "Metadatu rakstītājs"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:13
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:14
msgid ""
"Follow all local links in an HTML file and create a ZIP file containing all "
"linked files. This plugin is run every time you add an HTML file to the "
"library."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:48
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:49
msgid ""
"Character encoding for the input HTML files. Common choices include: cp1252, "
"latin1, iso-8859-1 and utf-8."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:56
msgid ""
" Create a PMLZ archive containing the PML file and all images "
"in the directory pmlname_img or images file containing all linked "
"files. This plugin is run every time you add an PML file to the "
"library. "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:87
msgid "Character encoding for the input PML files. Should ways be: cp1252."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94
msgid "Extract cover from comic files"
msgstr "Izvilkt vāku no komiksu failiem"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:77
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:89
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:99
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:109
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:120
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:130
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:140
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:150
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:160
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:170
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:181
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:192
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:204
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:225
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:236
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:246
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:256
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:127
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:137
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:147
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:158
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:168
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:178
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:188
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:198
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:208
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:219
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:230
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:242
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:263
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:274
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:284
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:294
msgid "Read metadata from %s files"
msgstr "Lasīt metadatus no %s failiem"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:215
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:253
msgid "Read metadata from ebooks in RAR archives"
msgstr "Lasīt metadatus no e-grāmatām RAR arhīvos"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:267
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:305
msgid "Read metadata from ebooks in ZIP archives"
msgstr "Lasīt metadatus no e-grāmatām ZIP arhīvos"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:278
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:288
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:298
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:320
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:331
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:316
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:326
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:336
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:358
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:369
msgid "Set metadata in %s files"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:309
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:347
msgid "Set metadata from %s files"
msgstr ""
@ -1144,7 +1156,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:126
#: /home/kovid/work/calibre/src/calibre/ebooks/pml/pmlml.py:113
#: /home/kovid/work/calibre/src/calibre/ebooks/pml/pmlml.py:114
#: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:101
#: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:77
msgid "Table of Contents:"
@ -1712,7 +1724,7 @@ msgid ""
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1083
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1321
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1323
msgid "Cover"
msgstr "Vāks"
@ -1743,70 +1755,70 @@ msgstr ""
msgid "All articles"
msgstr "Visi raksti"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1322
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1324
msgid "Title Page"
msgstr "Titullapa"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1323
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1325
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:51
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168
msgid "Table of Contents"
msgstr "Satura rādītājs"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1324
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1326
msgid "Index"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1325
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1327
msgid "Glossary"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1326
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1328
msgid "Acknowledgements"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1327
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1329
msgid "Bibliography"
msgstr "Bibliogrāfija"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1328
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1330
msgid "Colophon"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1329
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1331
msgid "Copyright"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1330
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1332
msgid "Dedication"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1331
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1333
msgid "Epigraph"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1332
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1334
msgid "Foreword"
msgstr "Priekšvārds"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1333
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1335
msgid "List of Illustrations"
msgstr "Ilustrāciju saraksts"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1334
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1336
msgid "List of Tables"
msgstr "Tabulu saraksts"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1335
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1337
msgid "Notes"
msgstr "Piezīmes"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1336
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1338
msgid "Preface"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1337
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1339
msgid "Main Text"
msgstr ""
@ -1868,11 +1880,11 @@ msgid ""
"Generate an Adobe \"page-map\" file if pagination information is available."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:119
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:126
msgid "Footnotes"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:128
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:135
msgid "Sidebar"
msgstr ""
@ -3033,7 +3045,7 @@ msgid "RB Output"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:77
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1416
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1420
msgid "Choose the format to view"
msgstr ""
@ -3649,7 +3661,7 @@ msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:811
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:158
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1090
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1094
#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:53
msgid "Error"
msgstr ""
@ -4325,7 +4337,7 @@ msgid "Choose formats for "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:136
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:921
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:925
msgid "Books"
msgstr ""
@ -5198,52 +5210,52 @@ msgstr "Atvērt e-grāmatu"
msgid "Configure"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:25
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:24
msgid "Use the library located at the specified path."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:27
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:26
msgid "Start minimized to system tray."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:29
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:28
msgid "Log debugging information to console"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:31
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:30
msgid "Do not check for updates"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:80
msgid "If you are sure it is not running"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:81
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:82
msgid "Cannot Start "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:82
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:83
msgid "%s is already running."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86
msgid "may be running in the system tray, in the"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88
msgid "upper right region of the screen."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:90
msgid "lower right region of the screen."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:92
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:93
msgid "try rebooting your computer."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:94
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:106
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:95
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:107
msgid "try deleting the file"
msgstr ""
@ -5571,7 +5583,7 @@ msgid "Save to disk in a single directory"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:306
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1518
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1522
msgid "Save only %s format to disk"
msgstr ""
@ -5606,7 +5618,7 @@ msgid "Calibre Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:464
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1661
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1665
msgid "Choose a location for your ebook library."
msgstr ""
@ -5646,170 +5658,178 @@ msgid ""
" "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:913
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:956
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:872
msgid "How many empty books?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:873
msgid "How many empty boks should be added?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:917
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:960
msgid "Uploading books to device."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:922
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:926
msgid "EPUB Books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:923
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:927
msgid "LRF Books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:924
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:928
msgid "HTML Books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:925
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:929
msgid "LIT Books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:926
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:930
msgid "MOBI Books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:927
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:931
msgid "Text books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:928
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:932
msgid "PDF Books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:929
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:933
msgid "Comics"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:930
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:934
msgid "Archives"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:965
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:969
msgid "Failed to read metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:966
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:970
msgid "Failed to read metadata from the following"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:985
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:989
msgid ""
"The selected books will be <b>permanently deleted</b> and the files removed "
"from your computer. Are you sure?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1012
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1016
msgid "Deleting books from device."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1043
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1047
msgid "Cannot download metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1044
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1101
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1134
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1159
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1271
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1048
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1105
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1138
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1163
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1275
msgid "No books selected"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1059
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1063
msgid "social metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1061
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1065
msgid "covers"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1061
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1065
msgid "metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1063
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1067
msgid "Downloading %s for %d book(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1085
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1089
msgid "Failed to download some metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1086
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1090
msgid "Failed to download metadata for the following:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1093
msgid "Failed to download metadata:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1100
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1133
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1104
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1137
msgid "Cannot edit metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1158
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1162
msgid "Cannot save to disk"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1161
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1165
msgid "Choose destination directory"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1188
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1192
msgid "Error while saving"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1189
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1193
msgid "There was an error while saving."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1196
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1197
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1200
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1201
msgid "Could not save some books"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1198
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1202
msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1217
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1221
msgid "Fetching news from "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1230
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1234
msgid " fetched."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1270
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1274
msgid "Cannot convert"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1299
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1303
msgid "Starting conversion of %d book(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1410
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1429
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1414
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1433
msgid "No book selected"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1410
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1460
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1414
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1464
msgid "Cannot view"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1428
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1432
msgid "Cannot open folder"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1445
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1449
msgid "Multiple Books Selected"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1446
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1450
msgid ""
"You are attempting to open %d books. Opening too many books at once can be "
"slow and have a negative effect on the responsiveness of your computer. Once "
@ -5817,97 +5837,97 @@ msgid ""
"continue?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1461
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1465
msgid "%s has no available formats."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1502
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1506
msgid "Cannot configure"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1503
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1507
msgid "Cannot configure while there are running jobs."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1546
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1550
msgid "No detailed info available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1547
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1551
msgid "No detailed information is available for books on the device."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1599
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1603
msgid "Error talking to device"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1600
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1604
msgid ""
"There was a temporary error talking to the device. Please unplug and "
"reconnect the device and or reboot."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1623
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1641
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1627
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1645
msgid "Conversion Error"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1624
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1628
msgid ""
"<p>Could not convert: %s<p>It is a <a href=\"%s\">DRM</a>ed book. You must "
"first remove the DRM using third party tools."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1642
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1646
msgid "<b>Failed</b>"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1670
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1674
msgid "Invalid library location"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1671
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1675
msgid "Could not access %s. Using %s as the library."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1719
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1723
msgid ""
"is the result of the efforts of many volunteers from all over the world. If "
"you find it useful, please consider donating to support its development."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1744
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1747
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1751
msgid ""
" is communicating with the device!<br>\n"
" Quitting may cause corruption on the device.<br>\n"
" Are you sure you want to quit?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1751
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1755
msgid "WARNING: Active jobs"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1803
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1807
msgid ""
"will keep running in the system tray. To close it, choose <b>Quit</b> in the "
"context menu of the system tray."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1822
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1826
msgid ""
"<span style=\"color:red; font-weight:bold\">Latest version: <a "
"href=\"%s\">%s</a></span>"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1830
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1834
msgid "Update available"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1831
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1835
msgid ""
"%s has been updated to version %s. See the <a href=\"http://calibre-"
"ebook.com/whats-new\">new features</a>. Visit the download page?"
@ -6610,20 +6630,20 @@ msgid ""
"WordPlayer, etc. integration."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:120
#: /home/kovid/work/calibre/src/calibre/library/cli.py:121
msgid ""
"Path to the calibre library. Default is to use the path stored in the "
"settings."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:201
#: /home/kovid/work/calibre/src/calibre/library/cli.py:200
msgid ""
"%prog list [options]\n"
"\n"
"List the books available in the calibre database.\n"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:209
#: /home/kovid/work/calibre/src/calibre/library/cli.py:208
msgid ""
"The fields to display when listing books in the database. Should be a comma "
"separated list of fields.\n"
@ -6632,61 +6652,61 @@ msgid ""
"fields. Only has effect in the text output format."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:211
#: /home/kovid/work/calibre/src/calibre/library/cli.py:210
msgid ""
"The field by which to sort the results.\n"
"Available fields: %s\n"
"Default: %%default"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:213
#: /home/kovid/work/calibre/src/calibre/library/cli.py:212
msgid "Sort results in ascending order"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:215
#: /home/kovid/work/calibre/src/calibre/library/cli.py:214
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search related documentation in the User Manual. Default is "
"to do no filtering."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:217
#: /home/kovid/work/calibre/src/calibre/library/cli.py:216
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:218
#: /home/kovid/work/calibre/src/calibre/library/cli.py:217
msgid "The string used to separate fields. Default is a space."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:219
#: /home/kovid/work/calibre/src/calibre/library/cli.py:218
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:222
#: /home/kovid/work/calibre/src/calibre/library/cli.py:221
msgid ""
"The format in which to output the data. Available choices: %s. Defaults is "
"text."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:235
#: /home/kovid/work/calibre/src/calibre/library/cli.py:234
msgid "Invalid fields. Available fields:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:242
#: /home/kovid/work/calibre/src/calibre/library/cli.py:241
msgid "Invalid sort field. Available fields:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
#: /home/kovid/work/calibre/src/calibre/library/cli.py:312
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:336
#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@ -6695,27 +6715,27 @@ msgid ""
"the directory related options below.\n"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:345
#: /home/kovid/work/calibre/src/calibre/library/cli.py:344
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:347
#: /home/kovid/work/calibre/src/calibre/library/cli.py:346
msgid "Process directories recursively"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:349
#: /home/kovid/work/calibre/src/calibre/library/cli.py:348
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:359
#: /home/kovid/work/calibre/src/calibre/library/cli.py:358
msgid "You must specify at least one file to add"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:375
#: /home/kovid/work/calibre/src/calibre/library/cli.py:374
msgid ""
"%prog remove ids\n"
"\n"
@ -6724,11 +6744,11 @@ msgid ""
"command). For example, 23,34,57-85\n"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:390
#: /home/kovid/work/calibre/src/calibre/library/cli.py:389
msgid "You must specify at least one book to remove"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:409
#: /home/kovid/work/calibre/src/calibre/library/cli.py:408
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
@ -6737,15 +6757,15 @@ msgid ""
"already exists, it is replaced.\n"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:424
#: /home/kovid/work/calibre/src/calibre/library/cli.py:423
msgid "You must specify an id and an ebook file"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:429
#: /home/kovid/work/calibre/src/calibre/library/cli.py:428
msgid "ebook file must have an extension"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:437
#: /home/kovid/work/calibre/src/calibre/library/cli.py:436
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@ -6755,11 +6775,11 @@ msgid ""
"EPUB. If the logical book does not have fmt available, do nothing.\n"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:454
#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
msgid "You must specify an id and a format"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:472
#: /home/kovid/work/calibre/src/calibre/library/cli.py:471
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@ -6769,15 +6789,15 @@ msgid ""
"id is an id number from the list command.\n"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:480
#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
msgid "Print metadata in OPF form (XML)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
#: /home/kovid/work/calibre/src/calibre/library/cli.py:488
msgid "You must specify an id"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:502
#: /home/kovid/work/calibre/src/calibre/library/cli.py:501
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@ -6790,11 +6810,11 @@ msgid ""
"show_metadata command.\n"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:518
#: /home/kovid/work/calibre/src/calibre/library/cli.py:517
msgid "You must specify an id and a metadata file"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:538
#: /home/kovid/work/calibre/src/calibre/library/cli.py:537
msgid ""
"%prog export [options] ids\n"
"\n"
@ -6805,27 +6825,27 @@ msgid ""
"an opf file). You can get id numbers from the list command.\n"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:546
#: /home/kovid/work/calibre/src/calibre/library/cli.py:545
msgid "Export all books in database, ignoring the list of ids."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:548
#: /home/kovid/work/calibre/src/calibre/library/cli.py:547
msgid "Export books to the specified directory. Default is"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:550
#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid "Export all books into a single directory"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:557
#: /home/kovid/work/calibre/src/calibre/library/cli.py:556
msgid "Specifying this switch will turn this behavior off."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/cli.py:579
msgid "You must specify some ids or the %s option"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
#: /home/kovid/work/calibre/src/calibre/library/cli.py:591
msgid ""
"%%prog command [options] [arguments]\n"
"\n"

View File

@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-12-02 22:46+0000\n"
"PO-Revision-Date: 2009-12-02 13:41+0000\n"
"Last-Translator: Øyvind Øritsland <Unknown>\n"
"POT-Creation-Date: 2009-12-04 21:05+0000\n"
"PO-Revision-Date: 2009-12-04 20:27+0000\n"
"Last-Translator: Kovid Goyal <Unknown>\n"
"Language-Team: Norwegian Bokmal <nb@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2009-12-03 04:39+0000\n"
"X-Launchpad-Export-Date: 2009-12-05 04:36+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41
@ -41,8 +41,8 @@ msgstr "Gjør absolutt ingenting"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:256
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:259
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:359
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:23
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:60
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:46
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:62
@ -55,8 +55,8 @@ msgstr "Gjør absolutt ingenting"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:894
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:39
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:28
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:18
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:22
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:48
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/topaz.py:29
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:14
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:44
@ -68,9 +68,9 @@ msgstr "Gjør absolutt ingenting"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:778
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:893
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:898
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:958
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:900
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:960
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:137
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:139
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:105
@ -120,7 +120,7 @@ msgstr "Gjør absolutt ingenting"
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:877
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1003
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:211
#: /home/kovid/work/calibre/src/calibre/library/cli.py:282
#: /home/kovid/work/calibre/src/calibre/library/cli.py:281
#: /home/kovid/work/calibre/src/calibre/library/database.py:913
#: /home/kovid/work/calibre/src/calibre/library/database2.py:702
#: /home/kovid/work/calibre/src/calibre/library/database2.py:714
@ -157,7 +157,7 @@ msgstr "Metadata-leser"
msgid "Metadata writer"
msgstr "Metadata-skriver"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:13
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:14
msgid ""
"Follow all local links in an HTML file and create a ZIP file containing all "
"linked files. This plugin is run every time you add an HTML file to the "
@ -167,7 +167,7 @@ msgstr ""
"lenkede filer. Dette programtillegget kjører hver gang du legger til en HTML "
"fil til biblioteket."
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:48
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:49
msgid ""
"Character encoding for the input HTML files. Common choices include: cp1252, "
"latin1, iso-8859-1 and utf-8."
@ -176,46 +176,58 @@ msgstr ""
"latin1, iso-8859-1 og utf-8."
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:56
msgid ""
" Create a PMLZ archive containing the PML file and all images "
"in the directory pmlname_img or images file containing all linked "
"files. This plugin is run every time you add an PML file to the "
"library. "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:87
msgid "Character encoding for the input PML files. Should ways be: cp1252."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94
msgid "Extract cover from comic files"
msgstr "Ekstrakter omslagside fra tegneseriefiler"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:77
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:89
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:99
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:109
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:120
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:130
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:140
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:150
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:160
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:170
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:181
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:192
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:204
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:225
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:236
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:246
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:256
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:127
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:137
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:147
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:158
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:168
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:178
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:188
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:198
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:208
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:219
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:230
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:242
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:263
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:274
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:284
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:294
msgid "Read metadata from %s files"
msgstr "Les metadata fra %s filer"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:215
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:253
msgid "Read metadata from ebooks in RAR archives"
msgstr "Les metadata fra e boken i RAR arkivene"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:267
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:305
msgid "Read metadata from ebooks in ZIP archives"
msgstr "Les metadata fra e boken i ZIP arkivene"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:278
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:288
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:298
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:320
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:331
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:316
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:326
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:336
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:358
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:369
msgid "Set metadata in %s files"
msgstr "Set metadata i %s filer"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:309
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:347
msgid "Set metadata from %s files"
msgstr "Set metadata fra %s filer"
@ -1334,7 +1346,7 @@ msgstr ""
"forfatter osv. Dette valget slår av genereringen av dette omslaget."
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:126
#: /home/kovid/work/calibre/src/calibre/ebooks/pml/pmlml.py:113
#: /home/kovid/work/calibre/src/calibre/ebooks/pml/pmlml.py:114
#: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:101
#: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:77
msgid "Table of Contents:"
@ -1985,7 +1997,7 @@ msgstr ""
"Finn et omslagsbilde for boken identifisert ved ISBN fra LibraryThing.com\n"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1083
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1321
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1323
msgid "Cover"
msgstr "Omslagside"
@ -2020,70 +2032,70 @@ msgstr "Slå av kompresjon av filinnhold."
msgid "All articles"
msgstr "Alle artikler"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1322
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1324
msgid "Title Page"
msgstr "Tittelside"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1323
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1325
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:51
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168
msgid "Table of Contents"
msgstr "Innholdsfortegnelse"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1324
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1326
msgid "Index"
msgstr "Innhold"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1325
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1327
msgid "Glossary"
msgstr "Ordliste"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1326
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1328
msgid "Acknowledgements"
msgstr "Påskjønnelse"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1327
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1329
msgid "Bibliography"
msgstr "Litteraturliste"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1328
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1330
msgid "Colophon"
msgstr "Kolofon"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1329
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1331
msgid "Copyright"
msgstr "Opphavsrettighet"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1330
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1332
msgid "Dedication"
msgstr "Tilegnet"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1331
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1333
msgid "Epigraph"
msgstr "Epigraf"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1332
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1334
msgid "Foreword"
msgstr "Forord"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1333
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1335
msgid "List of Illustrations"
msgstr "Illustrasjonsliste"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1334
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1336
msgid "List of Tables"
msgstr "Tabell-liste"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1335
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1337
msgid "Notes"
msgstr "Merknader"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1336
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1338
msgid "Preface"
msgstr "Forord"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1337
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1339
msgid "Main Text"
msgstr "Hovedtekst"
@ -2147,11 +2159,11 @@ msgid ""
msgstr ""
"Generer en Adobe \"sidekart\" fil dersom sideinndeling er tilgjengelig."
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:119
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:126
msgid "Footnotes"
msgstr "Fotnoter"
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:128
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:135
msgid "Sidebar"
msgstr "Sidepanel"
@ -3414,7 +3426,7 @@ msgid "RB Output"
msgstr "RB Utdata"
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:77
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1416
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1420
msgid "Choose the format to view"
msgstr "Velg format som skal vises"
@ -4049,7 +4061,7 @@ msgstr "ny e-postadresse"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:811
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:158
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1090
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1094
#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:53
msgid "Error"
msgstr "Feil"
@ -4771,7 +4783,7 @@ msgid "Choose formats for "
msgstr "Velg formater for "
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:136
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:921
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:925
msgid "Books"
msgstr "Bøker"
@ -5697,52 +5709,52 @@ msgstr "Åpne e-bok"
msgid "Configure"
msgstr "Konfigurer"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:25
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:24
msgid "Use the library located at the specified path."
msgstr "Bruk biblioteket lokalisert ved en spesifikk sti."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:27
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:26
msgid "Start minimized to system tray."
msgstr "Start minimalisert til systemstatusfeltet."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:29
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:28
msgid "Log debugging information to console"
msgstr "Logg debugging informasjon til konsollen"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:31
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:30
msgid "Do not check for updates"
msgstr "Ikke søk etter oppdateringer"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:80
msgid "If you are sure it is not running"
msgstr "Er du sikker på at den ikke kjører"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:81
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:82
msgid "Cannot Start "
msgstr "Kan ikke Starte "
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:82
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:83
msgid "%s is already running."
msgstr "%s kjører allerede."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86
msgid "may be running in the system tray, in the"
msgstr "kan kjøre i systemfeltet, i"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88
msgid "upper right region of the screen."
msgstr "øvre høyre område av skjermen."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:90
msgid "lower right region of the screen."
msgstr "nedre høyre område av skjermen."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:92
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:93
msgid "try rebooting your computer."
msgstr "forsøk å re-starte datamaskinen"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:94
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:106
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:95
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:107
msgid "try deleting the file"
msgstr "forsøk å slette filen"
@ -6078,7 +6090,7 @@ msgid "Save to disk in a single directory"
msgstr "Lagre til disk i en enkelt mappe"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:306
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1518
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1522
msgid "Save only %s format to disk"
msgstr "Lagre kun %s format til disken"
@ -6113,7 +6125,7 @@ msgid "Calibre Library"
msgstr "Calibre-bibliotek"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:464
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1661
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1665
msgid "Choose a location for your ebook library."
msgstr "Velg en lokalisering for ditt e-bokbibliotek"
@ -6165,56 +6177,64 @@ msgstr ""
" </ol>\n"
" "
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:913
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:956
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:872
msgid "How many empty books?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:873
msgid "How many empty boks should be added?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:917
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:960
msgid "Uploading books to device."
msgstr "Laster opp bøker til enheten."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:922
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:926
msgid "EPUB Books"
msgstr "EPUB bøker"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:923
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:927
msgid "LRF Books"
msgstr "LRF bøker"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:924
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:928
msgid "HTML Books"
msgstr "HTML-bøker"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:925
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:929
msgid "LIT Books"
msgstr "LIT bøker"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:926
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:930
msgid "MOBI Books"
msgstr "MOBI bøker"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:927
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:931
msgid "Text books"
msgstr "Tekst bøker"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:928
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:932
msgid "PDF Books"
msgstr "PDF-bøker"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:929
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:933
msgid "Comics"
msgstr "Tegneserier"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:930
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:934
msgid "Archives"
msgstr "Arkiver"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:965
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:969
msgid "Failed to read metadata"
msgstr "Kunne ikke lese metadata"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:966
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:970
msgid "Failed to read metadata from the following"
msgstr "Kunne ikke lese metadata fra følgende"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:985
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:989
msgid ""
"The selected books will be <b>permanently deleted</b> and the files removed "
"from your computer. Are you sure?"
@ -6222,115 +6242,115 @@ msgstr ""
"De valgte bøkene vil bli <b>slettet permanent</b> og filene vil bli fjernet "
"fra datamaskinen din. Er du sikker?"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1012
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1016
msgid "Deleting books from device."
msgstr "Sletter bøker fra enheten."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1043
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1047
msgid "Cannot download metadata"
msgstr "Kan ikke laste ned metadata"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1044
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1101
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1134
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1159
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1271
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1048
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1105
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1138
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1163
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1275
msgid "No books selected"
msgstr "Ingen bøker ble valgt"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1059
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1063
msgid "social metadata"
msgstr "sosiale metadata"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1061
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1065
msgid "covers"
msgstr "Omslag"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1061
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1065
msgid "metadata"
msgstr "metadata"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1063
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1067
msgid "Downloading %s for %d book(s)"
msgstr "Laster ned %s for %d bok(bøker)"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1085
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1089
msgid "Failed to download some metadata"
msgstr "Klarte ikke å laste ned en del av metadataene"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1086
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1090
msgid "Failed to download metadata for the following:"
msgstr "Kunne ikke laste ned metadata for følgende:"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1093
msgid "Failed to download metadata:"
msgstr "Kunne ikke laste ned metadata:"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1100
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1133
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1104
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1137
msgid "Cannot edit metadata"
msgstr "Kan ikke redigere metadata"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1158
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1162
msgid "Cannot save to disk"
msgstr "Kan ikke lagre til disk"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1161
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1165
msgid "Choose destination directory"
msgstr "Velg mottaksmappe"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1188
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1192
msgid "Error while saving"
msgstr "Feil ved lagring"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1189
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1193
msgid "There was an error while saving."
msgstr "En feil oppsto ved lagring"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1196
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1197
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1200
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1201
msgid "Could not save some books"
msgstr "Kunne ikke lagre enkelte bøker"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1198
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1202
msgid "Click the show details button to see which ones."
msgstr "Klikk vis detaljer knappen for å se hvilke."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1217
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1221
msgid "Fetching news from "
msgstr "Skaffer nyheter fra "
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1230
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1234
msgid " fetched."
msgstr " funnet."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1270
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1274
msgid "Cannot convert"
msgstr "Kan ikke konvertere"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1299
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1303
msgid "Starting conversion of %d book(s)"
msgstr "Starter konverteringen av %d boken(bøkene)"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1410
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1429
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1414
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1433
msgid "No book selected"
msgstr "Ingen bøker ble valgt"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1410
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1460
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1414
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1464
msgid "Cannot view"
msgstr "Kan ikke vise"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1428
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1432
msgid "Cannot open folder"
msgstr "Kan ikke åpne folder"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1445
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1449
msgid "Multiple Books Selected"
msgstr "Flere bøker ble valgt"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1446
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1450
msgid ""
"You are attempting to open %d books. Opening too many books at once can be "
"slow and have a negative effect on the responsiveness of your computer. Once "
@ -6342,32 +6362,32 @@ msgstr ""
"startet denne prosessen, kan den ikke stanses før den er fullført. Ønsker du "
"å fortsette?"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1461
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1465
msgid "%s has no available formats."
msgstr "%s har ikke tilgjengelig formater."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1502
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1506
msgid "Cannot configure"
msgstr "Kan ikke konfigurere"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1503
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1507
msgid "Cannot configure while there are running jobs."
msgstr "Kan ikke konfigurere samtidig som en oppgave kjører."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1546
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1550
msgid "No detailed info available"
msgstr "Ingen detaljert informasjon er tilgjengelig"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1547
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1551
msgid "No detailed information is available for books on the device."
msgstr ""
"Ingen detaljert informasjon er tilgjengelig for bøker på denne enheten."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1599
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1603
msgid "Error talking to device"
msgstr "Feil ved komminikasjonen med enheten"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1600
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1604
msgid ""
"There was a temporary error talking to the device. Please unplug and "
"reconnect the device and or reboot."
@ -6375,12 +6395,12 @@ msgstr ""
"En midlertidig feil oppsto ved kommunikasjonen med enheten. Vennligst plugg "
"ut og plugg inn igjen enheten, eller ta en omstart."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1623
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1641
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1627
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1645
msgid "Conversion Error"
msgstr "Feil ved konverteringen"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1624
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1628
msgid ""
"<p>Could not convert: %s<p>It is a <a href=\"%s\">DRM</a>ed book. You must "
"first remove the DRM using third party tools."
@ -6389,19 +6409,19 @@ msgstr ""
"Du må først fjerne DRM beskyttelsen ved å benytte et 3.parts program med "
"slike egenskaper."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1642
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1646
msgid "<b>Failed</b>"
msgstr "<b>Feilet</b>"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1670
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1674
msgid "Invalid library location"
msgstr "Ugylding biblioteklokalisering"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1671
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1675
msgid "Could not access %s. Using %s as the library."
msgstr "Kunne ikke koble til %s. Ved bruk av %s som bibliotek."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1719
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1723
msgid ""
"is the result of the efforts of many volunteers from all over the world. If "
"you find it useful, please consider donating to support its development."
@ -6409,11 +6429,11 @@ msgstr ""
"er resultatet av innsatsen til mange frivillige fra hele verden. Dersom du "
"synes programmet er godt, vennligst bidra med støtte til videre utvikling."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1744
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr "Det finnes aktive oppgaver. Er du sikker på at du ønsker å avslutte?"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1747
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1751
msgid ""
" is communicating with the device!<br>\n"
" Quitting may cause corruption on the device.<br>\n"
@ -6423,11 +6443,11 @@ msgstr ""
" Å avslutte kan føre til feil på enheten.<br>\n"
" Er du sikker på at du ønsker å avslutte?"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1751
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1755
msgid "WARNING: Active jobs"
msgstr "ADVARSEL: Aktive oppgaver"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1803
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1807
msgid ""
"will keep running in the system tray. To close it, choose <b>Quit</b> in the "
"context menu of the system tray."
@ -6435,7 +6455,7 @@ msgstr ""
"vil fortsette å kjøre i systemstatusfeltet. For å stenge programmet, velg "
"<b>Stopp</b> innholdslisten i systemstatusfeltet."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1822
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1826
msgid ""
"<span style=\"color:red; font-weight:bold\">Latest version: <a "
"href=\"%s\">%s</a></span>"
@ -6443,11 +6463,11 @@ msgstr ""
"<span style=\"color:red; font-weight:bold\">Siste versjon: <a "
"href=\"%s\">%s</a></span>"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1830
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1834
msgid "Update available"
msgstr "Oppdatering tilgjengelig"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1831
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1835
msgid ""
"%s has been updated to version %s. See the <a href=\"http://calibre-"
"ebook.com/whats-new\">new features</a>. Visit the download page?"
@ -7215,7 +7235,7 @@ msgstr ""
"Maksimum antall treff som resultat per OPDS spørring. Dette affekterer "
"Stanza, WordPlayer osv integrering."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:120
#: /home/kovid/work/calibre/src/calibre/library/cli.py:121
msgid ""
"Path to the calibre library. Default is to use the path stored in the "
"settings."
@ -7223,7 +7243,7 @@ msgstr ""
"Sti til calibre-biblioteket. Standard er å benytte stien som er lagret under "
"innstillinger."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:201
#: /home/kovid/work/calibre/src/calibre/library/cli.py:200
msgid ""
"%prog list [options]\n"
"\n"
@ -7232,7 +7252,7 @@ msgstr ""
"%programliste [brukervalg]\n"
"Lister opp bøker som er tiljengelig i calibres database.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:209
#: /home/kovid/work/calibre/src/calibre/library/cli.py:208
msgid ""
"The fields to display when listing books in the database. Should be a comma "
"separated list of fields.\n"
@ -7246,7 +7266,7 @@ msgstr ""
"Standard: %%default. Spesialfeltet \"alt\" kan benyttes for å velge alle "
"felt. Dette har kun effekt i tekst utdata format."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:211
#: /home/kovid/work/calibre/src/calibre/library/cli.py:210
msgid ""
"The field by which to sort the results.\n"
"Available fields: %s\n"
@ -7256,11 +7276,11 @@ msgstr ""
"Tilgjengelige fel: %s\n"
"Standard: %%default"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:213
#: /home/kovid/work/calibre/src/calibre/library/cli.py:212
msgid "Sort results in ascending order"
msgstr "Sorter resultater i stigende rekkefølge"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:215
#: /home/kovid/work/calibre/src/calibre/library/cli.py:214
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search related documentation in the User Manual. Default is "
@ -7270,18 +7290,18 @@ msgstr ""
"vennligst se søksrelatert dokumentasjon i brukermanualen. Standard er satt "
"til: Ingen filtrering"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:217
#: /home/kovid/work/calibre/src/calibre/library/cli.py:216
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr ""
"Maksimal bredde for enkeltlinje i utdata. Standard er: Følg skjermstørrelse."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:218
#: /home/kovid/work/calibre/src/calibre/library/cli.py:217
msgid "The string used to separate fields. Default is a space."
msgstr "Strengen som brukes for å dele felt. Standard er et mellomrom."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:219
#: /home/kovid/work/calibre/src/calibre/library/cli.py:218
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
@ -7289,22 +7309,22 @@ msgstr ""
"Benevnelse for alle filbaner. Standard er den absolutte banen til "
"bibliotekfolderen."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:222
#: /home/kovid/work/calibre/src/calibre/library/cli.py:221
msgid ""
"The format in which to output the data. Available choices: %s. Defaults is "
"text."
msgstr ""
"Formatet som utdata skal ha. Valgmuligheter er: %s. Standard er tekst."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:235
#: /home/kovid/work/calibre/src/calibre/library/cli.py:234
msgid "Invalid fields. Available fields:"
msgstr "Ugyldige felt. Tilgjengelige felt:"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:242
#: /home/kovid/work/calibre/src/calibre/library/cli.py:241
msgid "Invalid sort field. Available fields:"
msgstr "Ugyldig sorteringsfelt. Tilgjengelige felt:"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
#: /home/kovid/work/calibre/src/calibre/library/cli.py:312
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
@ -7312,7 +7332,7 @@ msgstr ""
"De følgende bøkene ble ikke lagt til, da de allerede finnes i databasen (se -"
"-duplicates)"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:336
#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@ -7326,7 +7346,7 @@ msgstr ""
"spesifisere mapper, se\n"
"de mapperelaterte valgene under.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:345
#: /home/kovid/work/calibre/src/calibre/library/cli.py:344
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
@ -7334,11 +7354,11 @@ msgstr ""
"Forutsett at hver mappe har kun en enkelt logisk bok og at alle filer i "
"denne mappen er forskjellige e-bokformater av den boken."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:347
#: /home/kovid/work/calibre/src/calibre/library/cli.py:346
msgid "Process directories recursively"
msgstr "Prosesser mappene gjentagende"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:349
#: /home/kovid/work/calibre/src/calibre/library/cli.py:348
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
@ -7346,11 +7366,11 @@ msgstr ""
"Legg bøker til databasen selv om de allerede finnes. Sammenligning gjøres "
"basert på boktitler."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:359
#: /home/kovid/work/calibre/src/calibre/library/cli.py:358
msgid "You must specify at least one file to add"
msgstr "Du må spesifisere minst en fil som skal legges til"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:375
#: /home/kovid/work/calibre/src/calibre/library/cli.py:374
msgid ""
"%prog remove ids\n"
"\n"
@ -7364,11 +7384,11 @@ msgstr ""
"liste over id-nummer (du kan få tak i id-nummerene ved å benytte list "
"kommandoen).\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:390
#: /home/kovid/work/calibre/src/calibre/library/cli.py:389
msgid "You must specify at least one book to remove"
msgstr "Du må spesifisere minst en bok som skal fjernes"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:409
#: /home/kovid/work/calibre/src/calibre/library/cli.py:408
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
@ -7377,15 +7397,15 @@ msgid ""
"already exists, it is replaced.\n"
msgstr "%prog add_format[valgmuligheter] id ebok_fil\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:424
#: /home/kovid/work/calibre/src/calibre/library/cli.py:423
msgid "You must specify an id and an ebook file"
msgstr "Du må spesifisere en id og en e-bokfil"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:429
#: /home/kovid/work/calibre/src/calibre/library/cli.py:428
msgid "ebook file must have an extension"
msgstr "e-bokfilen må ha en filforlengelse"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:437
#: /home/kovid/work/calibre/src/calibre/library/cli.py:436
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@ -7402,11 +7422,11 @@ msgstr ""
"eller TXT eller EPUB. Dersom den logiske boken ikke har en fmt tilgjengelig, "
"unnlat å gjøre noe som helst.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:454
#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
msgid "You must specify an id and a format"
msgstr "Du må spesifisere en id og et format"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:472
#: /home/kovid/work/calibre/src/calibre/library/cli.py:471
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@ -7421,15 +7441,15 @@ msgstr ""
"Vis metadata lagret i calibres database for bøker identifisert med id.\n"
"id er et id-nummer fra list kommandoen.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:480
#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
msgid "Print metadata in OPF form (XML)"
msgstr "Skriv ut metadata i OPF format (XML)"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
#: /home/kovid/work/calibre/src/calibre/library/cli.py:488
msgid "You must specify an id"
msgstr "Du må spesifisere en ID"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:502
#: /home/kovid/work/calibre/src/calibre/library/cli.py:501
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@ -7450,11 +7470,11 @@ msgstr ""
"\n"
"vis_metadata kommandoen.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:518
#: /home/kovid/work/calibre/src/calibre/library/cli.py:517
msgid "You must specify an id and a metadata file"
msgstr "Du må spesifisere en ID og metadatafil"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:538
#: /home/kovid/work/calibre/src/calibre/library/cli.py:537
msgid ""
"%prog export [options] ids\n"
"\n"
@ -7472,27 +7492,27 @@ msgstr ""
"metadata (i\n"
"en opf fil). Du kan få tak i ID-nummerene ved å benytte list kommandoen.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:546
#: /home/kovid/work/calibre/src/calibre/library/cli.py:545
msgid "Export all books in database, ignoring the list of ids."
msgstr "Eksporter alle bøker i databasen, ignorer ID listen."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:548
#: /home/kovid/work/calibre/src/calibre/library/cli.py:547
msgid "Export books to the specified directory. Default is"
msgstr "Eksporter bøker til den spesifiserte mappen. Standard er"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:550
#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid "Export all books into a single directory"
msgstr "Eksporter alle bøker inn til en enkelt mappe"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:557
#: /home/kovid/work/calibre/src/calibre/library/cli.py:556
msgid "Specifying this switch will turn this behavior off."
msgstr "Ved å spesifisere denne bryteren vil det slå denne atferden av"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/cli.py:579
msgid "You must specify some ids or the %s option"
msgstr "Du må spesifisere noen ID'er eller %s valget"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
#: /home/kovid/work/calibre/src/calibre/library/cli.py:591
msgid ""
"%%prog command [options] [arguments]\n"
"\n"

File diff suppressed because it is too large Load Diff

View File

@ -6,14 +6,14 @@ msgid ""
msgstr ""
"Project-Id-Version: calibre 0.4.55\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-02 22:46+0000\n"
"PO-Revision-Date: 2009-12-03 03:28+0000\n"
"POT-Creation-Date: 2009-12-04 21:05+0000\n"
"PO-Revision-Date: 2009-12-04 20:31+0000\n"
"Last-Translator: Nkolay Parukhin <parukhin@gmail.com>\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"
"X-Launchpad-Export-Date: 2009-12-03 04:39+0000\n"
"X-Launchpad-Export-Date: 2009-12-05 04:37+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"X-Poedit-Country: RUSSIAN FEDERATION\n"
"X-Poedit-Language: Russian\n"
@ -45,8 +45,8 @@ msgstr "Ничего не делает"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:256
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:259
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:359
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:23
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:45
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:35
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:60
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:46
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:62
@ -59,8 +59,8 @@ msgstr "Ничего не делает"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:894
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:39
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:28
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:18
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:40
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:22
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:48
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/topaz.py:29
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:14
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:44
@ -72,9 +72,9 @@ msgstr "Ничего не делает"
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:778
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:893
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:898
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:958
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:895
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:900
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:960
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:137
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:139
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:105
@ -124,7 +124,7 @@ msgstr "Ничего не делает"
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:877
#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1003
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:211
#: /home/kovid/work/calibre/src/calibre/library/cli.py:282
#: /home/kovid/work/calibre/src/calibre/library/cli.py:281
#: /home/kovid/work/calibre/src/calibre/library/database.py:913
#: /home/kovid/work/calibre/src/calibre/library/database2.py:702
#: /home/kovid/work/calibre/src/calibre/library/database2.py:714
@ -161,7 +161,7 @@ msgstr "Чтение метаданных"
msgid "Metadata writer"
msgstr "Запись метаданных"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:13
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:14
msgid ""
"Follow all local links in an HTML file and create a ZIP file containing all "
"linked files. This plugin is run every time you add an HTML file to the "
@ -171,7 +171,7 @@ msgstr ""
"содержащий все связанные файлы. Этот модуль запускается каждый раз, когда вы "
"добавляете HTML файл в библиотеку."
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:48
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:49
msgid ""
"Character encoding for the input HTML files. Common choices include: cp1252, "
"latin1, iso-8859-1 and utf-8."
@ -180,46 +180,58 @@ msgstr ""
"iso-8859-1 и utf-8."
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:56
msgid ""
" Create a PMLZ archive containing the PML file and all images "
"in the directory pmlname_img or images file containing all linked "
"files. This plugin is run every time you add an PML file to the "
"library. "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:87
msgid "Character encoding for the input PML files. Should ways be: cp1252."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94
msgid "Extract cover from comic files"
msgstr "Извлечь обложку из файлов комикса"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:77
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:89
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:99
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:109
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:120
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:130
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:140
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:150
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:160
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:170
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:181
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:192
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:204
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:225
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:236
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:246
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:256
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:127
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:137
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:147
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:158
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:168
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:178
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:188
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:198
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:208
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:219
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:230
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:242
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:263
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:274
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:284
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:294
msgid "Read metadata from %s files"
msgstr "Читать метаданные из %s файлов"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:215
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:253
msgid "Read metadata from ebooks in RAR archives"
msgstr "Читать метаданные из книг в архивах RAR"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:267
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:305
msgid "Read metadata from ebooks in ZIP archives"
msgstr "Читать метаданные из книг в архивах ZIP"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:278
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:288
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:298
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:320
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:331
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:316
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:326
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:336
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:358
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:369
msgid "Set metadata in %s files"
msgstr "Внести метаданные в файлы %s"
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:309
#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:347
msgid "Set metadata from %s files"
msgstr "Внести метаданные из файлов %s"
@ -1326,7 +1338,7 @@ msgstr ""
"отключает генерацию такой обложки."
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:126
#: /home/kovid/work/calibre/src/calibre/ebooks/pml/pmlml.py:113
#: /home/kovid/work/calibre/src/calibre/ebooks/pml/pmlml.py:114
#: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:101
#: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:77
msgid "Table of Contents:"
@ -1932,7 +1944,7 @@ msgstr ""
"LibraryThing.com\n"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1083
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1321
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1323
msgid "Cover"
msgstr "Обложка"
@ -1963,70 +1975,70 @@ msgstr ""
msgid "All articles"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1322
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1324
msgid "Title Page"
msgstr "Титульная страница"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1323
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1325
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:51
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168
msgid "Table of Contents"
msgstr "Содержание"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1324
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1326
msgid "Index"
msgstr "Индекс"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1325
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1327
msgid "Glossary"
msgstr "Глоссарий"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1326
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1328
msgid "Acknowledgements"
msgstr "Подтверждения"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1327
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1329
msgid "Bibliography"
msgstr "Библиография"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1328
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1330
msgid "Colophon"
msgstr "Колофон"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1329
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1331
msgid "Copyright"
msgstr "Копирайт"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1330
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1332
msgid "Dedication"
msgstr "Посвящение"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1331
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1333
msgid "Epigraph"
msgstr "Эпиграф"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1332
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1334
msgid "Foreword"
msgstr "Предисловие"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1333
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1335
msgid "List of Illustrations"
msgstr "Список иллюстраций"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1334
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1336
msgid "List of Tables"
msgstr "Оглавление"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1335
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1337
msgid "Notes"
msgstr "Заметки"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1336
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1338
msgid "Preface"
msgstr "Введение"
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1337
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1339
msgid "Main Text"
msgstr "Основной текст"
@ -2089,11 +2101,11 @@ msgid ""
"Generate an Adobe \"page-map\" file if pagination information is available."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:119
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:126
msgid "Footnotes"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:128
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:135
msgid "Sidebar"
msgstr ""
@ -3258,7 +3270,7 @@ msgid "RB Output"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:77
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1416
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1420
msgid "Choose the format to view"
msgstr "Выберете для просмотра формат"
@ -3882,7 +3894,7 @@ msgstr "новый email адрес"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:468
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:811
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:158
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1090
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1094
#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:53
msgid "Error"
msgstr "Ошибка"
@ -4578,7 +4590,7 @@ msgid "Choose formats for "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:136
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:921
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:925
msgid "Books"
msgstr "Книги"
@ -5480,52 +5492,52 @@ msgstr "Открыть книгу"
msgid "Configure"
msgstr "Настроить"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:25
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:24
msgid "Use the library located at the specified path."
msgstr "Использовать библиотеку по указанному пути."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:27
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:26
msgid "Start minimized to system tray."
msgstr "Старт минимизированным в трей"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:29
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:28
msgid "Log debugging information to console"
msgstr "Выводить отладочную информацию на консоль"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:31
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:30
msgid "Do not check for updates"
msgstr "Не проверять наличие обновлений"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:79
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:80
msgid "If you are sure it is not running"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:81
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:82
msgid "Cannot Start "
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:82
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:83
msgid "%s is already running."
msgstr "%s уже запущен."
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:85
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86
msgid "may be running in the system tray, in the"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:87
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88
msgid "upper right region of the screen."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:89
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:90
msgid "lower right region of the screen."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:92
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:93
msgid "try rebooting your computer."
msgstr "попробуйте перезагрузить ваш компьютер"
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:94
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:106
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:95
#: /home/kovid/work/calibre/src/calibre/gui2/main.py:107
msgid "try deleting the file"
msgstr "попробуйте удалить файл"
@ -5857,7 +5869,7 @@ msgid "Save to disk in a single directory"
msgstr "Сохранить на диск в одну директорию"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:306
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1518
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1522
msgid "Save only %s format to disk"
msgstr "Сохранять на диск только формат %s"
@ -5892,7 +5904,7 @@ msgid "Calibre Library"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:464
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1661
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1665
msgid "Choose a location for your ebook library."
msgstr "Выбрите расположение Вашей библиотеки электронных книг."
@ -5946,56 +5958,64 @@ msgstr ""
" </ol>\n"
" "
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:913
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:956
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:872
msgid "How many empty books?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:873
msgid "How many empty boks should be added?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:917
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:960
msgid "Uploading books to device."
msgstr "Загрузка книг в устройство."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:922
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:926
msgid "EPUB Books"
msgstr "Книги EPUB"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:923
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:927
msgid "LRF Books"
msgstr "Книги LRF"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:924
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:928
msgid "HTML Books"
msgstr "Книги HTML"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:925
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:929
msgid "LIT Books"
msgstr "Книги LIT"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:926
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:930
msgid "MOBI Books"
msgstr "Книги MOBI"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:927
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:931
msgid "Text books"
msgstr "Текстовые книги"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:928
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:932
msgid "PDF Books"
msgstr "Книги PDF"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:929
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:933
msgid "Comics"
msgstr "Комиксы"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:930
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:934
msgid "Archives"
msgstr "Архивы"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:965
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:969
msgid "Failed to read metadata"
msgstr "Сбой чтения метаданных"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:966
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:970
msgid "Failed to read metadata from the following"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:985
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:989
msgid ""
"The selected books will be <b>permanently deleted</b> and the files removed "
"from your computer. Are you sure?"
@ -6003,115 +6023,115 @@ msgstr ""
"Выбранные книги будут <b>навсегда удалены</b> вместе с файлами с Вашего "
"компьютера. Вы уверены?"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1012
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1016
msgid "Deleting books from device."
msgstr "Удаляются книги из устройства."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1043
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1047
msgid "Cannot download metadata"
msgstr "Не удалось загрузить метаданные"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1044
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1101
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1134
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1159
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1271
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1048
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1105
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1138
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1163
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1275
msgid "No books selected"
msgstr "Нет Выбранных книг"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1059
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1063
msgid "social metadata"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1061
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1065
msgid "covers"
msgstr "обложек"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1061
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1065
msgid "metadata"
msgstr "метаданных"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1063
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1067
msgid "Downloading %s for %d book(s)"
msgstr "Загрузка %s для %d книг(и)"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1085
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1089
msgid "Failed to download some metadata"
msgstr "Не удалось загрузить некоторые метаданные"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1086
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1090
msgid "Failed to download metadata for the following:"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1089
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1093
msgid "Failed to download metadata:"
msgstr "Не удалось загрузить метаданные:"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1100
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1133
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1104
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1137
msgid "Cannot edit metadata"
msgstr "Невозможно редактировать метаданные"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1158
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1162
msgid "Cannot save to disk"
msgstr "Невозможно сохранить на диск"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1161
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1165
msgid "Choose destination directory"
msgstr "Выберете директорию получателя"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1188
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1192
msgid "Error while saving"
msgstr "Ошибка при сохранении"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1189
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1193
msgid "There was an error while saving."
msgstr "Произошла ошибка при сохранении."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1196
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1197
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1200
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1201
msgid "Could not save some books"
msgstr "Не удалось сохранить некоторые книги"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1198
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1202
msgid "Click the show details button to see which ones."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1217
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1221
msgid "Fetching news from "
msgstr "Вызвать новость из "
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1230
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1234
msgid " fetched."
msgstr " загружено."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1270
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1274
msgid "Cannot convert"
msgstr "Не преобразуется"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1299
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1303
msgid "Starting conversion of %d book(s)"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1410
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1429
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1414
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1433
msgid "No book selected"
msgstr "Нет выбранных книг"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1410
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1460
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1414
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1464
msgid "Cannot view"
msgstr "Невозможно просмотреть"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1428
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1432
msgid "Cannot open folder"
msgstr "Не могу открыть папку"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1445
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1449
msgid "Multiple Books Selected"
msgstr "Выбраны несколько книг"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1446
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1450
msgid ""
"You are attempting to open %d books. Opening too many books at once can be "
"slow and have a negative effect on the responsiveness of your computer. Once "
@ -6119,31 +6139,31 @@ msgid ""
"continue?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1461
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1465
msgid "%s has no available formats."
msgstr "%s неизвестный формат."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1502
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1506
msgid "Cannot configure"
msgstr "Невозможно настроить"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1503
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1507
msgid "Cannot configure while there are running jobs."
msgstr "Пока запущено задание, не могу настроить"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1546
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1550
msgid "No detailed info available"
msgstr "Нет доступной подробной информации"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1547
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1551
msgid "No detailed information is available for books on the device."
msgstr "Не доступна подробная информация книг на устройстве"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1599
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1603
msgid "Error talking to device"
msgstr "Ошибка согласования устройства"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1600
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1604
msgid ""
"There was a temporary error talking to the device. Please unplug and "
"reconnect the device and or reboot."
@ -6151,30 +6171,30 @@ msgstr ""
"Была временная ошибка общения с устройством. Пожалуста, переподключите "
"устройство или перегрузите его."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1623
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1641
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1627
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1645
msgid "Conversion Error"
msgstr "Ошибка преобразования"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1624
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1628
msgid ""
"<p>Could not convert: %s<p>It is a <a href=\"%s\">DRM</a>ed book. You must "
"first remove the DRM using third party tools."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1642
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1646
msgid "<b>Failed</b>"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1670
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1674
msgid "Invalid library location"
msgstr "Неверное расположение библиотеки"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1671
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1675
msgid "Could not access %s. Using %s as the library."
msgstr "Нет доступа к %s. Использование %s в качестве библиотеки."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1719
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1723
msgid ""
"is the result of the efforts of many volunteers from all over the world. If "
"you find it useful, please consider donating to support its development."
@ -6182,22 +6202,22 @@ msgstr ""
"является результато труда многих добровольцев по всему миру. Если Вы сочли "
"его полезным, будьте добры пожертвовать на его развитие."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1744
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1748
msgid "There are active jobs. Are you sure you want to quit?"
msgstr "Имеется активное задание. Вы все равно хотите выйти?"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1747
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1751
msgid ""
" is communicating with the device!<br>\n"
" Quitting may cause corruption on the device.<br>\n"
" Are you sure you want to quit?"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1751
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1755
msgid "WARNING: Active jobs"
msgstr "ПРЕДУПРЕЖДЕНИЕ: Активные задания"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1803
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1807
msgid ""
"will keep running in the system tray. To close it, choose <b>Quit</b> in the "
"context menu of the system tray."
@ -6205,7 +6225,7 @@ msgstr ""
"продолжит работать в трее. Для завершения работы выберите<b>Quit</b> в "
"контекстном меню трея."
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1822
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1826
msgid ""
"<span style=\"color:red; font-weight:bold\">Latest version: <a "
"href=\"%s\">%s</a></span>"
@ -6213,11 +6233,11 @@ msgstr ""
"<span style=\"color:red; font-weight:bold\">Последняя версия: <a "
"href=\"%s\">%s</a></span>"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1830
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1834
msgid "Update available"
msgstr "Доступно обновление"
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1831
#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:1835
msgid ""
"%s has been updated to version %s. See the <a href=\"http://calibre-"
"ebook.com/whats-new\">new features</a>. Visit the download page?"
@ -6940,14 +6960,14 @@ msgid ""
"WordPlayer, etc. integration."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:120
#: /home/kovid/work/calibre/src/calibre/library/cli.py:121
msgid ""
"Path to the calibre library. Default is to use the path stored in the "
"settings."
msgstr ""
"Путь к библиотеки Calibre. По умолчаниюиспользовать путь в установках."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:201
#: /home/kovid/work/calibre/src/calibre/library/cli.py:200
msgid ""
"%prog list [options]\n"
"\n"
@ -6957,7 +6977,7 @@ msgstr ""
"\n"
"Список книг в базе данных Calibre.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:209
#: /home/kovid/work/calibre/src/calibre/library/cli.py:208
msgid ""
"The fields to display when listing books in the database. Should be a comma "
"separated list of fields.\n"
@ -6971,7 +6991,7 @@ msgstr ""
"По умолчанию: %%default. Спецполе \"all\" можно использовать для выбора всех "
"полей. Эффективно только для текстового формата."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:211
#: /home/kovid/work/calibre/src/calibre/library/cli.py:210
msgid ""
"The field by which to sort the results.\n"
"Available fields: %s\n"
@ -6981,11 +7001,11 @@ msgstr ""
"Доступные поля: %s\n"
"По умолчанию: %%default"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:213
#: /home/kovid/work/calibre/src/calibre/library/cli.py:212
msgid "Sort results in ascending order"
msgstr "Сортировать по убыванию"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:215
#: /home/kovid/work/calibre/src/calibre/library/cli.py:214
msgid ""
"Filter the results by the search query. For the format of the search query, "
"please see the search related documentation in the User Manual. Default is "
@ -6995,17 +7015,17 @@ msgstr ""
"соответствующей документации в руководстве пользователя. По умолчанию не "
"фильтровать."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:217
#: /home/kovid/work/calibre/src/calibre/library/cli.py:216
msgid ""
"The maximum width of a single line in the output. Defaults to detecting "
"screen size."
msgstr "Максимальная ширина вывода. По умолчанию размер экрана."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:218
#: /home/kovid/work/calibre/src/calibre/library/cli.py:217
msgid "The string used to separate fields. Default is a space."
msgstr "Разделитель полей. По умолчанию пробел."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:219
#: /home/kovid/work/calibre/src/calibre/library/cli.py:218
msgid ""
"The prefix for all file paths. Default is the absolute path to the library "
"folder."
@ -7013,21 +7033,21 @@ msgstr ""
"Префикс для всех путей. По умолчанию это абсолютный путь к директории "
"библиотеки."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:222
#: /home/kovid/work/calibre/src/calibre/library/cli.py:221
msgid ""
"The format in which to output the data. Available choices: %s. Defaults is "
"text."
msgstr "Формат вывода данных. Возможный выбор: %s. По умолчанию text."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:235
#: /home/kovid/work/calibre/src/calibre/library/cli.py:234
msgid "Invalid fields. Available fields:"
msgstr "Неправильное поле. Доступное поле:"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:242
#: /home/kovid/work/calibre/src/calibre/library/cli.py:241
msgid "Invalid sort field. Available fields:"
msgstr "Неправильное поле сортировки. Доступные поля:"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:313
#: /home/kovid/work/calibre/src/calibre/library/cli.py:312
msgid ""
"The following books were not added as they already exist in the database "
"(see --duplicates option):"
@ -7035,7 +7055,7 @@ msgstr ""
"Следующие книги не добавлены, поскольку они уже есть в базе данных (см. "
"опцию --duplicates):"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:336
#: /home/kovid/work/calibre/src/calibre/library/cli.py:335
msgid ""
"%prog add [options] file1 file2 file3 ...\n"
"\n"
@ -7049,7 +7069,7 @@ msgstr ""
"директории, смотри\n"
"опции директории ниже.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:345
#: /home/kovid/work/calibre/src/calibre/library/cli.py:344
msgid ""
"Assume that each directory has only a single logical book and that all files "
"in it are different e-book formats of that book"
@ -7057,11 +7077,11 @@ msgstr ""
"Считать, что в каждой директории есть только одна логическая книга в "
"различных e-book форматах"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:347
#: /home/kovid/work/calibre/src/calibre/library/cli.py:346
msgid "Process directories recursively"
msgstr "Обрабатывать рекурсивно"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:349
#: /home/kovid/work/calibre/src/calibre/library/cli.py:348
msgid ""
"Add books to database even if they already exist. Comparison is done based "
"on book titles."
@ -7069,11 +7089,11 @@ msgstr ""
"Добавлять книгу в базу данных даже если она уже есть. Сравнение основано на "
"названиях книг."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:359
#: /home/kovid/work/calibre/src/calibre/library/cli.py:358
msgid "You must specify at least one file to add"
msgstr "Вы должны указать не менее одного файла для добавления"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:375
#: /home/kovid/work/calibre/src/calibre/library/cli.py:374
msgid ""
"%prog remove ids\n"
"\n"
@ -7087,11 +7107,11 @@ msgstr ""
"запятой номеров id (id номера можно получить командой list ). Например, "
"23,34,57-85\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:390
#: /home/kovid/work/calibre/src/calibre/library/cli.py:389
msgid "You must specify at least one book to remove"
msgstr "Вы должны указать не менее одной книги для удаления"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:409
#: /home/kovid/work/calibre/src/calibre/library/cli.py:408
msgid ""
"%prog add_format [options] id ebook_file\n"
"\n"
@ -7105,15 +7125,15 @@ msgstr ""
"ebook идентифецирована по id. id можно получить командой list. Если книга в "
"данном формате уже есть, она будет заменена.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:424
#: /home/kovid/work/calibre/src/calibre/library/cli.py:423
msgid "You must specify an id and an ebook file"
msgstr "Вы должны указать id и файл электронной книги"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:429
#: /home/kovid/work/calibre/src/calibre/library/cli.py:428
msgid "ebook file must have an extension"
msgstr "файл электронной книги должен иметь расширение"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:437
#: /home/kovid/work/calibre/src/calibre/library/cli.py:436
msgid ""
"\n"
"%prog remove_format [options] id fmt\n"
@ -7129,11 +7149,11 @@ msgstr ""
"получить id используя команду list. fmt это расширения файла LRF или TXT или "
"EPUB. Если logical book не имеет нужного fmt, ничего не произойдет.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:454
#: /home/kovid/work/calibre/src/calibre/library/cli.py:453
msgid "You must specify an id and a format"
msgstr "Вы должны указать id и формат"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:472
#: /home/kovid/work/calibre/src/calibre/library/cli.py:471
msgid ""
"\n"
"%prog show_metadata [options] id\n"
@ -7148,15 +7168,15 @@ msgstr ""
"Показать метаданные из базы данных calibre для книги с id.\n"
"id это номер из команды list.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:480
#: /home/kovid/work/calibre/src/calibre/library/cli.py:479
msgid "Print metadata in OPF form (XML)"
msgstr "Напечатать метаданные в OPF из (XML)"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:489
#: /home/kovid/work/calibre/src/calibre/library/cli.py:488
msgid "You must specify an id"
msgstr "Вы должны назначить id"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:502
#: /home/kovid/work/calibre/src/calibre/library/cli.py:501
msgid ""
"\n"
"%prog set_metadata [options] id /path/to/metadata.opf\n"
@ -7176,11 +7196,11 @@ msgstr ""
"можете быстро заполнить OPF формат используя --as-opf опцию для\n"
"команды show_metadata.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:518
#: /home/kovid/work/calibre/src/calibre/library/cli.py:517
msgid "You must specify an id and a metadata file"
msgstr "Вы должны указать id и файл метаданных"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:538
#: /home/kovid/work/calibre/src/calibre/library/cli.py:537
msgid ""
"%prog export [options] ids\n"
"\n"
@ -7197,27 +7217,27 @@ msgstr ""
"Операция экспорта сохраняет все форматы книги, ее обложку и метаданные (в\n"
"opf файле). id можно получить командой list.\n"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:546
#: /home/kovid/work/calibre/src/calibre/library/cli.py:545
msgid "Export all books in database, ignoring the list of ids."
msgstr "Передать все книги в базу данных, игнорируя список ids."
#: /home/kovid/work/calibre/src/calibre/library/cli.py:548
#: /home/kovid/work/calibre/src/calibre/library/cli.py:547
msgid "Export books to the specified directory. Default is"
msgstr "Экспортировать книги в указанную дерикторию. По умолчанию"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:550
#: /home/kovid/work/calibre/src/calibre/library/cli.py:549
msgid "Export all books into a single directory"
msgstr "Экспортировать все книги в одну деррикторию"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:557
#: /home/kovid/work/calibre/src/calibre/library/cli.py:556
msgid "Specifying this switch will turn this behavior off."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/library/cli.py:580
#: /home/kovid/work/calibre/src/calibre/library/cli.py:579
msgid "You must specify some ids or the %s option"
msgstr "Вы должны указать id или опцию %s"
#: /home/kovid/work/calibre/src/calibre/library/cli.py:592
#: /home/kovid/work/calibre/src/calibre/library/cli.py:591
msgid ""
"%%prog command [options] [arguments]\n"
"\n"

View File

@ -608,6 +608,10 @@ class XMLConfig(dict):
def set(self, key, val):
self.__setitem__(key, val)
def __delitem__(self, key):
dict.__delitem__(self, key)
self.commit()
def commit(self):
if hasattr(self, 'file_path') and self.file_path:
dpath = os.path.dirname(self.file_path)

View File

@ -9,7 +9,6 @@ UTF-8 encoding with any charset declarations removed.
'''
import sys, socket, os, urlparse, re, time, copy, urllib2, threading, traceback
from urllib import url2pathname, quote
from threading import RLock
from httplib import responses
from PIL import Image
from cStringIO import StringIO
@ -39,7 +38,6 @@ class closing(object):
except Exception:
pass
_browser_lock = RLock()
bad_url_counter = 0
def basename(url):
@ -125,7 +123,6 @@ class RecursiveFetcher(object):
self.imagemap_lock = threading.RLock()
self.stylemap = css_map
self.image_url_processor = None
self.browser_lock = _browser_lock
self.stylemap_lock = threading.RLock()
self.downloaded_paths = []
self.current_dir = self.base_dir
@ -196,9 +193,8 @@ class RecursiveFetcher(object):
for i in range(2, 6):
purl[i] = quote(purl[i])
url = urlparse.urlunparse(purl)
with self.browser_lock:
try:
with closing(self.browser.open(url, timeout=self.timeout)) as f:
with closing(self.browser.open_novisit(url, timeout=self.timeout)) as f:
data = response(f.read()+f.read())
data.newurl = f.geturl()
except urllib2.URLError, err: