diff --git a/.bzrignore b/.bzrignore index 4dc2b4b9d4..5f0e9d30b6 100644 --- a/.bzrignore +++ b/.bzrignore @@ -2,6 +2,8 @@ .check-cache.pickle src/calibre/plugins resources/images.qrc +src/calibre/ebooks/oeb/display/test/*.js +resources/display/*.js src/calibre/manual/.build/ src/calibre/manual/cli/ src/calibre/manual/template_ref.rst diff --git a/Changelog.yaml b/Changelog.yaml index f5f9895d6c..c2b9843036 100644 --- a/Changelog.yaml +++ b/Changelog.yaml @@ -19,6 +19,65 @@ # new recipes: # - title: +- version: 0.8.31 + date: 2011-12-16 + + new features: + - title: "Conversion engine: When parsing invalid XHTML use the HTML 5 algorithm, for greater robustness." + tickets: [901466] + + - title: "Driver for PocketBook 611 and Lenovo IdeaPad" + + - title: "Allow customization of the order in which custom column editing is performed in the edit metadata dialog. Setting is available via Preferences->Tweaks." + tickets: [902731] + + - title: "MOBI news download: Allow recipes to set a thumbnail for entries in the periodical table of contents. Currently used by the NYTimes, WSJ, Independent, GUardian and Globe and Mail recipes" + tickets: [900130] + + - title: "E-book viewer: Add an option to the right click menu to search for the currently selected word" + + - title: "Automatically hide the no internet connection available error message if the connection is restored before the user clicks OK" + + bug fixes: + - title: "Fix comments not hidden in Book details panel when they are turned off via Preferences->Look & Feel->Book Details" + + - title: "E-book viewer: Do not popup an error message if the user tries to use the mouse wheel to scroll before a document is loaded." + tickets: [903449] + + - title: "Add docx to the list of ebook extensions." + tickets: [903452] + + - title: "When downloading metadata from non-English Amazon websites, do not correct the case of book titles." + + - title: "Fix regression in 0.8.30 that broke bulk conversion of a single book." + tickets: [902506] + + - title: "When minimized to system tray do not display the no internet connection error as a dialog box, instead use a system tray notification" + + - title: "Catalog generation: Include the series_index field for custom series columns as well" + + - title: "Comic Input: Do not rescale images when using the Tablet output profile (or any output profile with a screen size larger than 3000x3000)" + + - title: "HTML Input: Ignore unparseable URLs instead of crashing on them." + tickets: [902372] + + + improved recipes: + - La Republica + - CND + - Berliner Zeitung + - Zaman Gazetesi + + new recipes: + - title: CND Weekly + author: Derek Liang + + - title: descopera.org + author: Marius Ignatescu + + - title: Rynek Zdrowia + author: spi630 + - version: 0.8.30 date: 2011-12-09 diff --git a/recipes/berliner_zeitung.recipe b/recipes/berliner_zeitung.recipe index 6df88835eb..c4190439c7 100644 --- a/recipes/berliner_zeitung.recipe +++ b/recipes/berliner_zeitung.recipe @@ -1,61 +1,44 @@ from calibre.web.feeds.recipes import BasicNewsRecipe -import re + +'''Calibre recipe to convert the RSS feeds of the Berliner Zeitung to an ebook.''' class SportsIllustratedRecipe(BasicNewsRecipe) : - __author__ = 'ape' - __copyright__ = 'ape' + __author__ = 'a.peter' + __copyright__ = 'a.peter' __license__ = 'GPL v3' language = 'de' - description = 'Berliner Zeitung' - version = 2 + description = 'Berliner Zeitung RSS' + version = 4 title = u'Berliner Zeitung' timefmt = ' [%d.%m.%Y]' + #oldest_article = 7.0 no_stylesheets = True remove_javascript = True use_embedded_content = False publication_type = 'newspaper' - keep_only_tags = [dict(name='div', attrs={'class':'teaser t_split t_artikel'})] + remove_tags_before = dict(name='div', attrs={'class':'newstype'}) + remove_tags_after = [dict(id='article_text')] - INDEX = 'http://www.berlinonline.de/berliner-zeitung/' - - def parse_index(self): - base = 'http://www.berlinonline.de' - answer = [] - articles = {} - more = 1 - - soup = self.index_to_soup(self.INDEX) - - # Get list of links to ressorts from index page - ressort_list = soup.findAll('ul', attrs={'class': re.compile('ressortlist')}) - for ressort in ressort_list[0].findAll('a'): - feed_title = ressort.string - print 'Analyzing', feed_title - if not articles.has_key(feed_title): - articles[feed_title] = [] - answer.append(feed_title) - # Load ressort page. - feed = self.index_to_soup('http://www.berlinonline.de' + ressort['href']) - # find mainbar div which contains the list of all articles - for article_container in feed.findAll('div', attrs={'class': re.compile('mainbar')}): - # iterate over all articles - for article_teaser in article_container.findAll('div', attrs={'class': re.compile('teaser')}): - # extract title of article - if article_teaser.h3 != None: - article = {'title' : article_teaser.h3.a.string, 'date' : u'', 'url' : base + article_teaser.h3.a['href'], 'description' : u''} - articles[feed_title].append(article) - else: - # Skip teasers for missing photos - if article_teaser.div.p.contents[0].find('Foto:') > -1: - continue - article = {'title': 'Weitere Artikel ' + str(more), 'date': u'', 'url': base + article_teaser.div.p.a['href'], 'description': u''} - articles[feed_title].append(article) - more += 1 - answer = [[key, articles[key]] for key in answer if articles.has_key(key)] - return answer + feeds = [(u'Startseite', u'http://www.berliner-zeitung.de/home/10808950,10808950,view,asFeed.xml'), + (u'Politik', u'http://www.berliner-zeitung.de/home/10808018,10808018,view,asFeed.xml'), + (u'Wirtschaft', u'http://www.berliner-zeitung.de/home/10808230,10808230,view,asFeed.xml'), + (u'Berlin', u'http://www.berliner-zeitung.de/home/10809148,10809148,view,asFeed.xml'), + (u'Brandenburg', u'http://www.berliner-zeitung.de/home/10809312,10809312,view,asFeed.xml'), + (u'Wissenschaft', u'http://www.berliner-zeitung.de/home/10808894,10808894,view,asFeed.xml'), + (u'Digital', u'http://www.berliner-zeitung.de/home/10808718,10808718,view,asFeed.xml'), + (u'Kultur', u'http://www.berliner-zeitung.de/home/10809150,10809150,view,asFeed.xml'), + (u'Panorama', u'http://www.berliner-zeitung.de/home/10808334,10808334,view,asFeed.xml'), + (u'Sport', u'http://www.berliner-zeitung.de/home/10808794,10808794,view,asFeed.xml'), + (u'Hertha', u'http://www.berliner-zeitung.de/home/10808800,10808800,view,asFeed.xml'), + (u'Union', u'http://www.berliner-zeitung.de/home/10808802,10808802,view,asFeed.xml'), + (u'Verkehr', u'http://www.berliner-zeitung.de/home/10809298,10809298,view,asFeed.xml'), + (u'Polizei', u'http://www.berliner-zeitung.de/home/10809296,10809296,view,asFeed.xml'), + (u'Meinung', u'http://www.berliner-zeitung.de/home/10808020,10808020,view,asFeed.xml')] def get_masthead_url(self): - return 'http://www.berlinonline.de/.img/berliner-zeitung/blz_logo.gif' + return 'http://www.berliner-zeitung.de/image/view/10810244,7040611,data,logo.png' + def print_version(self, url): + return url.replace('.html', ',view,printVersion.html') diff --git a/recipes/cnd.recipe b/recipes/cnd.recipe index 0e8206d07a..c99166730c 100644 --- a/recipes/cnd.recipe +++ b/recipes/cnd.recipe @@ -23,7 +23,9 @@ class TheCND(BasicNewsRecipe): remove_tags = [dict(name='table', attrs={'align':'right'}), dict(name='img', attrs={'src':'http://my.cnd.org/images/logo.gif'}), dict(name='hr', attrs={}), dict(name='small', attrs={})] no_stylesheets = True - preprocess_regexps = [(re.compile(r'', re.DOTALL), lambda m: '')] + preprocess_regexps = [ (re.compile(r'', re.DOTALL), lambda m: ''), + (re.compile('', re.DOTALL), lambda m: ''), + ] def print_version(self, url): if url.find('news/article.php') >= 0: @@ -46,16 +48,18 @@ class TheCND(BasicNewsRecipe): title = self.tag_to_string(a) self.log('\tFound article: ', title, 'at', url) date = a.nextSibling + if re.search('cm', date): + continue if (date is not None) and len(date)>2: if not articles.has_key(date): articles[date] = [] articles[date].append({'title':title, 'url':url, 'description': '', 'date':''}) self.log('\t\tAppend to : ', date) - self.log('log articles', articles) + #self.log('log articles', articles) mostCurrent = sorted(articles).pop() - self.title = 'CND ' + mostCurrent - + self.title = 'CND ' + mostCurrent + feeds.append((self.title, articles[mostCurrent])) return feeds diff --git a/recipes/cnd_weekly.recipe b/recipes/cnd_weekly.recipe new file mode 100644 index 0000000000..21839ae110 --- /dev/null +++ b/recipes/cnd_weekly.recipe @@ -0,0 +1,72 @@ +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2010, Derek Liang ' +''' +cnd.org +''' +import re + +from calibre.web.feeds.news import BasicNewsRecipe + +class TheCND(BasicNewsRecipe): + + title = 'CND Weekly' + __author__ = 'Derek Liang' + description = '' + INDEX = 'http://cnd.org' + language = 'zh' + conversion_options = {'linearize_tables':True} + + remove_tags_before = dict(name='div', id='articleHead') + remove_tags_after = dict(id='copyright') + remove_tags = [dict(name='table', attrs={'align':'right'}), dict(name='img', attrs={'src':'http://my.cnd.org/images/logo.gif'}), dict(name='hr', attrs={}), dict(name='small', attrs={})] + no_stylesheets = True + + preprocess_regexps = [ (re.compile(r'', re.DOTALL), lambda m: ''), + (re.compile('
', re.DOTALL), lambda m: ''), + ] + + def print_version(self, url): + if url.find('news/article.php') >= 0: + return re.sub("^[^=]*", "http://my.cnd.org/modules/news/print.php?storyid", url) + else: + return re.sub("^[^=]*", "http://my.cnd.org/modules/wfsection/print.php?articleid", url) + + def parse_index(self): + soup = self.index_to_soup(self.INDEX) + + feeds = [] + articles = {} + + for a in soup.findAll('a', attrs={'target':'_cnd'}): + url = a['href'] + if url.find('article.php') < 0 : + continue + if url.startswith('/'): + url = 'http://cnd.org'+url + title = self.tag_to_string(a) + date = a.nextSibling + if not re.search('cm', date): + continue + self.log('\tFound article: ', title, 'at', url, '@', date) + if (date is not None) and len(date)>2: + if not articles.has_key(date): + articles[date] = [] + articles[date].append({'title':title, 'url':url, 'description': '', 'date':''}) + self.log('\t\tAppend to : ', date) + + + sorted_articles = sorted(articles) + while sorted_articles: + mostCurrent = sorted_articles.pop() + self.title = 'CND ' + mostCurrent + feeds.append((self.title, articles[mostCurrent])) + + return feeds + + def populate_article_metadata(self, article, soup, first): + header = soup.find('h3') + self.log('header: ' + self.tag_to_string(header)) + pass + diff --git a/recipes/descopera_org.recipe b/recipes/descopera_org.recipe index c76e88a588..c24046da12 100644 --- a/recipes/descopera_org.recipe +++ b/recipes/descopera_org.recipe @@ -1,27 +1,27 @@ -# -*- coding: utf-8 -*- -''' -descopera.org -''' - -from calibre.web.feeds.news import BasicNewsRecipe - -class Descopera(BasicNewsRecipe): - title = u'Descoperă.org' - __author__ = 'Marius Ignătescu' - description = 'Descoperă. Placerea de a cunoaște' - publisher = 'descopera.org' - category = 'science, technology, culture, history, earth' - language = 'ro' - oldest_article = 14 - max_articles_per_feed = 100 - encoding = 'utf8' - no_stylesheets = True - extra_css = ' body{ font-family: Verdana,Helvetica,Arial,sans-serif } .introduction{font-weight: bold} .story-feature{display: block; padding: 0; border: 1px solid; width: 40%; font-size: small} .story-feature h2{text-align: center; text-transform: uppercase} ' - keep_only_tags = [dict(name='div', attrs={'class':['post']})] - remove_tags = [dict(name='div', attrs={'class':['topnav', 'box_a', 'shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge']})] - remove_attributes = ['width','height'] - cover_url = 'http://www.descopera.org/wp-content/themes/dorg/styles/default/img/b_top.png?width=400' - feeds = [(u'Articles', u'http://www.descopera.org/feed/')] - - def preprocess_html(self, soup): - return self.adeify_images(soup) +# -*- coding: utf-8 -*- +''' +descopera.org +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Descopera(BasicNewsRecipe): + title = u'Descoperă.org' + __author__ = 'Marius Ignătescu' + description = 'Descoperă. Placerea de a cunoaște' + publisher = 'descopera.org' + category = 'science, technology, culture, history, earth' + language = 'ro' + oldest_article = 14 + max_articles_per_feed = 100 + encoding = 'utf8' + no_stylesheets = True + extra_css = ' body{ font-family: Verdana,Helvetica,Arial,sans-serif } .introduction{font-weight: bold} .story-feature{display: block; padding: 0; border: 1px solid; width: 40%; font-size: small} .story-feature h2{text-align: center; text-transform: uppercase} ' + keep_only_tags = [dict(name='div', attrs={'class':['post']})] + remove_tags = [dict(name='div', attrs={'class':['topnav', 'box_a', 'shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge']})] + remove_attributes = ['width','height'] + cover_url = 'http://www.descopera.org/wp-content/themes/dorg/styles/default/img/b_top.png?width=400' + feeds = [(u'Articles', u'http://www.descopera.org/feed/')] + + def preprocess_html(self, soup): + return self.adeify_images(soup) diff --git a/recipes/globe_and_mail.recipe b/recipes/globe_and_mail.recipe index 03061a2329..a7c78887c5 100644 --- a/recipes/globe_and_mail.recipe +++ b/recipes/globe_and_mail.recipe @@ -51,6 +51,13 @@ class AdvancedUserRecipe1287083651(BasicNewsRecipe): {'class':['articleTools', 'pagination', 'Ads', 'topad', 'breadcrumbs', 'footerNav', 'footerUtil', 'downloadlinks']}] + def populate_article_metadata(self, article, soup, first): + if first and hasattr(self, 'add_toc_thumbnail'): + picdiv = soup.find('img') + if picdiv is not None: + self.add_toc_thumbnail(article,picdiv['src']) + + #Use the mobile version rather than the web version def print_version(self, url): return url.rpartition('?')[0] + '?service=mobile' diff --git a/recipes/guardian.recipe b/recipes/guardian.recipe index 840e8302af..8bff4f9be8 100644 --- a/recipes/guardian.recipe +++ b/recipes/guardian.recipe @@ -79,6 +79,12 @@ class Guardian(BasicNewsRecipe): url = None return url + def populate_article_metadata(self, article, soup, first): + if first and hasattr(self, 'add_toc_thumbnail'): + picdiv = soup.find('img') + if picdiv is not None: + self.add_toc_thumbnail(article,picdiv['src']) + def preprocess_html(self, soup): # multiple html sections in soup, useful stuff in the first diff --git a/recipes/independent.recipe b/recipes/independent.recipe index ebe0a30fd2..db89a07264 100644 --- a/recipes/independent.recipe +++ b/recipes/independent.recipe @@ -104,6 +104,13 @@ class TheIndependentNew(BasicNewsRecipe): url = None return url + def populate_article_metadata(self, article, soup, first): + if first and hasattr(self, 'add_toc_thumbnail'): + picdiv = soup.find('img') + if picdiv is not None: + self.add_toc_thumbnail(article,picdiv['src']) + + def preprocess_html(self, soup): #remove 'advertorial articles' diff --git a/recipes/la_republica.recipe b/recipes/la_republica.recipe index 05be1955b4..2259f2dc52 100644 --- a/recipes/la_republica.recipe +++ b/recipes/la_republica.recipe @@ -1,13 +1,12 @@ __license__ = 'GPL v3' __author__ = 'Lorenzo Vigentini, based on Darko Miletic, Gabriele Marini' __copyright__ = '2009-2011, Darko Miletic , Lorenzo Vigentini ' -description = 'Italian daily newspaper - v1.01 (04, January 2010); 16.05.2010 new version; 17.10.2011 new version' +description = 'Italian daily newspaper - v1.01 (04, January 2010); 16.05.2010 new version; 17.10.2011 new version; 14.12.2011 new version' ''' http://www.repubblica.it/ ''' -import re from calibre.ptempfile import PersistentTemporaryFile from calibre.web.feeds.news import BasicNewsRecipe @@ -25,27 +24,21 @@ class LaRepubblica(BasicNewsRecipe): use_embedded_content = False no_stylesheets = True publication_type = 'newspaper' - articles_are_obfuscated = True - temp_files = [] + articles_are_obfuscated = True + temp_files = [] extra_css = """ img{display: block} """ - + remove_attributes = ['width','height','lang','xmlns:og','xmlns:fb'] - - preprocess_regexps = [ - (re.compile(r'.*?', re.DOTALL|re.IGNORECASE), lambda match: ''), - (re.compile(r'.*?', re.DOTALL|re.IGNORECASE), lambda match: '<head><title>'), - (re.compile(r'.*?', re.DOTALL|re.IGNORECASE), lambda match: '') - ] - + def get_article_url(self, article): link = BasicNewsRecipe.get_article_url(self, article) if link and not '.repubblica.it/' in link: link2 = article.get('id', article.get('guid', None)) if link2: link = link2 - return link.rpartition('?')[0] + return link.rpartition('?')[0] def get_obfuscated_article(self, url): count = 0 @@ -56,12 +49,12 @@ class LaRepubblica(BasicNewsRecipe): count = 10 except: print "Retrying download..." - count += 1 + count += 1 self.temp_files.append(PersistentTemporaryFile('_fa.html')) self.temp_files[-1].write(html) self.temp_files[-1].close() return self.temp_files[-1].name - + keep_only_tags = [ dict(attrs={'class':'articolo'}), dict(attrs={'class':'body-text'}), @@ -73,15 +66,15 @@ class LaRepubblica(BasicNewsRecipe): remove_tags = [ dict(name=['object','link','meta','iframe','embed']), dict(name='span',attrs={'class':'linkindice'}), - dict(name='div', attrs={'class':'bottom-mobile'}), - dict(name='div', attrs={'id':['rssdiv','blocco']}), - dict(name='div', attrs={'class':'utility'}), + dict(name='div', attrs={'class':['bottom-mobile','adv adv-middle-inline']}), + dict(name='div', attrs={'id':['rssdiv','blocco','fb-like-head']}), + dict(name='div', attrs={'class':['utility','fb-like-button','archive-button']}), dict(name='div', attrs={'class':'generalbox'}), dict(name='ul', attrs={'id':'hystory'}) ] feeds = [ - (u'Rilievo', u'http://www.repubblica.it/rss/homepage/rss2.0.xml'), + (u'Homepage', u'http://www.repubblica.it/rss/homepage/rss2.0.xml'), (u'Cronaca', u'http://www.repubblica.it/rss/cronaca/rss2.0.xml'), (u'Esteri', u'http://www.repubblica.it/rss/esteri/rss2.0.xml'), (u'Economia', u'http://www.repubblica.it/rss/economia/rss2.0.xml'), @@ -105,8 +98,10 @@ class LaRepubblica(BasicNewsRecipe): def preprocess_html(self, soup): for item in soup.findAll(['hgroup','deresponsabilizzazione','per']): item.name = 'div' - item.attrs = [] + item.attrs = [] for item in soup.findAll(style=True): - del item['style'] + del item['style'] return soup - + + def preprocess_raw_html(self, raw, url): + return ''+raw[raw.find(''):] diff --git a/recipes/nytimes.recipe b/recipes/nytimes.recipe index 0a5c310af4..3876c1428c 100644 --- a/recipes/nytimes.recipe +++ b/recipes/nytimes.recipe @@ -1,5 +1,5 @@ #!/usr/bin/env python - +# -*- coding: utf-8 -*- __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal ' ''' @@ -707,6 +707,16 @@ class NYTimes(BasicNewsRecipe): return soup def populate_article_metadata(self, article, soup, first): + if first and hasattr(self, 'add_toc_thumbnail'): + idxdiv = soup.find('div',attrs={'class':'articleSpanImage'}) + if idxdiv is not None: + if idxdiv.img: + self.add_toc_thumbnail(article, idxdiv.img['src']) + else: + img = soup.find('img') + if img is not None: + self.add_toc_thumbnail(article, img['src']) + shortparagraph = "" try: if len(article.text_summary.strip()) == 0: diff --git a/recipes/nytimes_sub.recipe b/recipes/nytimes_sub.recipe index d24307c887..7c59b2fc16 100644 --- a/recipes/nytimes_sub.recipe +++ b/recipes/nytimes_sub.recipe @@ -855,6 +855,16 @@ class NYTimes(BasicNewsRecipe): return soup def populate_article_metadata(self, article, soup, first): + if first and hasattr(self, 'add_toc_thumbnail'): + idxdiv = soup.find('div',attrs={'class':'articleSpanImage'}) + if idxdiv is not None: + if idxdiv.img: + self.add_toc_thumbnail(article, idxdiv.img['src']) + else: + img = soup.find('img') + if img is not None: + self.add_toc_thumbnail(article, img['src']) + shortparagraph = "" try: if len(article.text_summary.strip()) == 0: diff --git a/recipes/sueddeutsche.recipe b/recipes/sueddeutsche.recipe index 8e80150d7d..5858fed11f 100644 --- a/recipes/sueddeutsche.recipe +++ b/recipes/sueddeutsche.recipe @@ -12,39 +12,39 @@ class Sueddeutsche(BasicNewsRecipe): title = u'sueddeutsche.de' description = 'News from Germany' - __author__ = 'Oliver Niesner and Armin Geller' #AGe 2011-11-25 + __author__ = 'Oliver Niesner and Armin Geller' #AGe 2011-12-16 use_embedded_content = False timefmt = ' [%d %b %Y]' - oldest_article = 7 - max_articles_per_feed = 50 + oldest_article = 1#7 + max_articles_per_feed = 2#50 no_stylesheets = True language = 'de' - + auto_cleanup = True encoding = 'utf-8' remove_javascript = True - cover_url = 'http://polpix.sueddeutsche.com/polopoly_fs/1.1219199.1322239289!/image/image.jpg_gen/derivatives/860x860/image.jpg' # 2011-11-25 AGe - - remove_tags = [ dict(name='link'), dict(name='iframe'), - dict(name='div', attrs={'id':["bookmarking","themenbox","artikelfoot","CAD_AD", - "SKY_AD","NT1_AD","navbar1","sdesiteheader"]}), - - dict(name='div', attrs={'class':["similar-article-box","artikelliste","nteaser301bg", - "pages closed","basebox right narrow","headslot galleried"]}), - - dict(name='div', attrs={'class':["articleDistractor","listHeader","listHeader2","hr2", - "item","videoBigButton","articlefooter full-column", - "bildbanderolle full-column","footerCopy padleft5"]}), - - dict(name='p', attrs={'class':["ressortartikeln","artikelFliestext","entry-summary"]}), - dict(name='div', attrs={'style':["position:relative;"]}), - dict(name='span', attrs={'class':["nlinkheaderteaserschwarz","artikelLink","r10000000"]}), - dict(name='table', attrs={'class':["stoerBS","kommentare","footer","pageBoxBot","pageAktiv","bgcontent"]}), - dict(name='ul', attrs={'class':["breadcrumb","articles","activities","sitenav","actions"]}), - dict(name='td', attrs={'class':["artikelDruckenRight"]}), - dict(name='p', text = "ANZEIGE") - ] - remove_tags_after = [dict(name='div', attrs={'class':["themenbox full-column"]})] - + cover_url = 'http://polpix.sueddeutsche.com/polopoly_fs/1.1236175.1323967473!/image/image.jpg_gen/derivatives/860x860/image.jpg' # 2011-12-16 AGe +# 2011-12-16 AGe +# remove_tags = [ dict(name='link'), dict(name='iframe'), +# dict(name='div', attrs={'id':["bookmarking","themenbox","artikelfoot","CAD_AD", +# "SKY_AD","NT1_AD","navbar1","sdesiteheader"]}), +# +# dict(name='div', attrs={'class':["similar-article-box","artikelliste","nteaser301bg", +# "pages closed","basebox right narrow","headslot galleried"]}), +# +# dict(name='div', attrs={'class':["articleDistractor","listHeader","listHeader2","hr2", +# "item","videoBigButton","articlefooter full-column", +# "bildbanderolle full-column","footerCopy padleft5"]}), +# +# dict(name='p', attrs={'class':["ressortartikeln","artikelFliestext","entry-summary"]}), +# dict(name='div', attrs={'style':["position:relative;"]}), +# dict(name='span', attrs={'class':["nlinkheaderteaserschwarz","artikelLink","r10000000"]}), +# dict(name='table', attrs={'class':["stoerBS","kommentare","footer","pageBoxBot","pageAktiv","bgcontent"]}), +# dict(name='ul', attrs={'class':["breadcrumb","articles","activities","sitenav","actions"]}), +# dict(name='td', attrs={'class':["artikelDruckenRight"]}), +# dict(name='p', text = "ANZEIGE") +# ] +# remove_tags_after = [dict(name='div', attrs={'class':["themenbox full-column"]})] +# extra_css = ''' h2{font-family:Arial,Helvetica,sans-serif; font-size: x-small; color: #003399;} a{font-family:Arial,Helvetica,sans-serif; font-style:italic;} @@ -53,30 +53,45 @@ class Sueddeutsche(BasicNewsRecipe): .artikelTeaser{font-family:Arial,Helvetica,sans-serif; font-size: x-small; font-weight:bold; } body{font-family:Arial,Helvetica,sans-serif; } .photo {font-family:Arial,Helvetica,sans-serif; font-size: x-small; color: #666666;} ''' - +# feeds = [ - (u'Politik', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EPolitik%24?output=rss'), - (u'Wirtschaft', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EWirtschaft%24?output=rss'), - (u'Geld', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EGeld%24?output=rss'), - (u'Kultur', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EKultur%24?output=rss'), - (u'Sport', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5ESport%24?output=rss'), - (u'Leben', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5ELeben%24?output=rss'), - (u'Karriere', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EKarriere%24?output=rss'), - (u'München & Region', u'http://www.sueddeutsche.de/app/service/rss/ressort/muenchen/rss.xml'), # AGe 2011-11-13 - (u'Bayern', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EBayern%24?output=rss'), - (u'Medien', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EMedien%24?output=rss'), - (u'Digital', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EDigital%24?output=rss'), - (u'Auto', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EAuto%24?output=rss'), - (u'Wissen', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EWissen%24?output=rss'), - (u'Panorama', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EPanorama%24?output=rss'), - (u'Reise', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EReise%24?output=rss'), - (u'Technik', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5ETechnik%24?output=rss'), # sometimes only - (u'Macht', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EMacht%24?output=rss'), # sometimes only - (u'Job', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EJob%24?output=rss'), # sometimes only - (u'Service', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EService%24?output=rss'), # sometimes only - (u'Verlag', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EVerlag%24?output=rss'), # sometimes only +# (u'Politik', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EPolitik%24?output=rss'), #AGe 2011-12-16 deactivated +# (u'Wirtschaft', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EWirtschaft%24?output=rss'), #AGe 2011-12-16 deactivated +# (u'Geld', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EGeld%24?output=rss'), #AGe 2011-12-16 deactivated +# (u'Kultur', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EKultur%24?output=rss'), #AGe 2011-12-16 deactivated +# (u'Sport', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5ESport%24?output=rss'), #AGe 2011-12-16 deactivated +# (u'Leben', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5ELeben%24?output=rss'), #AGe 2011-12-16 deactivated +# (u'Karriere', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EKarriere%24?output=rss'), #AGe 2011-12-16 deactivated +# (u'München & Region', u'http://www.sueddeutsche.de/app/service/rss/ressort/muenchen/rss.xml'), # AGe 2011-11-13 +# (u'Bayern', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EBayern%24?output=rss'), #AGe 2011-12-16 deactivated +# (u'Medien', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EMedien%24?output=rss'), #AGe 2011-12-16 deactivated +# (u'Digital', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EDigital%24?output=rss'), #AGe 2011-12-16 deactivated +# (u'Auto', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EAuto%24?output=rss'), #AGe 2011-12-16 deactivated +# (u'Wissen', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EWissen%24?output=rss'), #AGe 2011-12-16 deactivated +# (u'Panorama', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EPanorama%24?output=rss'), #AGe 2011-12-16 deactivated +# (u'Reise', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EReise%24?output=rss'), #AGe 2011-12-16 deactivated +# (u'Technik', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5ETechnik%24?output=rss'), # sometimes only #AGe 2011-12-16 deactivated +# (u'Macht', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EMacht%24?output=rss'), # sometimes only #AGe 2011-12-16 deactivated +# (u'Job', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EJob%24?output=rss'), # sometimes only #AGe 2011-12-16 deactivated +# (u'Service', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EService%24?output=rss'), # sometimes only #AGe 2011-12-16 deactivated +# (u'Verlag', u'http://suche.sueddeutsche.de/query/%23/sort/-docdatetime/drilldown/%C2%A7ressort%3A%5EVerlag%24?output=rss'), # sometimes only #AGe 2011-12-16 deactivated + (u'Politik', u'http://www.sueddeutsche.de/app/service/rss/ressort/politik/rss.xml'), + (u'Wirtschaft', u'http://www.sueddeutsche.de/app/service/rss/ressort/wirtschaft/rss.xml'), + (u'Geld', u'http://www.sueddeutsche.de/app/service/rss/ressort/finanzen/rss.xml'), + (u'Kultur', u'http://www.sueddeutsche.de/app/service/rss/ressort/kultur/rss.xml'), + (u'Sport', u'http://www.sueddeutsche.de/app/service/rss/ressort/sport/rss.xml'), + (u'Leben', u'http://www.sueddeutsche.de/app/service/rss/ressort/leben/rss.xml'), + (u'Karriere', u'http://www.sueddeutsche.de/app/service/rss/ressort/karriere/rss.xml'), + (u'München & Region', u'http://www.sueddeutsche.de/app/service/rss/ressort/muenchen/rss.xml'), + (u'Bayern', u'http://www.sueddeutsche.de/app/service/rss/ressort/bayern/rss.xml'), + (u'Medien', u'http://www.sueddeutsche.de/app/service/rss/ressort/medien/rss.xml'), + (u'Digital', u'http://www.sueddeutsche.de/app/service/rss/ressort/computerwissen/rss.xml'), + (u'Auto', u'http://www.sueddeutsche.de/app/service/rss/ressort/autoreise/rss.xml'), + (u'Wissen', u'http://www.sueddeutsche.de/app/service/rss/ressort/wissen/rss.xml'), + (u'Panorama', u'http://www.sueddeutsche.de/app/service/rss/ressort/panorama/rss.xml'), + (u'Reise', u'http://www.sueddeutsche.de/app/service/rss/ressort/reise/rss.xml'), ] - def print_version(self, url): - main, sep, id = url.rpartition('/') - return main + '/2.220/' + id +# def print_version(self, url): #AGe 2011-12-16 deactivated +# main, sep, id = url.rpartition('/') #AGe 2011-12-16 deactivated +# return main + '/2.220/' + id #AGe 2011-12-16 deactivated diff --git a/recipes/telegraph_uk.recipe b/recipes/telegraph_uk.recipe index 157cfa99e9..347352d424 100644 --- a/recipes/telegraph_uk.recipe +++ b/recipes/telegraph_uk.recipe @@ -59,6 +59,11 @@ class TelegraphUK(BasicNewsRecipe): ,(u'Travel' , u'http://www.telegraph.co.uk/travel/rss' ) ,(u'How about that?', u'http://www.telegraph.co.uk/news/newstopics/howaboutthat/rss' ) ] + def populate_article_metadata(self, article, soup, first): + if first and hasattr(self, 'add_toc_thumbnail'): + picdiv = soup.find('img') + if picdiv is not None: + self.add_toc_thumbnail(article,picdiv['src']) def get_article_url(self, article): url = article.get('link', None) diff --git a/recipes/wsj.recipe b/recipes/wsj.recipe index f01e7ae858..0e6f40de26 100644 --- a/recipes/wsj.recipe +++ b/recipes/wsj.recipe @@ -57,6 +57,12 @@ class WallStreetJournal(BasicNewsRecipe): 'username and password') return br + def populate_article_metadata(self, article, soup, first): + if first and hasattr(self, 'add_toc_thumbnail'): + picdiv = soup.find('img') + if picdiv is not None: + self.add_toc_thumbnail(article,picdiv['src']) + def postprocess_html(self, soup, first): for tag in soup.findAll(name=['table', 'tr', 'td']): tag.name = 'div' diff --git a/recipes/wsj_free.recipe b/recipes/wsj_free.recipe index 42d791294a..deea63aa64 100644 --- a/recipes/wsj_free.recipe +++ b/recipes/wsj_free.recipe @@ -44,6 +44,12 @@ class WallStreetJournal(BasicNewsRecipe): ] remove_tags_after = [dict(id="article_story_body"), {'class':"article story"},] + def populate_article_metadata(self, article, soup, first): + if first and hasattr(self, 'add_toc_thumbnail'): + picdiv = soup.find('img') + if picdiv is not None: + self.add_toc_thumbnail(article,picdiv['src']) + def postprocess_html(self, soup, first): for tag in soup.findAll(name=['table', 'tr', 'td']): tag.name = 'div' diff --git a/session.vim b/session.vim index b2617c6334..eb3f3935d9 100644 --- a/session.vim +++ b/session.vim @@ -1,5 +1,5 @@ " Project wide builtins -let g:pyflakes_builtins = ["_", "dynamic_property", "__", "P", "I", "lopen", "icu_lower", "icu_upper", "icu_title", "ngettext"] +let $PYFLAKES_BUILTINS = "_,dynamic_property,__,P,I,lopen,icu_lower,icu_upper,icu_title,ngettext" python << EOFPY import os, sys diff --git a/setup/commands.py b/setup/commands.py index c7aa3ab307..e8ac6d8e42 100644 --- a/setup/commands.py +++ b/setup/commands.py @@ -11,7 +11,7 @@ __all__ = [ 'build', 'build_pdf2xml', 'server', 'gui', 'develop', 'install', - 'kakasi', 'resources', + 'kakasi', 'coffee', 'resources', 'check', 'sdist', 'manual', 'tag_release', @@ -49,9 +49,10 @@ gui = GUI() from setup.check import Check check = Check() -from setup.resources import Resources, Kakasi +from setup.resources import Resources, Kakasi, Coffee resources = Resources() kakasi = Kakasi() +coffee = Coffee() from setup.publish import Manual, TagRelease, Stage1, Stage2, \ Stage3, Stage4, Stage5, Publish diff --git a/setup/iso_639/ca.po b/setup/iso_639/ca.po index 3a056addb4..1286dcebc2 100644 --- a/setup/iso_639/ca.po +++ b/setup/iso_639/ca.po @@ -12,14 +12,14 @@ msgstr "" "Report-Msgid-Bugs-To: Debian iso-codes team \n" "POT-Creation-Date: 2011-11-25 14:01+0000\n" -"PO-Revision-Date: 2011-11-22 16:45+0000\n" +"PO-Revision-Date: 2011-12-14 19:48+0000\n" "Last-Translator: Ferran Rius \n" "Language-Team: Catalan \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-11-26 05:10+0000\n" -"X-Generator: Launchpad (build 14381)\n" +"X-Launchpad-Export-Date: 2011-12-15 05:18+0000\n" +"X-Generator: Launchpad (build 14487)\n" "Language: ca\n" #. name for aaa @@ -9348,7 +9348,7 @@ msgstr "Seit-Kaitetu" #. name for hil msgid "Hiligaynon" -msgstr "" +msgstr "Hiligainon" #. name for hin msgid "Hindi" @@ -9356,39 +9356,39 @@ msgstr "Hindi" #. name for hio msgid "Tsoa" -msgstr "" +msgstr "Tsoa" #. name for hir msgid "Himarimã" -msgstr "" +msgstr "Himarimà" #. name for hit msgid "Hittite" -msgstr "" +msgstr "Hittita" #. name for hiw msgid "Hiw" -msgstr "" +msgstr "Hiw" #. name for hix msgid "Hixkaryána" -msgstr "" +msgstr "Hishkaryana" #. name for hji msgid "Haji" -msgstr "" +msgstr "Aji" #. name for hka msgid "Kahe" -msgstr "" +msgstr "Kahe" #. name for hke msgid "Hunde" -msgstr "" +msgstr "Hunde" #. name for hkk msgid "Hunjara-Kaina Ke" -msgstr "" +msgstr "Hunjara" #. name for hks msgid "Hong Kong Sign Language" @@ -9396,27 +9396,27 @@ msgstr "Llenguatge de signes de Hong Kong" #. name for hla msgid "Halia" -msgstr "" +msgstr "Halia" #. name for hlb msgid "Halbi" -msgstr "" +msgstr "Halbi" #. name for hld msgid "Halang Doan" -msgstr "" +msgstr "Halang Doan" #. name for hle msgid "Hlersu" -msgstr "" +msgstr "Sansu" #. name for hlt msgid "Nga La" -msgstr "" +msgstr "Nga La" #. name for hlu msgid "Luwian; Hieroglyphic" -msgstr "" +msgstr "Luvi; jeroglífic" #. name for hma msgid "Miao; Southern Mashan" @@ -9424,7 +9424,7 @@ msgstr "Miao; Mashan meridional" #. name for hmb msgid "Songhay; Humburi Senni" -msgstr "" +msgstr "Songhai; central" #. name for hmc msgid "Miao; Central Huishui" @@ -9440,11 +9440,11 @@ msgstr "Miao; Huishui oriental" #. name for hmf msgid "Hmong Don" -msgstr "" +msgstr "Miao; Don" #. name for hmg msgid "Hmong; Southwestern Guiyang" -msgstr "" +msgstr "Miao; Guiyang sudoccidental" #. name for hmh msgid "Miao; Southwestern Huishui" @@ -9456,11 +9456,11 @@ msgstr "Miao; Huishui septentrional" #. name for hmj msgid "Ge" -msgstr "" +msgstr "Ge" #. name for hmk msgid "Maek" -msgstr "" +msgstr "Maek" #. name for hml msgid "Miao; Luopohe" @@ -9472,11 +9472,11 @@ msgstr "Miao; Mashan central" #. name for hmn msgid "Hmong" -msgstr "" +msgstr "Hmong (macrollengua)" #. name for hmo msgid "Hiri Motu" -msgstr "" +msgstr "Hiri Motu" #. name for hmp msgid "Miao; Northern Mashan" @@ -9488,7 +9488,7 @@ msgstr "Miao; Qiandong oriental" #. name for hmr msgid "Hmar" -msgstr "" +msgstr "Hmar" #. name for hms msgid "Miao; Southern Qiandong" @@ -9496,15 +9496,15 @@ msgstr "Miao; Qiandong meridional" #. name for hmt msgid "Hamtai" -msgstr "" +msgstr "Hamtai" #. name for hmu msgid "Hamap" -msgstr "" +msgstr "Hamap" #. name for hmv msgid "Hmong Dô" -msgstr "" +msgstr "Miao; Do" #. name for hmw msgid "Miao; Western Mashan" @@ -9520,19 +9520,19 @@ msgstr "Miao; Shua" #. name for hna msgid "Mina (Cameroon)" -msgstr "" +msgstr "Mina (Camerun)" #. name for hnd msgid "Hindko; Southern" -msgstr "" +msgstr "Hindko; meridional" #. name for hne msgid "Chhattisgarhi" -msgstr "" +msgstr "Chattisgarbi" #. name for hnh msgid "//Ani" -msgstr "" +msgstr "Ani" #. name for hni msgid "Hani" @@ -9540,7 +9540,7 @@ msgstr "" #. name for hnj msgid "Hmong Njua" -msgstr "" +msgstr "Miao; Hmong Njua" #. name for hnn msgid "Hanunoo" @@ -9548,7 +9548,7 @@ msgstr "" #. name for hno msgid "Hindko; Northern" -msgstr "" +msgstr "Hindko; septentrional" #. name for hns msgid "Hindustani; Caribbean" @@ -11800,7 +11800,7 @@ msgstr "" #. name for khq msgid "Songhay; Koyra Chiini" -msgstr "" +msgstr "Songhai; Koyra" #. name for khr msgid "Kharia" @@ -17288,7 +17288,7 @@ msgstr "" #. name for mww msgid "Hmong Daw" -msgstr "" +msgstr "Miao; blanc" #. name for mwx msgid "Mediak" @@ -28680,7 +28680,7 @@ msgstr "" #. name for xlu msgid "Luwian; Cuneiform" -msgstr "" +msgstr "Luvi; cuneïforme" #. name for xly msgid "Elymian" diff --git a/setup/resources.py b/setup/resources.py index bfb0572229..723c37f7eb 100644 --- a/setup/resources.py +++ b/setup/resources.py @@ -6,7 +6,7 @@ __license__ = 'GPL v3' __copyright__ = '2009, Kovid Goyal ' __docformat__ = 'restructuredtext en' -import os, cPickle, re, shutil, marshal, zipfile, glob +import os, cPickle, re, shutil, marshal, zipfile, glob, subprocess, time from zlib import compress from setup import Command, basenames, __appname__ @@ -23,7 +23,70 @@ def get_opts_from_parser(parser): for o in g.option_list: for x in do_opt(o): yield x -class Kakasi(Command): +class Coffee(Command): # {{{ + + description = 'Compile coffeescript files into javascript' + COFFEE_DIRS = {'ebooks/oeb/display': 'display'} + + def add_options(self, parser): + parser.add_option('--watch', '-w', action='store_true', default=False, + help='Autocompile when .coffee files are changed') + parser.add_option('--show-js', action='store_true', default=False, + help='Display the generated javascript') + + def run(self, opts): + self.do_coffee_compile(opts) + if opts.watch: + try: + while True: + time.sleep(0.5) + self.do_coffee_compile(opts, timestamp=True, + ignore_errors=True) + except KeyboardInterrupt: + pass + + def show_js(self, jsfile): + from pygments.lexers import JavascriptLexer + from pygments.formatters import TerminalFormatter + from pygments import highlight + with open(jsfile, 'rb') as f: + raw = f.read() + print highlight(raw, JavascriptLexer(), TerminalFormatter()) + + def do_coffee_compile(self, opts, timestamp=False, ignore_errors=False): + for toplevel, dest in self.COFFEE_DIRS.iteritems(): + dest = self.j(self.RESOURCES, dest) + for x in glob.glob(self.j(self.SRC, __appname__, toplevel, '*.coffee')): + js = self.j(dest, os.path.basename(x.rpartition('.')[0]+'.js')) + if self.newer(js, x): + print ('\t%sCompiling %s'%(time.strftime('[%H:%M:%S] ') if + timestamp else '', os.path.basename(x))) + try: + subprocess.check_call(['coffee', '-c', '-o', dest, x]) + except: + print ('\n\tCompilation of %s failed'%os.path.basename(x)) + if ignore_errors: + with open(js, 'wb') as f: + f.write('# Compilation from coffeescript failed') + else: + raise SystemExit(1) + else: + if opts.show_js: + self.show_js(js) + print ('#'*80) + print ('#'*80) + + def clean(self): + for toplevel, dest in self.COFFEE_DIRS.iteritems(): + dest = self.j(self.RESOURCES, dest) + for x in glob.glob(self.j(self.SRC, __appname__, toplevel, '*.coffee')): + x = x.rpartition('.')[0] + '.js' + x = self.j(dest, os.path.basename(x)) + if os.path.exists(x): + os.remove(x) +# }}} + +class Kakasi(Command): # {{{ description = 'Compile resources for unihandecode' @@ -62,9 +125,6 @@ class Kakasi(Command): self.info('\tGenerating kanadict') self.mkkanadict(src, dest) - return - - def mkitaiji(self, src, dst): dic = {} for line in open(src, "r"): @@ -125,11 +185,12 @@ class Kakasi(Command): kakasi = self.j(self.RESOURCES, 'localization', 'pykakasi') if os.path.exists(kakasi): shutil.rmtree(kakasi) +# }}} -class Resources(Command): +class Resources(Command): # {{{ description = 'Compile various needed calibre resources' - sub_commands = ['kakasi'] + sub_commands = ['kakasi', 'coffee'] def run(self, opts): scripts = {} @@ -223,13 +284,13 @@ class Resources(Command): x = self.j(self.RESOURCES, x+'.pickle') if os.path.exists(x): os.remove(x) - from setup.commands import kakasi + from setup.commands import kakasi, coffee kakasi.clean() + coffee.clean() for x in ('builtin_recipes.xml', 'builtin_recipes.zip', 'template-functions.json'): x = self.j(self.RESOURCES, x) if os.path.exists(x): os.remove(x) - - +# }}} diff --git a/setup/translations.py b/setup/translations.py index ddaac31fb1..ae5bd620b2 100644 --- a/setup/translations.py +++ b/setup/translations.py @@ -215,32 +215,34 @@ class GetTranslations(Translations): # {{{ description = 'Get updated translations from Launchpad' BRANCH = 'lp:~kovid/calibre/translations' - @classmethod - def modified_translations(cls): - raw = subprocess.Popen(['bzr', 'status'], + @property + def modified_translations(self): + raw = subprocess.Popen(['bzr', 'status', '-S', self.PATH], stdout=subprocess.PIPE).stdout.read().strip() + ans = [] for line in raw.splitlines(): line = line.strip() - if line.startswith(cls.PATH) and line.endswith('.po'): - yield line + if line.startswith('M') and line.endswith('.po'): + ans.append(line.split()[-1]) + return ans def run(self, opts): - if len(list(self.modified_translations())) == 0: + if not self.modified_translations: subprocess.check_call(['bzr', 'merge', self.BRANCH]) - if len(list(self.modified_translations())) == 0: - print 'No updated translations available' - else: - subprocess.check_call(['bzr', 'commit', '-m', - 'IGN:Updated translations', self.PATH]) self.check_for_errors() - @classmethod - def check_for_errors(cls): + if self.modified_translations: + subprocess.check_call(['bzr', 'commit', '-m', + 'IGN:Updated translations', self.PATH]) + else: + print('No updated translations available') + + def check_for_errors(self): errors = os.path.join(tempfile.gettempdir(), 'calibre-translation-errors') if os.path.exists(errors): shutil.rmtree(errors) os.mkdir(errors) - pofilter = ('pofilter', '-i', cls.PATH, '-o', errors, + pofilter = ('pofilter', '-i', self.PATH, '-o', errors, '-t', 'accelerators', '-t', 'escapes', '-t', 'variables', #'-t', 'xmltags', #'-t', 'brackets', @@ -253,23 +255,20 @@ class GetTranslations(Translations): # {{{ '-t', 'printf') subprocess.check_call(pofilter) errfiles = glob.glob(errors+os.sep+'*.po') - subprocess.check_call(['gvim', '-f', '-p', '--']+errfiles) - for f in errfiles: - with open(f, 'r+b') as f: - raw = f.read() - raw = re.sub(r'# \(pofilter\).*', '', raw) - f.seek(0) - f.truncate() - f.write(raw) + if errfiles: + subprocess.check_call(['gvim', '-f', '-p', '--']+errfiles) + for f in errfiles: + with open(f, 'r+b') as f: + raw = f.read() + raw = re.sub(r'# \(pofilter\).*', '', raw) + f.seek(0) + f.truncate() + f.write(raw) - subprocess.check_call(['pomerge', '-t', cls.PATH, '-i', errors, '-o', - cls.PATH]) - if len(list(cls.modified_translations())) > 0: - subprocess.call(['bzr', 'diff', cls.PATH]) - yes = raw_input('Merge corrections? [y/n]: ').strip() - if yes in ['', 'y']: - subprocess.check_call(['bzr', 'commit', '-m', - 'IGN:Translation corrections', cls.PATH]) + subprocess.check_call(['pomerge', '-t', self.PATH, '-i', errors, '-o', + self.PATH]) + return True + return False # }}} diff --git a/src/calibre/__init__.py b/src/calibre/__init__.py index 7790e91bea..989ad3de84 100644 --- a/src/calibre/__init__.py +++ b/src/calibre/__init__.py @@ -558,11 +558,11 @@ xml_entity_to_unicode = partial(entity_to_unicode, result_exceptions = { '>' : '>', '&' : '&'}) -def replace_entities(raw): - return _ent_pat.sub(entity_to_unicode, raw) +def replace_entities(raw, encoding='cp1252'): + return _ent_pat.sub(partial(entity_to_unicode, encoding=encoding), raw) -def xml_replace_entities(raw): - return _ent_pat.sub(xml_entity_to_unicode, raw) +def xml_replace_entities(raw, encoding='cp1252'): + return _ent_pat.sub(partial(xml_entity_to_unicode, encoding=encoding), raw) def prepare_string_for_xml(raw, attribute=False): raw = _ent_pat.sub(entity_to_unicode, raw) diff --git a/src/calibre/constants.py b/src/calibre/constants.py index b89fb1426d..899becb973 100644 --- a/src/calibre/constants.py +++ b/src/calibre/constants.py @@ -4,7 +4,7 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net' __docformat__ = 'restructuredtext en' __appname__ = u'calibre' -numeric_version = (0, 8, 30) +numeric_version = (0, 8, 31) __version__ = u'.'.join(map(unicode, numeric_version)) __author__ = u"Kovid Goyal " diff --git a/src/calibre/devices/eb600/driver.py b/src/calibre/devices/eb600/driver.py index a9baa0a898..f12b616452 100644 --- a/src/calibre/devices/eb600/driver.py +++ b/src/calibre/devices/eb600/driver.py @@ -173,8 +173,9 @@ class INVESBOOK(EB600): FORMATS = ['epub', 'mobi', 'prc', 'fb2', 'html', 'pdf', 'rtf', 'txt'] BCD = [0x110, 0x323] - VENDOR_NAME = ['INVES_E6', 'INVES-WI'] - WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = ['00INVES_E600', 'INVES-WIBOOK'] + VENDOR_NAME = ['INVES_E6', 'INVES-WI', 'POCKETBO'] + WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = ['00INVES_E600', 'INVES-WIBOOK', + 'OK_POCKET_611_61'] class BOOQ(EB600): name = 'Booq Device Interface' diff --git a/src/calibre/ebooks/__init__.py b/src/calibre/ebooks/__init__.py index 5cfddda2f3..a1026e97d6 100644 --- a/src/calibre/ebooks/__init__.py +++ b/src/calibre/ebooks/__init__.py @@ -30,7 +30,7 @@ BOOK_EXTENSIONS = ['lrf', 'rar', 'zip', 'rtf', 'lit', 'txt', 'txtz', 'text', 'ht 'html', 'htmlz', 'xhtml', 'pdf', 'pdb', 'pdr', 'prc', 'mobi', 'azw', 'doc', 'epub', 'fb2', 'djv', 'djvu', 'lrx', 'cbr', 'cbz', 'cbc', 'oebzip', 'rb', 'imp', 'odt', 'chm', 'tpz', 'azw1', 'pml', 'pmlz', 'mbp', 'tan', 'snb', - 'xps', 'oxps', 'azw4', 'book', 'zbf', 'pobi'] + 'xps', 'oxps', 'azw4', 'book', 'zbf', 'pobi', 'docx'] class HTMLRenderer(object): diff --git a/src/calibre/ebooks/epub/output.py b/src/calibre/ebooks/epub/output.py index 52bbfb4a08..2bdfb0d934 100644 --- a/src/calibre/ebooks/epub/output.py +++ b/src/calibre/ebooks/epub/output.py @@ -229,7 +229,10 @@ class EPUBOutput(OutputFormatPlugin): if opts.extract_to is not None: from calibre.utils.zipfile import ZipFile if os.path.exists(opts.extract_to): - shutil.rmtree(opts.extract_to) + if os.path.isdir(opts.extract_to): + shutil.rmtree(opts.extract_to) + else: + os.remove(opts.extract_to) os.mkdir(opts.extract_to) with ZipFile(output_path) as zf: zf.extractall(path=opts.extract_to) diff --git a/src/calibre/ebooks/metadata/sources/amazon.py b/src/calibre/ebooks/metadata/sources/amazon.py index 8f663bcf86..5284e36cad 100644 --- a/src/calibre/ebooks/metadata/sources/amazon.py +++ b/src/calibre/ebooks/metadata/sources/amazon.py @@ -16,7 +16,8 @@ from lxml.html import tostring from calibre import as_unicode from calibre.ebooks.metadata import check_isbn -from calibre.ebooks.metadata.sources.base import Source, Option +from calibre.ebooks.metadata.sources.base import (Source, Option, fixcase, + fixauthors) from calibre.utils.cleantext import clean_ascii_chars from calibre.ebooks.chardet import xml_to_unicode from calibre.ebooks.metadata.book.base import Metadata @@ -509,6 +510,15 @@ class Amazon(Source): return domain + def clean_downloaded_metadata(self, mi): + if mi.title and self.domain in ('com', 'uk'): + mi.title = fixcase(mi.title) + mi.authors = fixauthors(mi.authors) + if self.domain in ('com', 'uk'): + mi.tags = list(map(fixcase, mi.tags)) + mi.isbn = check_isbn(mi.isbn) + + def create_query(self, log, title=None, authors=None, identifiers={}, # {{{ domain=None): if domain is None: diff --git a/src/calibre/ebooks/metadata/toc.py b/src/calibre/ebooks/metadata/toc.py index 17f99150be..0f13441036 100644 --- a/src/calibre/ebooks/metadata/toc.py +++ b/src/calibre/ebooks/metadata/toc.py @@ -31,7 +31,7 @@ class TOC(list): def __init__(self, href=None, fragment=None, text=None, parent=None, play_order=0, base_path=os.getcwd(), type='unknown', author=None, - description=None): + description=None, toc_thumbnail=None): self.href = href self.fragment = fragment if not self.fragment: @@ -43,6 +43,7 @@ class TOC(list): self.type = type self.author = author self.description = description + self.toc_thumbnail = toc_thumbnail def __str__(self): lines = ['TOC: %s#%s'%(self.href, self.fragment)] @@ -72,12 +73,12 @@ class TOC(list): entry.parent = None def add_item(self, href, fragment, text, play_order=None, type='unknown', - author=None, description=None): + author=None, description=None, toc_thumbnail=None): if play_order is None: play_order = (self[-1].play_order if len(self) else self.play_order) + 1 self.append(TOC(href=href, fragment=fragment, text=text, parent=self, base_path=self.base_path, play_order=play_order, - type=type, author=author, description=description)) + type=type, author=author, description=description, toc_thumbnail=toc_thumbnail)) return self[-1] def top_level_items(self): @@ -269,6 +270,9 @@ class TOC(list): if desc: desc = re.sub(r'\s+', ' ', desc) elem.append(C.meta(desc, name='description')) + idx = getattr(np, 'toc_thumbnail', None) + if idx: + elem.append(C.meta(idx, name='toc_thumbnail')) parent.append(elem) for np2 in np: navpoint(elem, np2) diff --git a/src/calibre/ebooks/mobi/debug.py b/src/calibre/ebooks/mobi/debug.py index f15c78736e..a90ecd9071 100644 --- a/src/calibre/ebooks/mobi/debug.py +++ b/src/calibre/ebooks/mobi/debug.py @@ -656,11 +656,11 @@ class Tag(object): # {{{ ' image record associated with this article', 'image_index'), 70 : ('Description offset in cncx', 'desc_offset'), - 71 : ('Image attribution offset in cncx', - 'image_attr_offset'), + 71 : ('Author offset in cncx', 'author_offset'), 72 : ('Image caption offset in cncx', 'image_caption_offset'), - 73 : ('Author offset in cncx', 'author_offset'), + 73 : ('Image attribution offset in cncx', + 'image_attr_offset'), }, 'chapter_with_subchapters' : { diff --git a/src/calibre/ebooks/mobi/reader.py b/src/calibre/ebooks/mobi/reader.py index 37d4fc4125..057b119145 100644 --- a/src/calibre/ebooks/mobi/reader.py +++ b/src/calibre/ebooks/mobi/reader.py @@ -973,7 +973,8 @@ class MobiReader(object): continue processed_records.append(i) data = self.sections[i][0] - if data[:4] in (b'FLIS', b'FCIS', b'SRCS', b'\xe9\x8e\r\n'): + if data[:4] in {b'FLIS', b'FCIS', b'SRCS', b'\xe9\x8e\r\n', + b'RESC', b'BOUN', b'FDST', b'DATP'}: # A FLIS, FCIS, SRCS or EOF record, ignore continue buf = cStringIO.StringIO(data) diff --git a/src/calibre/ebooks/mobi/writer2/indexer.py b/src/calibre/ebooks/mobi/writer2/indexer.py index 002cee4fc1..e349172d95 100644 --- a/src/calibre/ebooks/mobi/writer2/indexer.py +++ b/src/calibre/ebooks/mobi/writer2/indexer.py @@ -136,7 +136,8 @@ class IndexEntry(object): 'last_child_index': 23, 'image_index': 69, 'desc_offset': 70, - 'author_offset': 73, + 'author_offset': 71, + } RTAG_MAP = {v:k for k, v in TAG_VALUES.iteritems()} @@ -754,6 +755,13 @@ class Indexer(object): # {{{ normalized_articles.append(article) article.author_offset = self.cncx[art.author] article.desc_offset = self.cncx[art.description] + if getattr(art, 'toc_thumbnail', None) is not None: + try: + ii = self.serializer.images[art.toc_thumbnail] - 1 + if ii > -1: + article.image_index = ii + except KeyError: + pass # Image not found in serializer if normalized_articles: normalized_articles.sort(key=lambda x:x.offset) diff --git a/src/calibre/ebooks/mobi/writer2/main.py b/src/calibre/ebooks/mobi/writer2/main.py index 0336fcdff0..93b3987971 100644 --- a/src/calibre/ebooks/mobi/writer2/main.py +++ b/src/calibre/ebooks/mobi/writer2/main.py @@ -161,7 +161,7 @@ class MobiWriter(object): index = 1 mh_href = None - if 'masthead' in oeb.guide: + if 'masthead' in oeb.guide and oeb.guide['masthead'].href: mh_href = oeb.guide['masthead'].href self.image_records.append(None) index += 1 diff --git a/src/calibre/ebooks/oeb/base.py b/src/calibre/ebooks/oeb/base.py index e7dd071962..d90e3bdfa4 100644 --- a/src/calibre/ebooks/oeb/base.py +++ b/src/calibre/ebooks/oeb/base.py @@ -16,15 +16,13 @@ from urllib import unquote as urlunquote from lxml import etree, html from calibre.constants import filesystem_encoding, __version__ from calibre.translations.dynamic import translate -from calibre.ebooks.chardet import xml_to_unicode, strip_encoding_declarations -from calibre.ebooks.oeb.entitydefs import ENTITYDEFS +from calibre.ebooks.chardet import xml_to_unicode from calibre.ebooks.conversion.preprocess import CSSPreProcessor -from calibre import isbytestring, as_unicode, get_types_map - -RECOVER_PARSER = etree.XMLParser(recover=True, no_network=True) +from calibre import (isbytestring, as_unicode, get_types_map) +from calibre.ebooks.oeb.parse_utils import (barename, XHTML_NS, RECOVER_PARSER, + namespace, XHTML, parse_html, NotHTML) XML_NS = 'http://www.w3.org/XML/1998/namespace' -XHTML_NS = 'http://www.w3.org/1999/xhtml' OEB_DOC_NS = 'http://openebook.org/namespaces/oeb-document/1.0/' OPF1_NS = 'http://openebook.org/namespaces/oeb-package/1.0/' OPF2_NS = 'http://www.idpf.org/2007/opf' @@ -55,9 +53,6 @@ OPF2_NSMAP = {'opf': OPF2_NS, 'dc': DC11_NS, 'dcterms': DCTERMS_NS, def XML(name): return '{%s}%s' % (XML_NS, name) -def XHTML(name): - return '{%s}%s' % (XHTML_NS, name) - def OPF(name): return '{%s}%s' % (OPF2_NS, name) @@ -279,22 +274,11 @@ PREFIXNAME_RE = re.compile(r'^[^:]+[:][^:]+') XMLDECL_RE = re.compile(r'^\s*<[?]xml.*?[?]>') CSSURL_RE = re.compile(r'''url[(](?P["']?)(?P[^)]+)(?P=q)[)]''') - def element(parent, *args, **kwargs): if parent is not None: return etree.SubElement(parent, *args, **kwargs) return etree.Element(*args, **kwargs) -def namespace(name): - if '}' in name: - return name.split('}', 1)[0][1:] - return '' - -def barename(name): - if '}' in name: - return name.split('}', 1)[1] - return name - def prefixname(name, nsrmap): if not isqname(name): return name @@ -373,25 +357,6 @@ def urlnormalize(href): parts = (urlquote(part) for part in parts) return urlunparse(parts) -def merge_multiple_html_heads_and_bodies(root, log=None): - heads, bodies = xpath(root, '//h:head'), xpath(root, '//h:body') - if not (len(heads) > 1 or len(bodies) > 1): return root - for child in root: root.remove(child) - head = root.makeelement(XHTML('head')) - body = root.makeelement(XHTML('body')) - for h in heads: - for x in h: - head.append(x) - for b in bodies: - for x in b: - body.append(x) - map(root.append, (head, body)) - if log is not None: - log.warn('Merging multiple and sections') - return root - - - class DummyHandler(logging.Handler): @@ -418,10 +383,6 @@ class OEBError(Exception): """Generic OEB-processing error.""" pass -class NotHTML(OEBError): - '''Raised when a file that should be HTML (as per manifest) is not''' - pass - class NullContainer(object): """An empty container. @@ -801,7 +762,6 @@ class Manifest(object): """ NUM_RE = re.compile('^(.*)([0-9][0-9.]*)(?=[.]|$)') - META_XP = XPath('/h:html/h:head/h:meta[@http-equiv="Content-Type"]') def __init__(self, oeb, id, href, media_type, fallback=None, loader=str, data=None): @@ -830,244 +790,17 @@ class Manifest(object): return None return etree.fromstring(data, parser=RECOVER_PARSER) - def clean_word_doc(self, data): - prefixes = [] - for match in re.finditer(r'xmlns:(\S+?)=".*?microsoft.*?"', data): - prefixes.append(match.group(1)) - if prefixes: - self.oeb.log.warn('Found microsoft markup, cleaning...') - # Remove empty tags as they are not rendered by browsers - # but can become renderable HTML tags like

if the - # document is parsed by an HTML parser - pat = re.compile( - r'<(%s):([a-zA-Z0-9]+)[^>/]*?>'%('|'.join(prefixes)), - re.DOTALL) - data = pat.sub('', data) - pat = re.compile( - r'<(%s):([a-zA-Z0-9]+)[^>/]*?/>'%('|'.join(prefixes))) - data = pat.sub('', data) - return data - def _parse_xhtml(self, data): orig_data = data - self.oeb.log.debug('Parsing', self.href, '...') - # Convert to Unicode and normalize line endings - data = self.oeb.decode(data) - data = strip_encoding_declarations(data) - data = self.oeb.html_preprocessor(data) - # There could be null bytes in data if it had � entities in it - data = data.replace('\0', '') - - # Remove DOCTYPE declaration as it messes up parsing - # In particular, it causes tostring to insert xmlns - # declarations, which messes up the coercing logic - idx = data.find(' -1: - pre = data[:idx] - data = data[idx:] - if ']+)', pre): - val = match.group(2) - if val.startswith('"') and val.endswith('"'): - val = val[1:-1] - user_entities[match.group(1)] = val - if user_entities: - pat = re.compile(r'&(%s);'%('|'.join(user_entities.keys()))) - data = pat.sub(lambda m:user_entities[m.group(1)], data) - - # Setting huge_tree=True causes crashes in windows with large files - parser = etree.XMLParser(no_network=True) - # Try with more & more drastic measures to parse - def first_pass(data): - try: - data = etree.fromstring(data, parser=parser) - except etree.XMLSyntaxError as err: - self.oeb.log.debug('Initial parse failed, using more' - ' forgiving parsers') - repl = lambda m: ENTITYDEFS.get(m.group(1), m.group(0)) - data = ENTITY_RE.sub(repl, data) - try: - data = etree.fromstring(data, parser=parser) - except etree.XMLSyntaxError as err: - self.oeb.logger.warn('Parsing file %r as HTML' % self.href) - if err.args and err.args[0].startswith('Excessive depth'): - from calibre.utils.soupparser import fromstring - data = fromstring(data) - else: - data = html.fromstring(data) - data.attrib.pop('xmlns', None) - for elem in data.iter(tag=etree.Comment): - if elem.text: - elem.text = elem.text.strip('-') - data = etree.tostring(data, encoding=unicode) - try: - data = etree.fromstring(data, parser=parser) - except etree.XMLSyntaxError: - data = etree.fromstring(data, parser=RECOVER_PARSER) - return data + fname = urlunquote(self.href) + self.oeb.log.debug('Parsing', fname, '...') try: - data = self.clean_word_doc(data) - except: - pass - data = first_pass(data) - - if data.tag == 'HTML': - # Lower case all tag and attribute names - data.tag = data.tag.lower() - for x in data.iterdescendants(): - try: - x.tag = x.tag.lower() - for key, val in list(x.attrib.iteritems()): - del x.attrib[key] - key = key.lower() - x.attrib[key] = val - except: - pass - - # Handle weird (non-HTML/fragment) files - if barename(data.tag) != 'html': - if barename(data.tag) == 'ncx': - return self._parse_xml(orig_data) - self.oeb.log.warn('File %r does not appear to be (X)HTML'%self.href) - nroot = etree.fromstring('') - has_body = False - for child in list(data): - if isinstance(child.tag, (unicode, str)) and barename(child.tag) == 'body': - has_body = True - break - parent = nroot - if not has_body: - self.oeb.log.warn('File %r appears to be a HTML fragment'%self.href) - nroot = etree.fromstring('') - parent = nroot[0] - for child in list(data.iter()): - oparent = child.getparent() - if oparent is not None: - oparent.remove(child) - parent.append(child) - data = nroot - - - # Force into the XHTML namespace - if not namespace(data.tag): - self.oeb.log.warn('Forcing', self.href, 'into XHTML namespace') - data.attrib['xmlns'] = XHTML_NS - data = etree.tostring(data, encoding=unicode) - - try: - data = etree.fromstring(data, parser=parser) - except: - data = data.replace(':=', '=').replace(':>', '>') - data = data.replace('', '') - try: - data = etree.fromstring(data, parser=parser) - except etree.XMLSyntaxError: - self.oeb.logger.warn('Stripping comments from %s'% - self.href) - data = re.compile(r'', re.DOTALL).sub('', - data) - data = data.replace( - "", - '') - data = data.replace("", '') - try: - data = etree.fromstring(data, - parser=RECOVER_PARSER) - except etree.XMLSyntaxError: - self.oeb.logger.warn('Stripping meta tags from %s'% - self.href) - data = re.sub(r']+?>', '', data) - data = etree.fromstring(data, parser=RECOVER_PARSER) - elif namespace(data.tag) != XHTML_NS: - # OEB_DOC_NS, but possibly others - ns = namespace(data.tag) - attrib = dict(data.attrib) - nroot = etree.Element(XHTML('html'), - nsmap={None: XHTML_NS}, attrib=attrib) - for elem in data.iterdescendants(): - if isinstance(elem.tag, basestring) and \ - namespace(elem.tag) == ns: - elem.tag = XHTML(barename(elem.tag)) - for elem in data: - nroot.append(elem) - data = nroot - - data = merge_multiple_html_heads_and_bodies(data, self.oeb.logger) - # Ensure has a - head = xpath(data, '/h:html/h:head') - head = head[0] if head else None - if head is None: - self.oeb.logger.warn( - 'File %r missing element' % self.href) - head = etree.Element(XHTML('head')) - data.insert(0, head) - title = etree.SubElement(head, XHTML('title')) - title.text = self.oeb.translate(__('Unknown')) - elif not xpath(data, '/h:html/h:head/h:title'): - self.oeb.logger.warn( - 'File %r missing element' % self.href) - title = etree.SubElement(head, XHTML('title')) - title.text = self.oeb.translate(__('Unknown')) - # Remove any encoding-specifying <meta/> elements - for meta in self.META_XP(data): - meta.getparent().remove(meta) - etree.SubElement(head, XHTML('meta'), - attrib={'http-equiv': 'Content-Type', - 'content': '%s; charset=utf-8' % XHTML_NS}) - # Ensure has a <body/> - if not xpath(data, '/h:html/h:body'): - body = xpath(data, '//h:body') - if body: - body = body[0] - body.getparent().remove(body) - data.append(body) - else: - self.oeb.logger.warn( - 'File %r missing <body/> element' % self.href) - etree.SubElement(data, XHTML('body')) - - # Remove microsoft office markup - r = [x for x in data.iterdescendants(etree.Element) if 'microsoft-com' in x.tag] - for x in r: - x.tag = XHTML('span') - - # Remove lang redefinition inserted by the amazing Microsoft Word! - body = xpath(data, '/h:html/h:body')[0] - for key in list(body.attrib.keys()): - if key == 'lang' or key.endswith('}lang'): - body.attrib.pop(key) - - def remove_elem(a): - p = a.getparent() - idx = p.index(a) -1 - p.remove(a) - if a.tail: - if idx <= 0: - if p.text is None: - p.text = '' - p.text += a.tail - else: - if p[idx].tail is None: - p[idx].tail = '' - p[idx].tail += a.tail - - # Remove hyperlinks with no content as they cause rendering - # artifacts in browser based renderers - # Also remove empty <b>, <u> and <i> tags - for a in xpath(data, '//h:a[@href]|//h:i|//h:b|//h:u'): - if a.get('id', None) is None and a.get('name', None) is None \ - and len(a) == 0 and not a.text: - remove_elem(a) - - # Convert <br>s with content into paragraphs as ADE can't handle - # them - for br in xpath(data, '//h:br'): - if len(br) > 0 or br.text: - br.tag = XHTML('div') - + data = parse_html(data, log=self.oeb.log, + decoder=self.oeb.decode, + preprocessor=self.oeb.html_preprocessor, + filename=fname, non_html_file_tags={'ncx'}) + except NotHTML: + return self._parse_xml(orig_data) return data def _parse_txt(self, data): @@ -1629,9 +1362,10 @@ class TOC(object): :attr:`id`: Option unique identifier for this node. :attr:`author`: Optional author attribution for periodicals <mbp:> :attr:`description`: Optional description attribute for periodicals <mbp:> + :attr:`toc_thumbnail`: Optional toc thumbnail image """ def __init__(self, title=None, href=None, klass=None, id=None, - play_order=None, author=None, description=None): + play_order=None, author=None, description=None, toc_thumbnail=None): self.title = title self.href = urlnormalize(href) if href else href self.klass = klass @@ -1643,10 +1377,11 @@ class TOC(object): self.play_order = play_order self.author = author self.description = description + self.toc_thumbnail = toc_thumbnail - def add(self, title, href, klass=None, id=None, play_order=0, author=None, description=None): + def add(self, title, href, klass=None, id=None, play_order=0, author=None, description=None, toc_thumbnail=None): """Create and return a new sub-node of this node.""" - node = TOC(title, href, klass, id, play_order, author, description) + node = TOC(title, href, klass, id, play_order, author, description, toc_thumbnail) self.nodes.append(node) return node diff --git a/src/calibre/ebooks/oeb/display/cfi.coffee b/src/calibre/ebooks/oeb/display/cfi.coffee new file mode 100644 index 0000000000..ea06f686c7 --- /dev/null +++ b/src/calibre/ebooks/oeb/display/cfi.coffee @@ -0,0 +1,225 @@ +#!/usr/bin/env coffee +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai + +### + Copyright 2011, Kovid Goyal <kovid@kovidgoyal.net> + Released under the GPLv3 License +### +# +log = (error) -> + if error + if window?.console?.log + window.console.log(error) + else if process?.stdout?.write + process.stdout.write(error + '\n') + +# CFI escaping {{{ +escape_for_cfi = (raw) -> + if raw + for c in ['^', '[', ']', ',', '(', ')', ';', '~', '@', '-', '!'] + raw = raw.replace(c, '^'+c) + raw + +unescape_from_cfi = (raw) -> + ans = raw + if raw + dropped = false + ans = [] + for c in raw + if not dropped and c == '^' + dropped = true + continue + dropped = false + ans.push(c) + ans = ans.join('') + ans +# }}} + +fstr = (d) -> # {{{ + # Convert a timestamp floating point number to a string + ans = "" + if ( d < 0 ) + ans = "-" + d = -d + n = Math.floor(d) + ans += n + n = Math.round((d-n)*100) + if( n != 0 ) + ans += "." + ans += if (n % 10 == 0) then (n/10) else n + ans +# }}} + +class CanonicalFragmentIdentifier + + # This class is a namespace to expose CFI functions via the window.cfi + # object + + constructor: () -> + + encode: (doc, node, offset, tail) -> # {{{ + cfi = tail or "" + + # Handle the offset, if any + switch node.nodeType + when 1 # Element node + if typeoff(offset) == 'number' + node = node.childNodes.item(offset) + when 3, 4, 5, 6 # Text/entity/CDATA node + offset or= 0 + while true + p = node.previousSibling + if (p?.nodeType not in [3, 4, 5, 6]) + break + offset += p.nodeValue.length + node = p + cfi = ":" + offset + cfi + else # Not handled + log("Offsets for nodes of type #{ node.nodeType } are not handled") + + # Construct the path to node from root + until node == doc + p = node.parentNode + if not p + if node.nodeType == 9 # Document node (iframe) + win = node.defaultView + if win.frameElement + node = win.frameElement + cfi = "!" + cfi + continue + break + # Increase index by the length of all previous sibling text nodes + index = 0 + child = p.firstChild + while true + index |= 1 + if child.nodeType in [1, 7] + index++ + if child == node + break + child = child.nextSibling + + # Add id assertions for robustness where possible + id = node.getAttribute?('id') + idspec = if id then "[#{ escape_for_cfi(id) }]" else '' + cfi = '/' + index + idspec + cfi + node = p + + cfi + # }}} + + decode: (cfi, doc=window?.document) -> # {{{ + simple_node_regex = /// + ^/(\d+) # The node count + (\[[^\]]*\])? # The optional id assertion + /// + error = null + node = doc + + until cfi.length <= 0 or error + if ( (r = cfi.match(simple_node_regex)) is not null ) # Path step + target = parseInt(r[1]) + assertion = r[2] + if assertion + assertion = unescape_from_cfi(assertion.slice(1, assertion.length-1)) + index = 0 + child = node.firstChild + + while true + if not child + if assertion # Try to use the assertion to find the node + child = doc.getElementById(assertion) + if child + node = child + if not child + error = "No matching child found for CFI: " + cfi + break + index |= 1 # Increment index by 1 if it is even + if child.nodeType in [1, 7] # We have an element or a PI + index++ + if ( index == target ) + cfi = cfi.substr(r[0].length) + node = child + break + child = child.nextSibling + + else if cfi[0] == '!' # Indirection + if node.contentDocument + node = node.contentDocument + cfi = cfi.substr(1) + else + error = "Cannot reference #{ node.nodeName }'s content:" + cfi + + else + break + + if error + log(error) + return null + + point = {} + error = null + + point + + # }}} + + at: (x, y, doc=window?.document) -> # {{{ + cdoc = doc + target = null + cwin = cdoc.defaultView + tail = '' + offset = null + name = null + + # Drill down into iframes, etc. + while true + target = cdoc.elementFromPoint x, y + if not target or target.localName == 'html' + log("No element at (#{ x }, #{ y })") + return null + + name = target.localName + if name not in ['iframe', 'embed', 'object'] + break + + cd = target.contentDocument + if not cd + break + + x = x + cwin.pageXOffset - target.offsetLeft + y = y + cwin.pageYOffset - target.offsetTop + cdoc = cd + cwin = cdoc.defaultView + + target.normalize() + + if name in ['audio', 'video'] + tail = "~" + fstr target.currentTime + + if name in ['img', 'video'] + px = ((x + cwin.scrollX - target.offsetLeft)*100)/target.offsetWidth + py = ((y + cwin.scrollY - target.offsetTop)*100)/target.offsetHeight + tail = "#{ tail }@#{ fstr px },#{ fstr py }" + else if name != 'audio' + if cdoc.caretRangeFromPoint # WebKit + range = cdoc.caretRangeFromPoint(x, y) + if range + target = range.startContainer + offset = range.startOffset + else + # TODO: implement a span bisection algorithm for UAs + # without caretRangeFromPoint (Gecko, IE) + + this.encode(doc, target, offset, tail) + # }}} + +if window? + window.cfi = new CanonicalFragmentIdentifier() +else if process? + # Some debugging code goes here to be run with the coffee interpreter + cfi = new CanonicalFragmentIdentifier() + t = 'a^!,1' + log(t) + log(escape_for_cfi(t)) + log(unescape_from_cfi(escape_for_cfi(t))) diff --git a/src/calibre/ebooks/oeb/display/test/cfi-test.coffee b/src/calibre/ebooks/oeb/display/test/cfi-test.coffee new file mode 100644 index 0000000000..056d24b396 --- /dev/null +++ b/src/calibre/ebooks/oeb/display/test/cfi-test.coffee @@ -0,0 +1,24 @@ +#!/usr/bin/env coffee +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai + +### + Copyright 2011, Kovid Goyal <kovid@kovidgoyal.net> + Released under the GPLv3 License +### + +viewport_top = (node) -> + $(node).offset().top - window.pageYOffset + +viewport_left = (node) -> + $(node).offset().left - window.pageXOffset + +window.onload = -> + h1 = document.getElementsByTagName('h1')[0] + x = h1.scrollLeft + 150 + y = viewport_top(h1) + h1.offsetHeight/2 + e = document.elementFromPoint x, y + if e.getAttribute('id') != 'first-h1' + alert 'Failed to find top h1' + return + alert window.cfi.at x, y + diff --git a/src/calibre/ebooks/oeb/display/test/test.html b/src/calibre/ebooks/oeb/display/test/test.html new file mode 100644 index 0000000000..71dac39249 --- /dev/null +++ b/src/calibre/ebooks/oeb/display/test/test.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> + <head> + <title>Testing CFI functionality + + + + + +

Testing CFI functionality

+ + + + diff --git a/src/calibre/ebooks/oeb/display/test/test.py b/src/calibre/ebooks/oeb/display/test/test.py new file mode 100644 index 0000000000..568cffe5e6 --- /dev/null +++ b/src/calibre/ebooks/oeb/display/test/test.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2011, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +import os + +try: + from calibre.utils.coffeescript import serve +except ImportError: + import init_calibre + if False: init_calibre, serve + from calibre.utils.coffeescript import serve + + +def run_devel_server(): + os.chdir(os.path.dirname(__file__)) + serve(['../cfi.coffee', 'cfi-test.coffee']) + +if __name__ == '__main__': + run_devel_server() + diff --git a/src/calibre/ebooks/oeb/entitydefs.py b/src/calibre/ebooks/oeb/entitydefs.py deleted file mode 100644 index 69fc16116c..0000000000 --- a/src/calibre/ebooks/oeb/entitydefs.py +++ /dev/null @@ -1,256 +0,0 @@ -""" -Replacement for htmlentitydefs which uses purely numeric entities. -""" - -__license__ = 'GPL v3' -__copyright__ = '2008, Marshall T. Vandegrift ' - -ENTITYDEFS = \ - {'AElig': 'Æ', - 'Aacute': 'Á', - 'Acirc': 'Â', - 'Agrave': 'À', - 'Alpha': 'Α', - 'Aring': 'Å', - 'Atilde': 'Ã', - 'Auml': 'Ä', - 'Beta': 'Β', - 'Ccedil': 'Ç', - 'Chi': 'Χ', - 'Dagger': '‡', - 'Delta': 'Δ', - 'ETH': 'Ð', - 'Eacute': 'É', - 'Ecirc': 'Ê', - 'Egrave': 'È', - 'Epsilon': 'Ε', - 'Eta': 'Η', - 'Euml': 'Ë', - 'Gamma': 'Γ', - 'Iacute': 'Í', - 'Icirc': 'Î', - 'Igrave': 'Ì', - 'Iota': 'Ι', - 'Iuml': 'Ï', - 'Kappa': 'Κ', - 'Lambda': 'Λ', - 'Mu': 'Μ', - 'Ntilde': 'Ñ', - 'Nu': 'Ν', - 'OElig': 'Œ', - 'Oacute': 'Ó', - 'Ocirc': 'Ô', - 'Ograve': 'Ò', - 'Omega': 'Ω', - 'Omicron': 'Ο', - 'Oslash': 'Ø', - 'Otilde': 'Õ', - 'Ouml': 'Ö', - 'Phi': 'Φ', - 'Pi': 'Π', - 'Prime': '″', - 'Psi': 'Ψ', - 'Rho': 'Ρ', - 'Scaron': 'Š', - 'Sigma': 'Σ', - 'THORN': 'Þ', - 'Tau': 'Τ', - 'Theta': 'Θ', - 'Uacute': 'Ú', - 'Ucirc': 'Û', - 'Ugrave': 'Ù', - 'Upsilon': 'Υ', - 'Uuml': 'Ü', - 'Xi': 'Ξ', - 'Yacute': 'Ý', - 'Yuml': 'Ÿ', - 'Zeta': 'Ζ', - 'aacute': 'á', - 'acirc': 'â', - 'acute': '´', - 'aelig': 'æ', - 'agrave': 'à', - 'alefsym': 'ℵ', - 'alpha': 'α', - 'and': '∧', - 'ang': '∠', - 'aring': 'å', - 'asymp': '≈', - 'atilde': 'ã', - 'auml': 'ä', - 'bdquo': '„', - 'beta': 'β', - 'brvbar': '¦', - 'bull': '•', - 'cap': '∩', - 'ccedil': 'ç', - 'cedil': '¸', - 'cent': '¢', - 'chi': 'χ', - 'circ': 'ˆ', - 'clubs': '♣', - 'cong': '≅', - 'copy': '©', - 'crarr': '↵', - 'cup': '∪', - 'curren': '¤', - 'dArr': '⇓', - 'dagger': '†', - 'darr': '↓', - 'deg': '°', - 'delta': 'δ', - 'diams': '♦', - 'divide': '÷', - 'eacute': 'é', - 'ecirc': 'ê', - 'egrave': 'è', - 'empty': '∅', - 'emsp': ' ', - 'ensp': ' ', - 'epsilon': 'ε', - 'equiv': '≡', - 'eta': 'η', - 'eth': 'ð', - 'euml': 'ë', - 'euro': '€', - 'exist': '∃', - 'fnof': 'ƒ', - 'forall': '∀', - 'frac12': '½', - 'frac14': '¼', - 'frac34': '¾', - 'frasl': '⁄', - 'gamma': 'γ', - 'ge': '≥', - 'hArr': '⇔', - 'harr': '↔', - 'hearts': '♥', - 'hellip': '…', - 'iacute': 'í', - 'icirc': 'î', - 'iexcl': '¡', - 'igrave': 'ì', - 'image': 'ℑ', - 'infin': '∞', - 'int': '∫', - 'iota': 'ι', - 'iquest': '¿', - 'isin': '∈', - 'iuml': 'ï', - 'kappa': 'κ', - 'lArr': '⇐', - 'lambda': 'λ', - 'lang': '〈', - 'laquo': '«', - 'larr': '←', - 'lceil': '⌈', - 'ldquo': '“', - 'le': '≤', - 'lfloor': '⌊', - 'lowast': '∗', - 'loz': '◊', - 'lrm': '‎', - 'lsaquo': '‹', - 'lsquo': '‘', - 'macr': '¯', - 'mdash': '—', - 'micro': 'µ', - 'middot': '·', - 'minus': '−', - 'mu': 'μ', - 'nabla': '∇', - 'nbsp': ' ', - 'ndash': '–', - 'ne': '≠', - 'ni': '∋', - 'not': '¬', - 'notin': '∉', - 'nsub': '⊄', - 'ntilde': 'ñ', - 'nu': 'ν', - 'oacute': 'ó', - 'ocirc': 'ô', - 'oelig': 'œ', - 'ograve': 'ò', - 'oline': '‾', - 'omega': 'ω', - 'omicron': 'ο', - 'oplus': '⊕', - 'or': '∨', - 'ordf': 'ª', - 'ordm': 'º', - 'oslash': 'ø', - 'otilde': 'õ', - 'otimes': '⊗', - 'ouml': 'ö', - 'para': '¶', - 'part': '∂', - 'permil': '‰', - 'perp': '⊥', - 'phi': 'φ', - 'pi': 'π', - 'piv': 'ϖ', - 'plusmn': '±', - 'pound': '£', - 'prime': '′', - 'prod': '∏', - 'prop': '∝', - 'psi': 'ψ', - 'rArr': '⇒', - 'radic': '√', - 'rang': '〉', - 'raquo': '»', - 'rarr': '→', - 'rceil': '⌉', - 'rdquo': '”', - 'real': 'ℜ', - 'reg': '®', - 'rfloor': '⌋', - 'rho': 'ρ', - 'rlm': '‏', - 'rsaquo': '›', - 'rsquo': '’', - 'sbquo': '‚', - 'scaron': 'š', - 'sdot': '⋅', - 'sect': '§', - 'shy': '­', - 'sigma': 'σ', - 'sigmaf': 'ς', - 'sim': '∼', - 'spades': '♠', - 'sub': '⊂', - 'sube': '⊆', - 'sum': '∑', - 'sup': '⊃', - 'sup1': '¹', - 'sup2': '²', - 'sup3': '³', - 'supe': '⊇', - 'szlig': 'ß', - 'tau': 'τ', - 'there4': '∴', - 'theta': 'θ', - 'thetasym': 'ϑ', - 'thinsp': ' ', - 'thorn': 'þ', - 'tilde': '˜', - 'times': '×', - 'trade': '™', - 'uArr': '⇑', - 'uacute': 'ú', - 'uarr': '↑', - 'ucirc': 'û', - 'ugrave': 'ù', - 'uml': '¨', - 'upsih': 'ϒ', - 'upsilon': 'υ', - 'uuml': 'ü', - 'weierp': '℘', - 'xi': 'ξ', - 'yacute': 'ý', - 'yen': '¥', - 'yuml': 'ÿ', - 'zeta': 'ζ', - 'zwj': '‍', - 'zwnj': '‌'} diff --git a/src/calibre/ebooks/oeb/parse_utils.py b/src/calibre/ebooks/oeb/parse_utils.py new file mode 100644 index 0000000000..57dc18bc32 --- /dev/null +++ b/src/calibre/ebooks/oeb/parse_utils.py @@ -0,0 +1,347 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2011, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +import re + +from lxml import etree, html + +from calibre import xml_replace_entities, force_unicode +from calibre.constants import filesystem_encoding +from calibre.ebooks.chardet import xml_to_unicode, strip_encoding_declarations + +RECOVER_PARSER = etree.XMLParser(recover=True, no_network=True) +XHTML_NS = 'http://www.w3.org/1999/xhtml' + +class NotHTML(Exception): + + def __init__(self, root_tag): + Exception.__init__(self, 'Data is not HTML') + self.root_tag = root_tag + +def barename(name): + return name.rpartition('}')[-1] + +def namespace(name): + if '}' in name: + return name.split('}', 1)[0][1:] + return '' + +def XHTML(name): + return '{%s}%s' % (XHTML_NS, name) + +def xpath(elem, expr): + return elem.xpath(expr, namespaces={'h':XHTML_NS}) + +def XPath(expr): + return etree.XPath(expr, namespaces={'h':XHTML_NS}) + +META_XP = XPath('/h:html/h:head/h:meta[@http-equiv="Content-Type"]') + +def merge_multiple_html_heads_and_bodies(root, log=None): + heads, bodies = xpath(root, '//h:head'), xpath(root, '//h:body') + if not (len(heads) > 1 or len(bodies) > 1): return root + for child in root: root.remove(child) + head = root.makeelement(XHTML('head')) + body = root.makeelement(XHTML('body')) + for h in heads: + for x in h: + head.append(x) + for b in bodies: + for x in b: + body.append(x) + map(root.append, (head, body)) + if log is not None: + log.warn('Merging multiple and sections') + return root + +def _html5_parse(data): + import html5lib + data = html5lib.parse(data, treebuilder='lxml').getroot() + html_ns = [ns for ns, val in data.nsmap.iteritems() if (val == XHTML_NS and + ns is not None)] + if html_ns: + # html5lib causes the XHTML namespace to not + # be set as the default namespace + nsmap = dict(data.nsmap) + nsmap[None] = XHTML_NS + for x in html_ns: + nsmap.pop(x) + nroot = etree.Element(data.tag, nsmap=nsmap, + attrib=dict(data.attrib)) + nroot.text = data.text + nroot.tail = data.tail + for child in data: + nroot.append(child) + data = nroot + return data + +def _html4_parse(data, prefer_soup=False): + if prefer_soup: + from calibre.utils.soupparser import fromstring + data = fromstring(data) + else: + data = html.fromstring(data) + data.attrib.pop('xmlns', None) + for elem in data.iter(tag=etree.Comment): + if elem.text: + elem.text = elem.text.strip('-') + data = etree.tostring(data, encoding=unicode) + + # Setting huge_tree=True causes crashes in windows with large files + parser = etree.XMLParser(no_network=True) + try: + data = etree.fromstring(data, parser=parser) + except etree.XMLSyntaxError: + data = etree.fromstring(data, parser=RECOVER_PARSER) + return data + +def clean_word_doc(data, log): + prefixes = [] + for match in re.finditer(r'xmlns:(\S+?)=".*?microsoft.*?"', data): + prefixes.append(match.group(1)) + if prefixes: + log.warn('Found microsoft markup, cleaning...') + # Remove empty tags as they are not rendered by browsers + # but can become renderable HTML tags like

if the + # document is parsed by an HTML parser + pat = re.compile( + r'<(%s):([a-zA-Z0-9]+)[^>/]*?>'%('|'.join(prefixes)), + re.DOTALL) + data = pat.sub('', data) + pat = re.compile( + r'<(%s):([a-zA-Z0-9]+)[^>/]*?/>'%('|'.join(prefixes))) + data = pat.sub('', data) + return data + +def parse_html(data, log=None, decoder=None, preprocessor=None, + filename='', non_html_file_tags=frozenset()): + if log is None: + from calibre.utils.logging import default_log + log = default_log + + filename = force_unicode(filename, enc=filesystem_encoding) + + if not isinstance(data, unicode): + if decoder is not None: + data = decoder(data) + else: + data = xml_to_unicode(data)[0] + + data = strip_encoding_declarations(data) + if preprocessor is not None: + data = preprocessor(data) + + # There could be null bytes in data if it had � entities in it + data = data.replace('\0', '') + + # Remove DOCTYPE declaration as it messes up parsing + # In particular, it causes tostring to insert xmlns + # declarations, which messes up the coercing logic + idx = data.find(' -1: + pre = data[:idx] + data = data[idx:] + if ']+)', pre): + val = match.group(2) + if val.startswith('"') and val.endswith('"'): + val = val[1:-1] + user_entities[match.group(1)] = val + if user_entities: + pat = re.compile(r'&(%s);'%('|'.join(user_entities.keys()))) + data = pat.sub(lambda m:user_entities[m.group(1)], data) + + data = clean_word_doc(data, log) + + # Setting huge_tree=True causes crashes in windows with large files + parser = etree.XMLParser(no_network=True) + + # Try with more & more drastic measures to parse + try: + data = etree.fromstring(data, parser=parser) + except etree.XMLSyntaxError: + log.debug('Initial parse failed, using more' + ' forgiving parsers') + data = xml_replace_entities(data) + try: + data = etree.fromstring(data, parser=parser) + except etree.XMLSyntaxError: + log.debug('Parsing %s as HTML' % filename) + try: + data = _html5_parse(data) + except: + log.exception( + 'HTML 5 parsing failed, falling back to older parsers') + data = _html4_parse(data) + + if data.tag == 'HTML': + # Lower case all tag and attribute names + data.tag = data.tag.lower() + for x in data.iterdescendants(): + try: + x.tag = x.tag.lower() + for key, val in list(x.attrib.iteritems()): + del x.attrib[key] + key = key.lower() + x.attrib[key] = val + except: + pass + + if barename(data.tag) != 'html': + if barename(data.tag) in non_html_file_tags: + raise NotHTML(data.tag) + log.warn('File %r does not appear to be (X)HTML'%filename) + nroot = etree.fromstring('') + has_body = False + for child in list(data): + if isinstance(child.tag, (unicode, str)) and barename(child.tag) == 'body': + has_body = True + break + parent = nroot + if not has_body: + log.warn('File %r appears to be a HTML fragment'%filename) + nroot = etree.fromstring('') + parent = nroot[0] + for child in list(data.iter()): + oparent = child.getparent() + if oparent is not None: + oparent.remove(child) + parent.append(child) + data = nroot + + # Force into the XHTML namespace + if not namespace(data.tag): + log.warn('Forcing', filename, 'into XHTML namespace') + data.attrib['xmlns'] = XHTML_NS + data = etree.tostring(data, encoding=unicode) + + try: + data = etree.fromstring(data, parser=parser) + except: + data = data.replace(':=', '=').replace(':>', '>') + data = data.replace('', '') + try: + data = etree.fromstring(data, parser=parser) + except etree.XMLSyntaxError: + log.warn('Stripping comments from %s'% + filename) + data = re.compile(r'', re.DOTALL).sub('', + data) + data = data.replace( + "", + '') + data = data.replace("", '') + try: + data = etree.fromstring(data, + parser=RECOVER_PARSER) + except etree.XMLSyntaxError: + log.warn('Stripping meta tags from %s'% filename) + data = re.sub(r']+?>', '', data) + data = etree.fromstring(data, parser=RECOVER_PARSER) + elif namespace(data.tag) != XHTML_NS: + # OEB_DOC_NS, but possibly others + ns = namespace(data.tag) + attrib = dict(data.attrib) + nroot = etree.Element(XHTML('html'), + nsmap={None: XHTML_NS}, attrib=attrib) + for elem in data.iterdescendants(): + if isinstance(elem.tag, basestring) and \ + namespace(elem.tag) == ns: + elem.tag = XHTML(barename(elem.tag)) + for elem in data: + nroot.append(elem) + data = nroot + + data = merge_multiple_html_heads_and_bodies(data, log) + # Ensure has a + head = xpath(data, '/h:html/h:head') + head = head[0] if head else None + if head is None: + log.warn('File %s missing element' % filename) + head = etree.Element(XHTML('head')) + data.insert(0, head) + title = etree.SubElement(head, XHTML('title')) + title.text = _('Unknown') + elif not xpath(data, '/h:html/h:head/h:title'): + log.warn('File %s missing element' % filename) + title = etree.SubElement(head, XHTML('title')) + title.text = _('Unknown') + # Remove any encoding-specifying <meta/> elements + for meta in META_XP(data): + meta.getparent().remove(meta) + etree.SubElement(head, XHTML('meta'), + attrib={'http-equiv': 'Content-Type', + 'content': '%s; charset=utf-8' % XHTML_NS}) + # Ensure has a <body/> + if not xpath(data, '/h:html/h:body'): + body = xpath(data, '//h:body') + if body: + body = body[0] + body.getparent().remove(body) + data.append(body) + else: + log.warn('File %s missing <body/> element' % filename) + etree.SubElement(data, XHTML('body')) + + # Remove microsoft office markup + r = [x for x in data.iterdescendants(etree.Element) if 'microsoft-com' in x.tag] + for x in r: + x.tag = XHTML('span') + + # Remove lang redefinition inserted by the amazing Microsoft Word! + body = xpath(data, '/h:html/h:body')[0] + for key in list(body.attrib.keys()): + if key == 'lang' or key.endswith('}lang'): + body.attrib.pop(key) + + def remove_elem(a): + p = a.getparent() + idx = p.index(a) -1 + p.remove(a) + if a.tail: + if idx <= 0: + if p.text is None: + p.text = '' + p.text += a.tail + else: + if p[idx].tail is None: + p[idx].tail = '' + p[idx].tail += a.tail + + # Remove hyperlinks with no content as they cause rendering + # artifacts in browser based renderers + # Also remove empty <b>, <u> and <i> tags + for a in xpath(data, '//h:a[@href]|//h:i|//h:b|//h:u'): + if a.get('id', None) is None and a.get('name', None) is None \ + and len(a) == 0 and not a.text: + remove_elem(a) + + # Convert <br>s with content into paragraphs as ADE can't handle + # them + for br in xpath(data, '//h:br'): + if len(br) > 0 or br.text: + br.tag = XHTML('div') + + # Remove any stray text in the <head> section and format it nicely + data.text = '\n ' + head = xpath(data, '//h:head') + if head: + head = head[0] + head.text = '\n ' + head.tail = '\n ' + for child in head: + child.tail = '\n ' + child.tail = '\n ' + + return data + + diff --git a/src/calibre/ebooks/oeb/reader.py b/src/calibre/ebooks/oeb/reader.py index 9e4b6238a0..0337d47f92 100644 --- a/src/calibre/ebooks/oeb/reader.py +++ b/src/calibre/ebooks/oeb/reader.py @@ -19,16 +19,15 @@ from calibre.ebooks.oeb.base import OPF1_NS, OPF2_NS, OPF2_NSMAP, DC11_NS, \ from calibre.ebooks.oeb.base import OEB_DOCS, OEB_STYLES, OEB_IMAGES, \ PAGE_MAP_MIME, JPEG_MIME, NCX_MIME, SVG_MIME from calibre.ebooks.oeb.base import XMLDECL_RE, COLLAPSE_RE, \ - ENTITY_RE, MS_COVER_TYPE, iterlinks + MS_COVER_TYPE, iterlinks from calibre.ebooks.oeb.base import namespace, barename, XPath, xpath, \ urlnormalize, BINARY_MIME, \ OEBError, OEBBook, DirContainer from calibre.ebooks.oeb.writer import OEBWriter -from calibre.ebooks.oeb.entitydefs import ENTITYDEFS from calibre.utils.localization import get_lang from calibre.ptempfile import TemporaryDirectory from calibre.constants import __appname__, __version__ -from calibre import guess_type +from calibre import guess_type, xml_replace_entities __all__ = ['OEBReader'] @@ -107,8 +106,7 @@ class OEBReader(object): try: opf = etree.fromstring(data) except etree.XMLSyntaxError: - repl = lambda m: ENTITYDEFS.get(m.group(1), m.group(0)) - data = ENTITY_RE.sub(repl, data) + data = xml_replace_entities(data, encoding=None) try: opf = etree.fromstring(data) self.logger.warn('OPF contains invalid HTML named entities') @@ -371,8 +369,15 @@ class OEBReader(object): else : description = None + index_image = xpath(child, + 'descendant::calibre:meta[@name = "toc_thumbnail"]') + toc_thumbnail = (index_image[0].text if index_image else None) + if not toc_thumbnail or not toc_thumbnail.strip(): + toc_thumbnail = None + node = toc.add(title, href, id=id, klass=klass, - play_order=po, description=description, author=author) + play_order=po, description=description, author=author, + toc_thumbnail=toc_thumbnail) self._toc_from_navpoint(item, node, child) diff --git a/src/calibre/gui2/book_details.py b/src/calibre/gui2/book_details.py index a468bd6e44..6ad1aaf0c4 100644 --- a/src/calibre/gui2/book_details.py +++ b/src/calibre/gui2/book_details.py @@ -56,8 +56,11 @@ def render_html(mi, css, vertical, widget, all_fields=False): # {{{ </body> <html> '''%(f, c, css) + fm = getattr(mi, 'field_metadata', field_metadata) + fl = dict(get_field_list(fm)) + show_comments = (all_fields or fl.get('comments', True)) comments = u'' - if mi.comments: + if mi.comments and show_comments: comments = comments_to_html(force_unicode(mi.comments)) right_pane = u'<div id="comments" class="comments">%s</div>'%comments diff --git a/src/calibre/gui2/custom_column_widgets.py b/src/calibre/gui2/custom_column_widgets.py index ad0f4aee77..486f2c540d 100644 --- a/src/calibre/gui2/custom_column_widgets.py +++ b/src/calibre/gui2/custom_column_widgets.py @@ -429,7 +429,7 @@ def populate_metadata_page(layout, db, book_id, bulk=False, two_column=False, pa # The fields named here must be first in the widget list tweak_cols = tweaks['metadata_edit_custom_column_order'] comments_in_tweak = 0 - for key in tweak_cols: + for key in (tweak_cols or ()): # Add the key if it really exists in the database if key in cols_to_display: cols.append(key) diff --git a/src/calibre/gui2/dialogs/scheduler.py b/src/calibre/gui2/dialogs/scheduler.py index 9d103d5ca5..23d6bbcef4 100644 --- a/src/calibre/gui2/dialogs/scheduler.py +++ b/src/calibre/gui2/dialogs/scheduler.py @@ -441,7 +441,7 @@ class Scheduler(QObject): self.news_menu.addAction(self.cac) self.news_menu.addSeparator() self.all_action = self.news_menu.addAction( - _('Download all scheduled new sources'), + _('Download all scheduled news sources'), self.download_all_scheduled) self.timer = QTimer(self) diff --git a/src/calibre/gui2/viewer/main.py b/src/calibre/gui2/viewer/main.py index d1c8046dcc..db6d0d8b91 100644 --- a/src/calibre/gui2/viewer/main.py +++ b/src/calibre/gui2/viewer/main.py @@ -758,11 +758,12 @@ class EbookViewer(MainWindow, Ui_EbookViewer): self.set_page_number(frac) def next_document(self): - if self.current_index < len(self.iterator.spine) - 1: + if (hasattr(self, 'current_index') and self.current_index < + len(self.iterator.spine) - 1): self.load_path(self.iterator.spine[self.current_index+1]) def previous_document(self): - if self.current_index > 0: + if hasattr(self, 'current_index') and self.current_index > 0: self.load_path(self.iterator.spine[self.current_index-1], pos=1.0) def keyPressEvent(self, event): diff --git a/src/calibre/translations/af.po b/src/calibre/translations/af.po index 63a009f1ab..0313e1b372 100644 --- a/src/calibre/translations/af.po +++ b/src/calibre/translations/af.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 17:39+0000\n" "Last-Translator: Kovid Goyal <Unknown>\n" "Language-Team: Afrikaans <af@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:52+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:16+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Doen absolute niks" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Doen absolute niks" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Doen absolute niks" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Doen absolute niks" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Doen absolute niks" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -464,7 +464,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -886,7 +886,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -898,10 +898,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -930,17 +930,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1052,8 +1052,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2768,13 +2768,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2782,7 +2782,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3157,7 +3157,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3595,7 +3595,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4471,52 +4471,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4524,123 +4524,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4648,7 +4648,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4657,13 +4657,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4674,33 +4674,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4790,8 +4794,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5436,7 +5440,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5587,75 +5591,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5785,8 +5789,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5809,6 +5813,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6339,18 +6344,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7217,7 +7226,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7640,10 +7649,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7656,68 +7665,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8005,7 +8014,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9226,7 +9235,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9566,7 +9575,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10845,43 +10854,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10911,7 +10920,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11098,54 +11107,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13935,6 +13944,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14269,7 +14282,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14279,7 +14292,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14331,7 +14344,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14420,13 +14433,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14459,7 +14472,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14467,7 +14480,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14475,7 +14488,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14483,13 +14496,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14523,20 +14536,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14886,40 +14899,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15222,7 +15235,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15472,25 +15485,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15929,64 +15948,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17743,7 +17762,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17766,67 +17785,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17835,7 +17854,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17843,7 +17862,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17851,7 +17870,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17859,7 +17878,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17868,7 +17887,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17877,14 +17896,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17892,7 +17911,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17900,7 +17919,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17956,166 +17975,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/ar.po b/src/calibre/translations/ar.po index a2eaff299a..0570caf258 100644 --- a/src/calibre/translations/ar.po +++ b/src/calibre/translations/ar.po @@ -7,17 +7,17 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" -"PO-Revision-Date: 2011-11-08 17:08+0000\n" -"Last-Translator: shtywi@lttnet.net <Unknown>\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" +"PO-Revision-Date: 2011-12-09 11:30+0000\n" +"Last-Translator: عبدالله شلي (Abdellah Chelli) <Unknown>\n" "Language-Team: Arabic <ar@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= " "3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:52+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:16+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:182 msgid "&Monospace family:" @@ -63,8 +63,8 @@ msgstr "لا يفعل شيءً" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -75,8 +75,8 @@ msgstr "لا يفعل شيءً" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -85,8 +85,8 @@ msgstr "لا يفعل شيءً" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -211,7 +211,7 @@ msgstr "لا يفعل شيءً" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -230,14 +230,14 @@ msgstr "لا يفعل شيءً" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:46 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:54 msgid "Unknown" -msgstr "غير معروف" +msgstr "مجهول" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:77 msgid "Base" @@ -510,7 +510,7 @@ msgid "Change the way calibre behaves" msgstr "غيّر سلوك مكتبة النظم" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "أضف أعمدتك الخاصة" @@ -958,7 +958,7 @@ msgstr "تعطيل الملحق المسمى" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -970,10 +970,10 @@ msgstr "الطريق إلى المكتبة وقتا طويلا. يجب أن يك #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "نعم" @@ -1002,7 +1002,7 @@ msgstr "تصحيح السجل" msgid "Communicate with Android phones." msgstr "التواصل مع هواتف أندرويد ." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -1010,11 +1010,11 @@ msgstr "" "مفصولة بفواصل قائمة الدلائل إلى إرسال البريد إلى الكتب على الجهاز. وسيتم " "استخدام أول واحد موجود" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "تواصل معا هواتف S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1147,8 +1147,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -3003,7 +3003,7 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "للحصول على قائمة كاملة مع الأوصاف." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." @@ -3011,7 +3011,7 @@ msgstr "" "اجتياز الارتباطات في اتساع ملفات HTML أولا. عادة، يتم اجتيازه أنهم عمق " "الأولى." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3019,7 +3019,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3417,7 +3417,7 @@ msgstr "قالب خطأ" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "كلا" @@ -3869,7 +3869,7 @@ msgstr "افتتاحية" msgid "Main Text" msgstr "النصّ الرئيسي" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "الكتب بتهيئة %s ليست مدعومة" @@ -4757,52 +4757,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "التبديل / إنشاء مكتبة..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4810,123 +4810,123 @@ msgstr "التبديل / إنشاء مكتبة..." msgid "%d books" msgstr "كتب %d" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "تسمية المكتبة" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "إزالة مكتبة" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "صيانة مكتبة" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "بدء النسخ الاحتياطي الفوقية لجميع الكتب" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "اختيار مكتبة" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "إعادة تسمية" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "فشل إعادة تسمية" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "إزالة مكتبة" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "حالة النسخ الاحتياطي" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4934,7 +4934,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4943,13 +4943,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4960,34 +4960,38 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" "فشل التحقق سلامة قاعدة البيانات ، انقر فوق إظهار التفاصيل لمعرفة التفاصيل." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -5077,8 +5081,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5731,7 +5735,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5882,75 +5886,75 @@ msgstr "يتم البحث في" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "العثور على التكرارات!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "تم الحفظ" @@ -6080,8 +6084,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6104,6 +6108,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6634,18 +6639,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7514,7 +7523,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7937,10 +7946,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7953,68 +7962,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "تطبيق التغييرات" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "إزالة سلسلة" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8302,7 +8311,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9523,7 +9532,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9866,7 +9875,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -11149,43 +11158,43 @@ msgstr "" msgid "Unavailable" msgstr "غير متوفر" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -11215,7 +11224,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11402,54 +11411,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "استعادة التخطيط الافتراضي" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14259,6 +14268,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14594,7 +14607,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14604,7 +14617,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14656,7 +14669,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14745,13 +14758,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14784,7 +14797,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14792,7 +14805,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14800,7 +14813,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14808,13 +14821,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14848,20 +14861,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "الحصول على كتب" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -15211,40 +15224,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "احصل على الأخبار من " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15527,7 +15540,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "نتذكر الماضي حجم الإطار المستخدمة" @@ -15761,25 +15774,31 @@ msgstr "يتم تحميل الكتاب الإلكتروني..." msgid "Could not open ebook" msgstr "لم يتمكن من فتح الكتاب الإلكتروني" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -16218,64 +16237,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -18061,7 +18080,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -18084,67 +18103,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -18153,7 +18172,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -18161,7 +18180,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -18169,7 +18188,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -18177,7 +18196,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -18186,7 +18205,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -18195,14 +18214,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -18210,7 +18229,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -18218,7 +18237,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -18274,166 +18293,174 @@ msgid "English (Australia)" msgstr "الإنجليزية (أستراليا)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +msgid "English (Bulgaria)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "الأنكليزية (زيلندا الجديدة)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "الانجليزية (كندا)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/ast.po b/src/calibre/translations/ast.po index b593f3d0fb..ae1d0eaf64 100644 --- a/src/calibre/translations/ast.po +++ b/src/calibre/translations/ast.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-09-26 16:28+0000\n" "Last-Translator: Xandru <xandru@softastur.org>\n" "Language-Team: Asturian <ast@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:53+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:17+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Nun fai nada" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Nun fai nada" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Nun fai nada" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Nun fai nada" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Nun fai nada" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -470,7 +470,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -892,7 +892,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -904,10 +904,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -936,17 +936,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1058,8 +1058,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2774,13 +2774,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2788,7 +2788,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3160,7 +3160,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3598,7 +3598,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4474,52 +4474,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4527,123 +4527,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4651,7 +4651,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4660,13 +4660,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4677,33 +4677,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4793,8 +4797,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5439,7 +5443,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5590,75 +5594,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5788,8 +5792,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5812,6 +5816,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6342,18 +6347,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7220,7 +7229,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7643,10 +7652,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7659,68 +7668,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8008,7 +8017,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9229,7 +9238,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9569,7 +9578,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10848,43 +10857,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10914,7 +10923,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11101,54 +11110,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13938,6 +13947,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14272,7 +14285,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14282,7 +14295,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14334,7 +14347,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14423,13 +14436,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14462,7 +14475,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14470,7 +14483,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14478,7 +14491,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14486,13 +14499,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14526,20 +14539,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14889,40 +14902,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15225,7 +15238,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15475,25 +15488,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15932,64 +15951,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17746,7 +17765,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17769,67 +17788,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17838,7 +17857,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17846,7 +17865,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17854,7 +17873,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17862,7 +17881,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17871,7 +17890,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17880,14 +17899,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17895,7 +17914,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17903,7 +17922,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17959,166 +17978,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/az.po b/src/calibre/translations/az.po index 2e22a0ac83..6f4c91a579 100644 --- a/src/calibre/translations/az.po +++ b/src/calibre/translations/az.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-11-22 11:21+0000\n" "Last-Translator: Elvin Haci <Unknown>\n" "Language-Team: Azerbaijani <az@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:53+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:17+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Heç bir şey etmir" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Heç bir şey etmir" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Heç bir şey etmir" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Heç bir şey etmir" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Heç bir şey etmir" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -465,7 +465,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Öz sütunlarınızı əlavə edin" @@ -890,7 +890,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -902,10 +902,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -934,17 +934,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1056,8 +1056,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2772,13 +2772,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2786,7 +2786,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3158,7 +3158,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3596,7 +3596,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4472,52 +4472,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4525,123 +4525,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4649,7 +4649,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4658,13 +4658,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4675,33 +4675,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4791,8 +4795,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5437,7 +5441,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5588,75 +5592,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5786,8 +5790,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5810,6 +5814,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6340,18 +6345,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7218,7 +7227,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7641,10 +7650,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7657,68 +7666,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8006,7 +8015,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9227,7 +9236,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9567,7 +9576,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10846,43 +10855,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10912,7 +10921,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11099,54 +11108,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13936,6 +13945,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14270,7 +14283,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14280,7 +14293,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14332,7 +14345,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14421,13 +14434,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14460,7 +14473,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14468,7 +14481,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14476,7 +14489,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14484,13 +14497,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14524,20 +14537,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14887,40 +14900,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15223,7 +15236,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15473,25 +15486,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15930,64 +15949,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17744,7 +17763,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17767,67 +17786,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17836,7 +17855,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17844,7 +17863,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17852,7 +17871,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17860,7 +17879,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17869,7 +17888,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17878,14 +17897,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17893,7 +17912,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17901,7 +17920,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17957,166 +17976,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/bg.po b/src/calibre/translations/bg.po index 75be27b831..12a6c28bcc 100644 --- a/src/calibre/translations/bg.po +++ b/src/calibre/translations/bg.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.51\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-09-18 08:58+0000\n" "Last-Translator: Nelly Hoang <Unknown>\n" "Language-Team: bg\n" @@ -14,8 +14,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:54+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:18+0000\n" +"X-Generator: Launchpad (build 14450)\n" "Generated-By: pygettext.py 1.5\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -26,8 +26,8 @@ msgstr "Не прави абсолютно нищо" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Не прави абсолютно нищо" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Не прави абсолютно нищо" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Не прави абсолютно нищо" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Не прави абсолютно нищо" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -474,7 +474,7 @@ msgid "Change the way calibre behaves" msgstr "Настройте начина по който се държи calibre" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Добавяне на собствени колони" @@ -938,7 +938,7 @@ msgstr "Деактивиране на избраната добавка" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -950,10 +950,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Да" @@ -982,7 +982,7 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Комуникирай с Android устройства" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -990,11 +990,11 @@ msgstr "" "Списък с деректориите за изпращане на електронни книги на устройството, " "разделен със запетайки. Ще бъде използван първият съществуващ." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Комуникирай със S60 устройства" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "Сподели с WebOS таблети" @@ -1118,8 +1118,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2847,13 +2847,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2861,7 +2861,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3236,7 +3236,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "Не" @@ -3674,7 +3674,7 @@ msgstr "Предговор" msgid "Main Text" msgstr "Основен текст" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4550,52 +4550,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "Не е намерена библиотека" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Превключване/създаване на библиотека..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4603,123 +4603,123 @@ msgstr "Превключване/създаване на библиотека... msgid "%d books" msgstr "%d книги" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Бързо превключване" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Преименуване на библиотека" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Проверка на библиотека" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Преименуване" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Вече съществува" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Преименуването е неуспешно" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4727,7 +4727,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4736,13 +4736,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4753,33 +4753,37 @@ msgstr "" msgid "Failed" msgstr "Неуспешно" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Не е позволено" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4869,8 +4873,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5515,7 +5519,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5666,75 +5670,75 @@ msgstr "Търсене в" msgid "Adding..." msgstr "Добавяне ..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Търсене във всички поддиректории..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Няма книги" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Не са намерени книги" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "Няма разрешение" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Добавена" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Добавянето е неуспешно" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Записване..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Запазен" @@ -5864,8 +5868,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5888,6 +5892,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6418,18 +6423,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Масово конвертиране" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7296,7 +7305,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7719,10 +7728,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7735,68 +7744,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "звезда(и)" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8084,7 +8093,7 @@ msgid "My Books" msgstr "Моите книги" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9305,7 +9314,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9645,7 +9654,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10924,43 +10933,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10990,7 +10999,7 @@ msgstr "&Бърз клавиш:" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11177,54 +11186,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14018,6 +14027,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14352,7 +14365,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14362,7 +14375,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14414,7 +14427,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14503,13 +14516,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14542,7 +14555,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14550,7 +14563,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14558,7 +14571,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14566,13 +14579,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14606,20 +14619,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14969,40 +14982,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15305,7 +15318,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15555,25 +15568,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -16012,64 +16031,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17826,7 +17845,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17849,67 +17868,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17918,7 +17937,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17926,7 +17945,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17934,7 +17953,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17942,7 +17961,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17951,7 +17970,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17960,14 +17979,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17975,7 +17994,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17983,7 +18002,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -18039,166 +18058,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/bn.po b/src/calibre/translations/bn.po index 1b40d25146..0960bf84c7 100644 --- a/src/calibre/translations/bn.po +++ b/src/calibre/translations/bn.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 17:36+0000\n" "Last-Translator: Kovid Goyal <Unknown>\n" "Language-Team: Bengali <bn@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:54+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:18+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "আসলে কিছুই করে না" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "আসলে কিছুই করে না" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "আসলে কিছুই করে না" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "আসলে কিছুই করে না" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "আসলে কিছুই করে না" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -464,7 +464,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -886,7 +886,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -898,10 +898,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -930,17 +930,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1052,8 +1052,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2768,13 +2768,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2782,7 +2782,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3154,7 +3154,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3592,7 +3592,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4468,52 +4468,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4521,123 +4521,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4645,7 +4645,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4654,13 +4654,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4671,33 +4671,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4787,8 +4791,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5433,7 +5437,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5584,75 +5588,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5782,8 +5786,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5806,6 +5810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6336,18 +6341,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7214,7 +7223,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7637,10 +7646,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7653,68 +7662,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8002,7 +8011,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9223,7 +9232,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9563,7 +9572,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10842,43 +10851,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10908,7 +10917,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11095,54 +11104,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13932,6 +13941,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14266,7 +14279,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14276,7 +14289,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14328,7 +14341,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14417,13 +14430,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14456,7 +14469,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14464,7 +14477,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14472,7 +14485,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14480,13 +14493,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14520,20 +14533,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14883,40 +14896,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15219,7 +15232,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15469,25 +15482,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15926,64 +15945,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17740,7 +17759,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17763,67 +17782,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17832,7 +17851,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17840,7 +17859,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17848,7 +17867,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17856,7 +17875,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17865,7 +17884,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17874,14 +17893,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17889,7 +17908,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17897,7 +17916,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17953,166 +17972,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/br.po b/src/calibre/translations/br.po index 9be3a2e603..bf54f3a970 100644 --- a/src/calibre/translations/br.po +++ b/src/calibre/translations/br.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-13 04:22+0000\n" "Last-Translator: Denis <Unknown>\n" "Language-Team: Breton <br@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:54+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:18+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Ne ra netra da vat" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Ne ra netra da vat" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Ne ra netra da vat" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Ne ra netra da vat" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Ne ra netra da vat" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -467,7 +467,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -889,7 +889,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -901,10 +901,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -933,17 +933,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1055,8 +1055,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2771,13 +2771,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2785,7 +2785,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3160,7 +3160,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3598,7 +3598,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4474,52 +4474,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4527,123 +4527,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4651,7 +4651,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4660,13 +4660,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4677,33 +4677,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4793,8 +4797,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5439,7 +5443,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5590,75 +5594,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5788,8 +5792,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5812,6 +5816,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6342,18 +6347,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7220,7 +7229,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7643,10 +7652,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7659,68 +7668,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8008,7 +8017,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9229,7 +9238,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9569,7 +9578,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10848,43 +10857,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10914,7 +10923,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11101,54 +11110,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13938,6 +13947,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14272,7 +14285,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14282,7 +14295,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14334,7 +14347,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14423,13 +14436,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14462,7 +14475,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14470,7 +14483,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14478,7 +14491,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14486,13 +14499,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14526,20 +14539,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14889,40 +14902,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15225,7 +15238,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15475,25 +15488,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15932,64 +15951,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17746,7 +17765,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17769,67 +17788,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17838,7 +17857,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17846,7 +17865,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17854,7 +17873,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17862,7 +17881,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17871,7 +17890,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17880,14 +17899,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17895,7 +17914,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17903,7 +17922,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17959,166 +17978,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/bs.po b/src/calibre/translations/bs.po index 2a97399bad..a9512a2436 100644 --- a/src/calibre/translations/bs.po +++ b/src/calibre/translations/bs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 17:03+0000\n" "Last-Translator: Kovid Goyal <Unknown>\n" "Language-Team: Bosnian <bs@li.org>\n" @@ -16,8 +16,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:54+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:18+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -27,8 +27,8 @@ msgstr "Radi apsolutno ništa" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -39,8 +39,8 @@ msgstr "Radi apsolutno ništa" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -49,8 +49,8 @@ msgstr "Radi apsolutno ništa" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -175,7 +175,7 @@ msgstr "Radi apsolutno ništa" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -194,7 +194,7 @@ msgstr "Radi apsolutno ništa" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -465,7 +465,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -887,7 +887,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -899,10 +899,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -931,17 +931,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1053,8 +1053,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2769,13 +2769,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2783,7 +2783,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3155,7 +3155,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3593,7 +3593,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4469,52 +4469,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4522,123 +4522,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4646,7 +4646,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4655,13 +4655,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4672,33 +4672,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4788,8 +4792,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5434,7 +5438,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5585,75 +5589,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5783,8 +5787,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5807,6 +5811,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6337,18 +6342,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7215,7 +7224,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7638,10 +7647,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7654,68 +7663,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8003,7 +8012,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9224,7 +9233,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9564,7 +9573,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10843,43 +10852,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10909,7 +10918,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11096,54 +11105,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13933,6 +13942,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14267,7 +14280,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14277,7 +14290,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14329,7 +14342,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14418,13 +14431,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14457,7 +14470,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14465,7 +14478,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14473,7 +14486,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14481,13 +14494,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14521,20 +14534,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14884,40 +14897,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15220,7 +15233,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15470,25 +15483,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15927,64 +15946,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17741,7 +17760,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17764,67 +17783,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17833,7 +17852,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17841,7 +17860,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17849,7 +17868,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17857,7 +17876,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17866,7 +17885,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17875,14 +17894,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17890,7 +17909,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17898,7 +17917,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17954,166 +17973,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/ca.po b/src/calibre/translations/ca.po index 1ea828be58..3fd8235ebf 100644 --- a/src/calibre/translations/ca.po +++ b/src/calibre/translations/ca.po @@ -10,16 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: ca\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" -"PO-Revision-Date: 2011-12-03 12:56+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" +"PO-Revision-Date: 2011-12-10 17:34+0000\n" "Last-Translator: Ferran Rius <frius64@hotmail.com>\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-04 04:41+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:19+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -29,8 +29,8 @@ msgstr "No fa res" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -41,8 +41,8 @@ msgstr "No fa res" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -51,8 +51,8 @@ msgstr "No fa res" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -177,7 +177,7 @@ msgstr "No fa res" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -196,7 +196,7 @@ msgstr "No fa res" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -483,7 +483,7 @@ msgid "Change the way calibre behaves" msgstr "Canvia el comportament del calibre" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Columnes" @@ -949,7 +949,7 @@ msgstr "Inhabilita el connector anomenat" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -962,10 +962,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Sí" @@ -994,7 +994,7 @@ msgstr "Registre de depuració" msgid "Communicate with Android phones." msgstr "Comunica't amb telèfons Android" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -1002,11 +1002,11 @@ msgstr "" "Llista de carpetes del dispositiu separades per comes on s'enviaran els " "llibres. Es farà servir la primera que ja existeixi al dispositiu." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Comunica't amb telèfons S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "Comunica't amb tauletes tàctils WebOS." @@ -1148,8 +1148,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -3244,7 +3244,7 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "per a una llist complerta amb descripcions." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." @@ -3252,7 +3252,7 @@ msgstr "" "Recorre els enllaços dels fitxers HTML primer per amplitud. Normalment es " "recorren primer per profunditat." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3263,7 +3263,7 @@ msgstr "" "No han de ser negatius. 0 significa que no es segueixen enllaços al fitxer " "HTML arrel. Per defecte %default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3691,7 +3691,7 @@ msgstr "ERROR A LA PLANTILLA" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "No" @@ -4188,7 +4188,7 @@ msgstr "Pròleg" msgid "Main Text" msgstr "Text principal" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "El format de llibre %s no és compatible" @@ -5231,12 +5231,12 @@ msgstr "Carpeta d'exportació del catàleg" msgid "Select destination for %(title)s.%(fmt)s" msgstr "Seleccioneu la destinació de %(title)s.%(fmt)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "No s'ha trobat cap llibreria" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " @@ -5246,40 +5246,40 @@ msgstr "" "a continuació si és que s'ha mogut la carpeta. Si no és així, el calibre " "oblidarà aquesta biblioteca." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "Ubicació nova de la biblioteca:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "S'ha mogut la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "Oblida la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "Nova ubicació de la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "No hi ha cap biblioteca del calibre a %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "Trieu la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Trieu una biblioteca del calibre per treballar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Canvia/crea una biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -5287,83 +5287,83 @@ msgstr "Canvia/crea una biblioteca" msgid "%d books" msgstr "%d llibres" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Canvi ràpid" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Canvia el nom de la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "Suprimeix la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "Agafa un llibre a l'atzar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Manteniment de la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "Estat de la còpia de seguretat de les metadades de la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "Fes una còpia de seguretat de les metadades de tots els llibres" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Comprova la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "Restaura la base de dades" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Canvia el nom" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "Tria un nom nou per a la biblioteca <b>%s</b>. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" "Tingueu en compte que es canviarà el norm a la carpeta de la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Ja existeix" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "La carpeta %s ja existeix. Esborreu-la primer." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "Massa llarg" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Ha fallat el canvi de nom" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " @@ -5372,11 +5372,11 @@ msgstr "" "Ha fallat el canvi de nom de la biblioteca a %s. La causa més habitual és " "que un altre programa té obert un dels fitxers de la bibilioteca ." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "S'ha suprimit la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " @@ -5385,24 +5385,24 @@ msgstr "" "S'ha suprimit del calibre la biblioteca %s. Els fitxers encara són a " "l'ordinador, si el voleu suprimir heu de fer-ho manualment." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "cap" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "Estat de la còpia de seguretat" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "Fitxers de metadades que estan pendents de desar: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "Còpia de seguretat de les metadades" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." @@ -5410,7 +5410,7 @@ msgstr "" "Es farà una còpia de seguretat de les metadades mentre el calibre s'executa, " "a una velocitat aproximada d'un llibre cada tres segons." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -5421,7 +5421,7 @@ msgstr "" "moure la biblioteca a una ubicació amb un camí més curt amb l'Explorador del " "Windows i després tornar-ho a intentar amb la ubicació nova." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -5430,7 +5430,7 @@ msgstr "" msgid "Success" msgstr "Amb èxit" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" @@ -5439,7 +5439,7 @@ msgstr "" "Voleu que el calibre comprovi si els llibres de la biblioteca concorden amb " "la informació de la base de dades?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -5450,30 +5450,34 @@ msgstr "" msgid "Failed" msgstr "Ha fallat" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" "Ha fallat la comprovació de la integritat de la base de dades, feu clic a " "«Mostra detalls» per als detalls." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "S'està iniciant l'anàlisi de la biblioteca. Pot trigar una estona." + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "No s'ha trobat problemes" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" "Els llibres de la biblioteca concorden amb la informació de la base de dades." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "No està permès" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5481,7 +5485,7 @@ msgstr "" "No es poden canviar de biblioteca si es fa servir la variable d'entorn " "«CALIBRE_OVERRIDE_DATABASE_PATH»." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "No podeu canviar les biblioteques mentre hi ha treballs en execució." @@ -5576,8 +5580,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -6277,7 +6281,7 @@ msgid "Search for this %s" msgstr "Cerca aquest %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "Botigues" @@ -6444,33 +6448,33 @@ msgstr "S'està cercant a" msgid "Adding..." msgstr "S'està afegint..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "S'està cercant a totes les subcarpetes..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Error al camí" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "La carpeta que s'ha indicat no es pot processar." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Cap llibre" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "No s'ha trobat cap llibre" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "No està permès" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." @@ -6478,15 +6482,15 @@ msgstr "" "No s'ha pogut afegir alguns fitxers perquè no hi teniu permís d'accés. Feu " "clic a «Mostra detalls» per veure la llista dels fitxers." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "S'ha afegit" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Ha fallat en afegir" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -6495,11 +6499,11 @@ msgstr "" "calibre i afegiu els llibres en grups més petits, fins que trobeu el llibre " "que causa el problema." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "S'ha trobat duplicats!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" @@ -6507,19 +6511,19 @@ msgstr "" "Ja hi ha llibres amb el mateix títol a la base de dades. S'afegeixen " "igualment?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "S'estan afegint els duplicats..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "S’està desant…" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "S'està recollint les dades, espereu..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "S'ha desat" @@ -6659,8 +6663,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6687,6 +6691,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "Donacions" @@ -7237,7 +7242,7 @@ msgstr "Vista normal" msgid "HTML Source" msgstr "Codi font HTML" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " @@ -7247,11 +7252,15 @@ msgstr "" "valors desats d'una conversió prèvia (si existeix) en comptes de fer servir " "els valors per defecte que s'indiquen a les Preferències" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "Cap dels llibres seleccionats tenen paràmetres de conversió desats." + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Conversió en grup" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Opcions específiques per al format de sortida" @@ -8172,7 +8181,7 @@ msgstr "Vegades:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -8624,10 +8633,10 @@ msgstr "No s'ha pogut carregar el navegador de portades" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -8640,69 +8649,69 @@ msgid "Undefined" msgstr "Sense definir" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "estrella/es" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Sense qualificar" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "Estableix la data d'avui per a «%s»" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "Suprimeix «%s»" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " índex:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" "L'enumeració «{0}» té un valor no vàlid i es farà servir el predeterminat" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "Aplica els canvis" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "Elimina la sèrie" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "Numera els llibres automàticament" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "Força començar la numeració amb " -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "L'enumeració «{0}» té valors no vàlids que no surten a la llista" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Suprimeix totes les etiquetes" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "etiquetes que s'afegiran" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "etiquetes que se suprimiran" @@ -9012,7 +9021,7 @@ msgid "My Books" msgstr "Els meus llibres" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Genera el catàleg" @@ -10439,7 +10448,7 @@ msgstr "Historial de versions de %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "Tot" @@ -10800,7 +10809,7 @@ msgstr "Elements" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -12201,43 +12210,43 @@ msgstr "Feu clic a «Mostra detalls» per a la llista." msgid "Unavailable" msgstr "No disponible" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Treballs:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Maj+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "Feu clic per veure la llista de tasques" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - Tasques" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "Cerca una tasca pel nom" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 msgid "No job" msgstr "No hi ha cap tasca" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "No s'ha seleccionat cap tasca" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "Segur que voleu aturar la tasca seleccionada?" msgstr[1] "Segur que voleu aturar les tasques seleccionades?" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "Segur que voleu aturar totes les tasques que no són de dispositiu?" @@ -12267,7 +12276,7 @@ msgstr "&Drecera:" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -12462,54 +12471,54 @@ msgstr "S'ha marcat per suprimir" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Feu doble clic per a <b>edittar>/b><br>-me<b>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "Amaga la columna %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "Ordena per %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "Ascendent" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "Descendent" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "Canvia l'alineació del text de %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "Esquerra" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "Dreta" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "Centrat" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "Mostra la columna" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "Encongeix la columna si és massa ampla" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "Restaura la disposició per defecte" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -15789,6 +15798,10 @@ msgstr "C&rea" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "Codi de &programa: (cal seguir les regles de sagnat de python)" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "Gestor d'ubicacions" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "Canvia entre les vistes de la biblioteca i del dispositiu" @@ -16141,7 +16154,7 @@ msgid "Nam&e/Description ..." msgstr "N&om/descripció..." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "Consulta:" @@ -16151,7 +16164,7 @@ msgid "Enable" msgstr "Habilita" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "Inverteix" @@ -16212,7 +16225,7 @@ msgstr "" "mercat." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -16303,13 +16316,13 @@ msgid "Search:" msgstr "Cerca:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "Llibres:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -16342,7 +16355,7 @@ msgstr "Baixada" msgid "Price" msgstr "Preu" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -16353,7 +16366,7 @@ msgstr "" "botiga que aquest preu és el correcte. Aquest preu sovint no inclou les " "promocions que tingui actives la botiga." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -16365,7 +16378,7 @@ msgstr "" "amb el llibre. Comproveu amb la botiga per assegurar-vos que podeu llegir el " "llibre abans de fer cap compra." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -16378,7 +16391,7 @@ msgstr "" "abans de fer una compra. És possible que la botiga no faci públic la " "utilització de DRM." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." @@ -16386,7 +16399,7 @@ msgstr "" "No s'ha pogut determinar si el llibre té restriccions DRM. És molt probable " "que en realitat aquest llibre en tingui." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "Es pot descarregar directament els formats següents: %s." @@ -16422,20 +16435,20 @@ msgstr "No s'ha trobat cap llibre que coincideixi amb la consulta" msgid "Choose format to download to your library." msgstr "Trieu un format per baixar a la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "Get Books" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "Obre el llibre seleccionat al navegador web del sistema" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "Obre en una navegador &extern" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "No disponible" @@ -16814,12 +16827,12 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "S'ha convertit el llibre %(num)d de %(total)d (%(title)s)" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "No s'ha pogut convertir alguns llibres" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " @@ -16828,28 +16841,28 @@ msgstr "" "No s'ha pogut convertir %(num)d de %(tot)d llibres perquè no s'ha trobat cap " "format d'origen adequat." -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "S'està posant els llibre a la cua per a una conversió en massa" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "S'està posant a la cua " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "Converteix el llibre %(num)d de %(tot)d (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Recull notícies de " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "La conversió ja existeix" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -17174,7 +17187,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opcions per personalitzar el visor de llibres electrònics" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "Recorda la darrera mida de finestra que s'ha fet servir" @@ -17436,30 +17449,38 @@ msgstr "S'està carregant el llibre..." msgid "Could not open ebook" msgstr "No s'ha pogut obrir el llibre" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Opcions de control del visor de llibres" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Si s'indica, la finestra del visor intentarà anar al primer pla quan " "s'iniciï." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Si s'indica, s'intentarà que la finestra del visor s'obri en pantalla " "completa." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" "Dirigeix les alertes de javascript i els missatges de consola a la consola" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" +"La posició que s'obrirà el llibre especificat. La posició és una ubicació " +"que es mostra a la cantonada superior esquerra del visor." + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -17968,64 +17989,64 @@ msgstr "" "catàleg al lector Stanza al vostre iPhone. «elmeuservidor» és el nom " "complert del servidor o l'adreça IP de l'ordinador on s'executa el calibre." -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "activat" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "sí" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "no" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "desactivat" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "avui" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "ahir" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "aquest mes" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "fa dies" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "en blanc" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "buit" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "Consulta booleana no vàlida «{0}»" @@ -20311,7 +20332,7 @@ msgstr "" "Assumint un valor de #gènere d'«A.B.C, D.E.F»: {#gènere:subitems(0,1)} " "s'obté «A, D», {#gènere:subitems(0,2)} s'obté «A.B, D.E»." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -20355,30 +20376,30 @@ msgstr "" "cadena en idioma local per a «AM» o «PM». «iso»: la data amb l'hora i la " "zona horària; ha de ser l'únic format present." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "uppercase(val) -- s'obté el valor del camp en majúscules" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "lowercase(val) -- s'obté el valor del camp en minúscules" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" "titlecase(val) -- s'obté el valor del camp amb les inicials en majúscula" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" "capitalize(val) -- s'obté el valor del camp amb la primera lletra en " "majúscula" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "booksize() -- s'obté el valor del camp de mida" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" @@ -20386,7 +20407,7 @@ msgstr "" "ondevice() -- s'obté «Yes» si s'ha establert «ondevice», un text buit en cas " "contrari" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" @@ -20394,7 +20415,7 @@ msgstr "" "has_cover() -- s'obté «Yes» si el llibre té portada, en cas contrari s'obté " "un text buit." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " @@ -20404,7 +20425,7 @@ msgstr "" "buit. Si tots els valors estan buits, s'obté un valor buit. S'hi pot posar " "tants valors com es vulgui." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " @@ -20414,7 +20435,7 @@ msgstr "" "cas contrari s'obté la cadena buida. Aquesta funció va bé conjuntament amb " "«test» o «first_non_empty». S'hi pot posar tants valors com es vulgui." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " @@ -20424,7 +20445,7 @@ msgstr "" "en cas contrari s'obté la cadena buida. Aquesta funció va bé conjuntament " "amb «test» o «first_non_empty». S'hi pot posar tants valors com es vulgui." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " @@ -20434,7 +20455,7 @@ msgstr "" "s'obté la cadena buida. Aquesta funció va bé conjuntament amb «test» o " "«first_non_empty». S'hi pot posar tants valors com es vulgui." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -20449,7 +20470,7 @@ msgstr "" "«llista2» estan separats pel «separador», de la mateixa manera que a la " "llista obtinguda." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -20462,7 +20483,7 @@ msgstr "" "estan separats pel «separador», de la mateixa manera que a la llista " "obtinguda." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -20475,7 +20496,7 @@ msgstr "" "estan separats pel «separador», de la mateixa manera que a la llista " "obtinguda." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -20488,7 +20509,7 @@ msgstr "" "«llista» estan separats pel «separador», de la mateixa manera que a la " "llista obtinguda." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -20503,7 +20524,7 @@ msgstr "" "les llistes no és rellevant. La comparació no diferencia majúscules i " "minúscules." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -20517,7 +20538,7 @@ msgstr "" "l'afegeix a la llista que s'obtindrà. Si «subst_opt» no és una cadena buida " "s'aplica la substitució abans d'afegir l'element a la llista obtinguda." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " @@ -20527,7 +20548,7 @@ msgstr "" "lo a «format_date» o «days_between», però es pot manipular com qualsevol " "altre text. La data està en format ISO." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -20538,7 +20559,7 @@ msgstr "" "«data2». El nombre és positiu si «data1» és posterior a «data2», negativo en " "cas contrari. Si «data1» o «data2» no són dates, s'obté una cadena buida." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -20550,7 +20571,7 @@ msgstr "" "les cadenes en anglès. Sí «localize» no és zero, s'obtenen les cadenes en la " "llengua local actual. «Lang_codes» és una llista separada per comes." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -20609,166 +20630,174 @@ msgid "English (Australia)" msgstr "Anglès (Austràlia)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 +msgid "English (Japan)" +msgstr "Anglès (Japó)" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "Anglès (Alemanya)" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 msgid "English (Bulgaria)" msgstr "Anglès (Bulgària)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "Anglès (Nova Zelanda)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "Anglès (Canadà)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "Anglès (Grècia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "Anglès (Índia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "Anglès (Nepal)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "Anglès (Tailàndia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "Anglès (Turquia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "Anglès (Xipre)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "Anglès (República Txeca)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "Anglès (Paquistan)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "Anglès (Croàcia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "Anglès (Indonèsia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "Anglès (Israel)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "Anglès (Rússia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "Anglès (Singapur)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "Anglès (Iemen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "Anglès (Irlanda)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "Anglès (Xina)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "Anglès (Sud-àfrica)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "Espanyol (Paraguai)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "Espanyol (Uruguai)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "Espanyol (Argentina)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "Espanyol (Mèxic)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "Espanyol (Cuba)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "Espanyol (Xile)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "Espanyol (Equador)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "Espanyol (Hondures)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "Espanyol (Veneçuela)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "Espanyol (Bolívia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "Espanyol (Nicaragua)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "Espanyol (Colòmbia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "Alemany (AT)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "Francès (BE)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "Holandès (NL)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "Holandès (BE)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "AM" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "PM" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "am" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "pm" diff --git a/src/calibre/translations/cs.po b/src/calibre/translations/cs.po index 2106b20a1f..5aa22450fc 100644 --- a/src/calibre/translations/cs.po +++ b/src/calibre/translations/cs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-10-25 20:43+0000\n" "Last-Translator: Marek Sušický <Unknown>\n" "Language-Team: Czech <cs@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:55+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:19+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -472,7 +472,7 @@ msgid "Change the way calibre behaves" msgstr "Mění způsob chování calibre" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Přidejte své vlastní sloupce" @@ -926,7 +926,7 @@ msgstr "Zakázat uvedený modul" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -938,10 +938,10 @@ msgstr "Cesta ke složce knihovny je moc dlouhá. Musí mít méně než %d znak #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Ano" @@ -970,7 +970,7 @@ msgstr "Protokol ladění" msgid "Communicate with Android phones." msgstr "Komunikace s telefony Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -978,11 +978,11 @@ msgstr "" "Seznam adresářů oddělený čárkami k odeslání elektronických knih do zařízení. " "Bude použit první nalezený." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Komunikovat s telefony S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "Spojeno s tablety s WebOS" @@ -1103,8 +1103,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -3097,7 +3097,7 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "pro kompletní seznam s popisky." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." @@ -3105,7 +3105,7 @@ msgstr "" "Procházet HTML odkazy nejdříve do šířky. Obyčejně jsou procházeny nejdříve " "do hloubky." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3116,7 +3116,7 @@ msgstr "" "znamená, že v kořenovém souboru HTML nejsou procházeny žádné odkazy. Výchozí " "je %default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3525,7 +3525,7 @@ msgstr "CHYBA ŠABLONY" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "Ne" @@ -4011,7 +4011,7 @@ msgstr "Úvod" msgid "Main Text" msgstr "Hlavní text" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "Knihy ve formátu %s nejsou podporovány." @@ -4995,12 +4995,12 @@ msgstr "Exportovat adresář s katalogy" msgid "Select destination for %(title)s.%(fmt)s" msgstr "Vyberte umístění pro %(title)s.%(fmt)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "Nenalezena knihovna" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " @@ -5009,40 +5009,40 @@ msgstr "" "Žádná existující knihovna calibre nebyla nalezena v %s. Pokud byla knihovna " "přesunuta, níže vyberte nové umístění. Jinak calibre tuto knihovnu zapomene." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "Nové umístění knihovny:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "Knihovna přesunuta" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "Zapomenout knihovnu" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "Nové umístění knihovny" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "Žádná existující knihovna calibre nebyla nalezena v %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "Zvolit knihovnu" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Vyberte calibre knihovnu pro práci s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Přepnout/vytvořit knihovnu..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -5050,82 +5050,82 @@ msgstr "Přepnout/vytvořit knihovnu..." msgid "%d books" msgstr "%d knih" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Rychlý přepínač" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Přejmenuj knihovnu" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "Odebrat knihovnu" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "Vyber náhodnou knihu" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Údržba knihovny" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "Stav zálohování knihovny metadat" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "Spustit zálohování metadat všech knih" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Kontrola knihovny" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "Obnovit databázi" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Přejmenuj" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "Vyberte nový název pro knihovnu <b>%s</ b>. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "Berte na vědomí, že složka s aktuální knihovnou bude přejmenována." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Už existuje" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "Složka %s již existuje. Nejdříve ji smažte." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "Moc dlouhé" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Chyba přejmenování" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " @@ -5134,11 +5134,11 @@ msgstr "" "Přejmenování knihovny do %s selhalo. Nejčastější příčinou je další program " "využívající tato data." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "Knihovna odebrána" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " @@ -5147,24 +5147,24 @@ msgstr "" "Knihovna %s byla odebrána z calibre. Soubory zůstaly ve vašem počítači, " "pokud je chcete smazat, musíte to udělat ručně." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "žádná" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "Stav zálohování" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "Knižní metadata, která zbývá zapsat: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "Záloha metadat" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." @@ -5172,7 +5172,7 @@ msgstr "" "Metadata budou zálohována během činnosti calibre, rychlostí přibližně 1 " "knihy každé tři sekundy." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -5183,7 +5183,7 @@ msgstr "" "knihovnu do místa s kratší cestou pomocí Wndows Exploreru, potom ukažte " "calibre nové umístění a zkuste to znovu." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -5192,7 +5192,7 @@ msgstr "" msgid "Success" msgstr "Úspěch" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" @@ -5200,7 +5200,7 @@ msgstr "" "Nenalezeny chyby v databázi vaší calibre knihovny. Chcete, aby calibre " "kontrolovalo, zda soubory ve vaší knihovně souhlasí s informacemi v databázi?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -5211,29 +5211,33 @@ msgstr "" msgid "Failed" msgstr "Neúspěšný" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" "Kontrola integrity databáze selhala, klikněte na Zobrazit detaily pro " "podrobnosti." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "Nenalezen žádný problém" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "Soubory ve vaší knihovny souhlasí s informacemi z databáze." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Nedovolené" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5241,7 +5245,7 @@ msgstr "" "Nemůžete měnit knihovny s využitím proměnné prostředí " "CALIBRE_OVERRIDE_DATABASE_PATH." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "Nemůžete změnit knihovny, když jsou úlohy v běhu." @@ -5333,8 +5337,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -6014,7 +6018,7 @@ msgid "Search for this %s" msgstr "Hledat %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "Obchody" @@ -6178,33 +6182,33 @@ msgstr "Hledám v" msgid "Adding..." msgstr "Přidávám..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Prohledávám všechny podadresáře..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Chybná cesta" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "Zadaný adresář nebylo možné zpracovat." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Žádné knihy" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Nenalezeny žádné knihy" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "Nedostatečná práva" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." @@ -6212,15 +6216,15 @@ msgstr "" "Nemůžete přidávat soubory pokud k nim nemáte povolen přístup. Klikněte na " "\"Ukázat podrobnosti\" pro seznam těchto souborů." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Přidáno" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Přidání selhalo" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -6228,30 +6232,30 @@ msgstr "" "Proces přidávající knihy se zřejmě zasekl. Zkuste restartovat calibre a " "přidat knihy v menších dávkách, dokud nenaleznete problémovou knihu." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Byly nalezeny duplikáty!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" "Knihy se stejným názvem jsou již v databázi. Mají být přesto přidány?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Přidávám duplikáty..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Ukládám..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "Sbírám data, čekejte prosím..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Uloženo" @@ -6390,8 +6394,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6416,6 +6420,7 @@ msgstr "&Více knih ve složce znamené, že každý ebook soubor je různá kni #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "Podpořte program" @@ -6946,7 +6951,7 @@ msgstr "Normální pohled" msgid "HTML Source" msgstr "HTML zdroj" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " @@ -6956,11 +6961,15 @@ msgstr "" "uložené v předchozí konverzi (pokud existují), místo použití výchozích " "hodnot napsaných v Nastavení" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Hromadné Převedení" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Možnosti specifické pro výstupní formát." @@ -7843,7 +7852,7 @@ msgstr "Výskyty:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -8288,10 +8297,10 @@ msgstr "Prohlížeč obálek nemohl být nahrán" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -8304,68 +8313,68 @@ msgid "Undefined" msgstr "Nedefinováno" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "hvězd" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Nehodnoceno" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "Nastavit '%s' na dnes" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "Smazat '%s'" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " index:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "Provést změny" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "Odstranit sérii" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "Automaticky číslovat knihy" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "Číslování začíná " -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Odstranit všechny tagy" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "tagy k přidání" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "tagy k odstranění" @@ -8668,7 +8677,7 @@ msgid "My Books" msgstr "Moje knihy" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Generovat katalog" @@ -10020,7 +10029,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -10369,7 +10378,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -11679,43 +11688,43 @@ msgstr "" msgid "Unavailable" msgstr "Není k dispozici" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Úlohy:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "Klikněte pro zobrazení seznamu úloh" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - Úlohy" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -11745,7 +11754,7 @@ msgstr "&Zkratka" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11934,54 +11943,54 @@ msgstr "Označeno ke smazání" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Dvakrát klikněte na <b>upravit</b> mě<br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "Skryj sloupce %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "Řadit dle %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "Vzestupně" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "Sestupně" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "Změna zarovnání textu %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "Vlevo" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "Vpravo" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "Vystředit" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "Zobrazit sloupec" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "Obnovit výchozí rozložení" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14851,6 +14860,10 @@ msgstr "V&ytvořit" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "Přepnout mezi knihovnou a pohledem zařízení" @@ -15187,7 +15200,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -15197,7 +15210,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -15249,7 +15262,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -15338,13 +15351,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -15377,7 +15390,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -15385,7 +15398,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -15393,7 +15406,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -15401,13 +15414,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -15441,20 +15454,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -15808,40 +15821,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "Některé knihy nemohu převést" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "Zařazování knih do fronty pro bulk zpracování" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "Vkládání do fronty " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Stáhnout zprávy z " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "Konverze existujících" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -16154,7 +16167,7 @@ msgid "Options to customize the ebook viewer" msgstr "Možnosti úpravy prohlížeče elektronických knih" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "Zapamatuj si posledně použitou velikost okna" @@ -16412,27 +16425,33 @@ msgstr "Načítám knihu..." msgid "Could not open ebook" msgstr "Nemohu otevřít eknihu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Volby ke kontrole prohlížeče ebooků" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "Pokud specifikováno, okno prohlížeče se zobrazí po startu v popředí." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Pokud je zadáno, pokusí se při spuštění otevřít okno prohlížeče na celou " "obrazovku." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "Tisknout upozornění javascriptu a konzolové zprávy do konzole" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -16906,64 +16925,64 @@ msgstr "" "Myhostname označuje název hostitele nebo IP adresu počítače, kde Calibre " "běží." -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "zaškrtnuto" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "ano" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "ne" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "nezaškrtnuto" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "dnes" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "včera" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "tentoměsíc" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "dní zpět" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "prázdný" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "prázdný" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -18849,7 +18868,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -18872,67 +18891,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "uppercase(val) -- vrací hodnotu pole velkými písmeny" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "lowercase(val) -- vrací hodnotu pole malými písmeny" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "titlecase(val) -- vrací hodnotu pole s prvním velkým písmenem" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "capitalize(val) -- vrací hodnotu pole kapitálkami" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -18941,7 +18960,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -18949,7 +18968,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -18957,7 +18976,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -18965,7 +18984,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -18974,7 +18993,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -18983,14 +19002,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -18998,7 +19017,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -19006,7 +19025,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -19062,166 +19081,174 @@ msgid "English (Australia)" msgstr "angličtina (Austrálie)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +msgid "English (Bulgaria)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "angličtina (Nový Zéland)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "angličtina (Kanada)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "angličtina (Indie)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "angličtina (Thajsko)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "angličtina (Kypr)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "angličtina (Pákistán)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "English (Chorvatština)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "English (Indonésština)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "angičtina (Izrael)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "angličtina (Singapur)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "angličtina (Jemen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "angličtina (Irsko)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "angličtina (Čína)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "španělština (Paraguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "Španělština (Uruguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "Španělština (Argentina)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "Španělština (Mexiko)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "Španělština (Kuba)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "španělština (Chile)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "Španělština (Ekvádor)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "Španělština (Honduras)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "Španělština (Venezuela)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "Španělština (Bolívie)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "Španělština (Nikaragua)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "němčina (AT)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "francouzština (BE)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "holandština (NL)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "holandština (BE)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/da.po b/src/calibre/translations/da.po index d65483746f..9f7d61f205 100644 --- a/src/calibre/translations/da.po +++ b/src/calibre/translations/da.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" -"PO-Revision-Date: 2011-10-30 06:22+0000\n" -"Last-Translator: Ida Nielsen <Unknown>\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" +"PO-Revision-Date: 2011-12-10 10:33+0000\n" +"Last-Translator: Frederik 'Freso' S. Olesen <Unknown>\n" "Language-Team: Danish <da@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:55+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:19+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Gør absolut ingenting" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Gør absolut ingenting" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Gør absolut ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Gør absolut ingenting" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Gør absolut ingenting" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -472,7 +472,7 @@ msgid "Change the way calibre behaves" msgstr "Ændr måden calibre opfører sig på" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Tilføj dine egne søjler" @@ -532,7 +532,7 @@ msgstr "Vælg konverteringsvalgmuligheder specifikke for hvert output-format" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:985 msgid "Adding books" -msgstr "Tilføjer boger" +msgstr "Tilføjer bøger" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:987 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:999 @@ -931,7 +931,7 @@ msgstr "Deaktivér det angivne udvidelsesmodul" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -943,10 +943,10 @@ msgstr "Sti til bibliotek for lang. Skal være kortere end %d tegn." #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Ja" @@ -975,7 +975,7 @@ msgstr "Fejlsøgnings log" msgid "Communicate with Android phones." msgstr "Kommunikér med Android telefoner" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -983,11 +983,11 @@ msgstr "" "Komma separeret liste af mapper til at sende e-bøger til, på enheden. Den " "første som findes, vil blive brugt." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Kommunikér med S60 telefoner." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "Kommunikerer med WebOS tablets" @@ -1106,8 +1106,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -3024,7 +3024,7 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." @@ -3032,7 +3032,7 @@ msgstr "" "Traversér henvisninger i HTML-filer bredde-først. Normalt traverseres de " "dybde-først." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3043,7 +3043,7 @@ msgstr "" "ikke-negativt. 0 betyder at ingen henvisninger i rod HTML-filen følges. " "Standardværdi er %default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3457,7 +3457,7 @@ msgstr "TEMPLATE ERROR" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "Nej" @@ -3916,7 +3916,7 @@ msgstr "Forord" msgid "Main Text" msgstr "Hovedtekst" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "Bøger af %s formatet er ikke understøttet" @@ -4882,52 +4882,52 @@ msgstr "Eksport katalog mappe" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "Intet bibliotek fundet" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Vælg calibre-bibliotek at arbejde med" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Skift/opret bibliotek..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4935,82 +4935,82 @@ msgstr "Skift/opret bibliotek..." msgid "%d books" msgstr "%d bøger" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Hurtig skift" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Omdøb bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Biblioteksvedligeholdelse" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "Sikkerhedskopieringsstatus af bibliotekets metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "Start sikkerhedskopiering af alle bøgers metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Check bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Omdøb" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "Vælg et nyt navn til biblioteket <b>%s</b>. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "Bemærk at den aktuelle biblioteksmappe vil blive omdøbt." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Eksisterer allerede" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "Mappen %s eksisterer allerede. Slet den først." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "For lang" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Omdøbning fejlede" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " @@ -5019,41 +5019,41 @@ msgstr "" "Biblioteksomdøbning fejlede ved %s. Den almindeligste årsag til dette er, " "hvis en af filerne i biblioteket er åbnet af et andet program." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "ingen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "Backup status" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "Bog metadata filer, der mangler at blive skrevet: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "Backup metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -5061,7 +5061,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -5070,13 +5070,13 @@ msgstr "" msgid "Success" msgstr "Fuldført" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -5087,33 +5087,37 @@ msgstr "" msgid "Failed" msgstr "Fejlede" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "Ingen problemer fundet" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Ikke tilladt" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "Du kan ikke ændre biblioteker, mens opgaver kører." @@ -5203,8 +5207,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5863,7 +5867,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "Butikker" @@ -6019,47 +6023,47 @@ msgstr "Søger i" msgid "Adding..." msgstr "Tilføjer..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Søger i alle underkataloger..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Sti fejl" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "Den angivne mappe kunne ikke behandles." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Ingen bøger" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Ingen bøger fundet" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "Ingen tilladelse" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Tilføjet" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Tilføjning fejlede" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -6067,11 +6071,11 @@ msgstr "" "\"Tilføj bøger\"-processen synes at hænge. Prøv at genstarte calibre og " "tilføj bøgerne i mindre bundter, indtil du har fundet en problembog." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Dubletter fundet!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" @@ -6079,19 +6083,19 @@ msgstr "" "Bøger med den samme titel som den følgende eksisterer allerede i databasen. " "Tilføj dem alligevel?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Tilføjer dubletter..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Gemmer..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Gemt" @@ -6231,8 +6235,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6258,6 +6262,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "Donér" @@ -6788,7 +6793,7 @@ msgstr "" msgid "HTML Source" msgstr "HTML-kildetekst" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " @@ -6798,11 +6803,15 @@ msgstr "" "tidligere konverteringer (hvis de eksisterer) istedet for at anvende de " "standard givne indstillinger" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Klynge konvertering" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Muligheder specifikt for output-formatet." @@ -7686,7 +7695,7 @@ msgstr "Forekomster:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -8121,10 +8130,10 @@ msgstr "Omslag browser kunne ikke loades" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -8137,32 +8146,32 @@ msgid "Undefined" msgstr "Udefineret" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "stjerne(r)" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Ikke bedømt" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "Sæt '%s' til idag" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " indeks:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" @@ -8170,38 +8179,38 @@ msgstr "" "Opremsningen \"{0}\" indeholder en ugyldig værdi, som vil blive tildelt " "standardværdien" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "Udfør ændringer" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "Fjerner serier" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "Numrér automatisk bøger" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "Start nummerering fra " -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" "Opremsningen \"{0}\" indeholder ugyldige værdi, som ikke vil vises i listen" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Fjern alle mærker" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "Mærker at tilføje" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "Mærker at fjerne" @@ -8503,7 +8512,7 @@ msgid "My Books" msgstr "Mine bøger" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Generér katalog" @@ -9788,7 +9797,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "Alle" @@ -10128,7 +10137,7 @@ msgstr "Elementer" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -11439,43 +11448,43 @@ msgstr "" msgid "Unavailable" msgstr "Utilgængelig" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Opgaver:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "Tryk for at se en opgaveliste" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - Opgaver" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -11505,7 +11514,7 @@ msgstr "&Genvej:" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11694,54 +11703,54 @@ msgstr "Markeret til sletning" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Dobbeltklik for at <b>redigere</b> mig<br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "Gem kolonne %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "Sortér efter %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "Stigende" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "Faldende" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "Ændre tekstjustering for %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "Venstre" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "Højre" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "Centrér" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "Vis kolonne" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "Gendan standard layout" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14643,6 +14652,10 @@ msgstr "Op&ret" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "Skift mellem bibliotek og enheds visning" @@ -14979,7 +14992,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "Forespørgsel:" @@ -14989,7 +15002,7 @@ msgid "Enable" msgstr "Aktivér" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "Invertér" @@ -15041,7 +15054,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -15130,13 +15143,13 @@ msgid "Search:" msgstr "Søg:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "Bøger:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -15169,7 +15182,7 @@ msgstr "" msgid "Price" msgstr "Pris" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -15177,7 +15190,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -15185,7 +15198,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -15193,13 +15206,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -15233,20 +15246,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "Ikke tilgængelig" @@ -15603,40 +15616,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "Kunne ikke konvertere nogle bøger" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "Lægger bøger i kø for klyngekonvertering" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "Lægger i kø " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Henter nyheder fra " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "Konverterer eksisterende" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15949,7 +15962,7 @@ msgid "Options to customize the ebook viewer" msgstr "Indstillinger til tilpasning af e-bogsviseren" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "Husk størrelsen på vinduet" @@ -16203,27 +16216,33 @@ msgstr "Henter e-bog..." msgid "Could not open ebook" msgstr "Kunne ikke åbne e-bog" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Valg til at styre e-bogsviser" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Hvis specificeret, vil visningsvindue prøve at komme i front ved start." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Hvis angivet, vil oversigtsvindue prøve at åbne i fuld skærm under start." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "Udskriv javascript alert og konsol beskeder til konsolen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -16701,64 +16720,64 @@ msgstr "" "din iPhone. Her skal mitværtsnavn være det fuldt kvalificerede domænenavn " "(FQDN) eller IP-adressen på computeren, calibre kører på." -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "markeret" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "ja" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "nej" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "umarkeret" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "i dag" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "i går" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "denne måned" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "dage siden" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "blank" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "tom" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -18770,7 +18789,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -18793,67 +18812,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -18862,7 +18881,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -18870,7 +18889,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -18878,7 +18897,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -18886,7 +18905,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -18895,7 +18914,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -18904,14 +18923,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -18919,7 +18938,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -18927,7 +18946,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -18983,166 +19002,174 @@ msgid "English (Australia)" msgstr "Engelsk (Australien)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +msgid "English (Bulgaria)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "Engelsk (New Zealand)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "Engelsk (Canada)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "Engelsk (Indien)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "Engelsk (Thailand)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "Engelsk (Cypern)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "Engelsk (Pakistan)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "Engelsk (Kroatien)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "Engelsk (Indonesien)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "Engelsk (Israel)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "Engelsk (Singapore)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "Engelsk (Yemen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "Engelsk (Irland)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "Engelsk (Kina)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "Engelsk (Sydafrika)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "Spansk (Paraguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "Spansk (Uruguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "Spansk (Argentina)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "Spansk (Mexico)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "Spanisk (Cuba)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "Spansk (Chile)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "Spansk (Ecuador)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "Spansk (Honduras)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "Spansk (Venezuela)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "Spansk (Bolivia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "Spansk (Nicaragua)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "Tysk (AT)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "Fransk (BE)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "Hollansk (NL)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "Hollansk (BE)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/de.po b/src/calibre/translations/de.po index 16ac5bd870..11710ce1b8 100644 --- a/src/calibre/translations/de.po +++ b/src/calibre/translations/de.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" -"PO-Revision-Date: 2011-11-29 20:34+0000\n" -"Last-Translator: Ralph Kugler <ralph.kugler@r-kugler.de>\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" +"PO-Revision-Date: 2011-12-14 19:01+0000\n" +"Last-Translator: S. Dorscht <Unknown>\n" "Language-Team: American English <kde-i18n-doc@lists.kde.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:57+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-15 05:17+0000\n" +"X-Generator: Launchpad (build 14487)\n" "X-Poedit-Bookmarks: 3327,-1,-1,-1,-1,-1,-1,-1,-1,-1\n" "Generated-By: pygettext.py 1.5\n" @@ -28,8 +28,8 @@ msgstr "Macht absolut gar nichts" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -40,8 +40,8 @@ msgstr "Macht absolut gar nichts" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -50,8 +50,8 @@ msgstr "Macht absolut gar nichts" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -176,7 +176,7 @@ msgstr "Macht absolut gar nichts" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -195,7 +195,7 @@ msgstr "Macht absolut gar nichts" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -482,7 +482,7 @@ msgid "Change the way calibre behaves" msgstr "Ändern Sie das Verhalten von Calibre." #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Eigene Spalten hinzufügen" @@ -947,7 +947,7 @@ msgstr "Gewähltes Plugin ausschalten" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -959,10 +959,10 @@ msgstr "Pfad zur Datenbank zu lang. Muss kürzer als %d Zeichen sein" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Ja" @@ -991,7 +991,7 @@ msgstr "Fehlerdiagnoseprotokoll" msgid "Communicate with Android phones." msgstr "Kommunikation mit Android-Telefonen." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -999,11 +999,11 @@ msgstr "" "Durch Kommata getrennte Liste von Verzeichnissen an die E-Books auf das " "Gerät gesendet werden. Das erste vorhandene wird benutzt" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Kommunikation mit S60-Telefonen." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "Kommuniziere mit WebOS Tablets." @@ -1040,7 +1040,7 @@ msgstr "Einschalten des Apple-Treibers" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:118 msgid "Use Series as Category in iTunes/iBooks" -msgstr "Verwende Reihen als Kategorien in iTunes/iBooks" +msgstr "Verwende Buchreihen als Kategorien in iTunes/iBooks" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:119 msgid "Enable to use the series name as the iTunes Genre, iBooks Category" @@ -1144,8 +1144,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -1294,7 +1294,7 @@ msgstr "Kovid Goyal" #: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:36 msgid "Communicate with the Blackberry playbook." -msgstr "" +msgstr "Verbinde mit dem Blackberry Playbook" #: /home/kovid/work/calibre/src/calibre/devices/boeye/driver.py:14 msgid "Communicate with BOEYE BEX Serial eBook readers." @@ -1408,7 +1408,7 @@ msgstr "Kommunikation mit dem Elonex EB 511 E-Book-Reader." #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:170 msgid "Communicate with the Cybook Odyssey eBook reader." -msgstr "" +msgstr "Verbinde mit dem Cybook Odyssey eBook Leser" #: /home/kovid/work/calibre/src/calibre/devices/iliad/driver.py:16 msgid "Communicate with the IRex Iliad eBook reader." @@ -1529,7 +1529,7 @@ msgstr "Kommunikation mit dem Kindle DX E-Book-Reader." #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:383 msgid "Communicate with the Kindle Fire" -msgstr "" +msgstr "Verbinde mit dem Kindle Fire" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:26 msgid "Communicate with the Kobo Reader" @@ -2639,6 +2639,11 @@ msgid "" "prevents it from being overridden on your device. For example: font-" "family,color,margin-left,margin-right" msgstr "" +"Eine komma-separierte Liste aller CSS Eigenschaften die aus den CSS Style " +"Vorlagen entfernt werden. Diese Liste ist sinnvoll falls einige Style " +"Vorlagen auf Ihrem Gerät das Übertragen unmöglich machen. Beispiele hierfür " +"sind: font-family (Schriftart), color (Farbe), margin-left (Randbreite " +"rechts), margin-right (Randbreite links)" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:324 msgid "" @@ -2869,12 +2874,12 @@ msgstr "Geben Sie den Herausgeber des E-Books an" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:504 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:60 msgid "Set the series this ebook belongs to." -msgstr "Geben Sie die Reihe an, zu der dieses E-Book gehört." +msgstr "Geben Sie die Buchreihe an, zu der dieses E-Book gehört." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:508 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:62 msgid "Set the index of the book in this series." -msgstr "Geben Sie den Index des Buches in dieser Reihe an." +msgstr "Geben Sie den Index des Buches in dieser Buchreihe an." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:512 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:64 @@ -3035,7 +3040,7 @@ msgstr "Konnte kein E-Book im Archiv finden" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:787 msgid "Values of series index and rating must be numbers. Ignoring" msgstr "" -"Die Werte von Reihen und Bewertungen müssen in Zahlen angegeben werden. " +"Die Werte von Buchreihen und Bewertungen müssen in Zahlen angegeben werden. " "Ignorieren" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:794 @@ -3258,7 +3263,7 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "für eine vollständige Liste mit Beschreibung." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." @@ -3266,7 +3271,7 @@ msgstr "" "Links in HTML-Dateien in der Breite durchlaufen. Normalerweise werden Links " "in die Tiefe durchlaufen." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3277,7 +3282,7 @@ msgstr "" "Darf nicht negativ sein. 0 gibt an, dass keine Links in der ursprünglichen " "HTML-Datei verfolgt werden. Voreinstellung ist %default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3713,7 +3718,7 @@ msgstr "Vorlagenfehler" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "Nein" @@ -3778,8 +3783,8 @@ msgstr "Schlagworte" #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 msgid "Series" msgid_plural "Series" -msgstr[0] "Reihen" -msgstr[1] "Reihen" +msgstr[0] "Buchreihen" +msgstr[1] "Buchreihen" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:760 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68 @@ -4212,7 +4217,7 @@ msgstr "Vorwort" msgid "Main Text" msgstr "Haupttext" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "Bücher im %s Format werden nicht unterstützt" @@ -4842,7 +4847,7 @@ msgstr "Benachrichtigen, wenn eine neue Version verfügbar ist" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:123 msgid "Use Roman numerals for series number" -msgstr "Benutze römische Ziffern für Reihennummerierung" +msgstr "Benutze römische Ziffern für Buchreihennummerierung" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:125 msgid "Sort tags list by name, popularity, or rating" @@ -5271,12 +5276,12 @@ msgstr "Katalog-Verzeichnis exportieren" msgid "Select destination for %(title)s.%(fmt)s" msgstr "Wählen Sie das Ziel für %(title)s.%(fmt)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "Keine Bibliothek gefunden" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " @@ -5286,40 +5291,40 @@ msgstr "" "Bibliothek verschoben wurde, wählen Sie unten den neuen Ort. Anderweitig " "wird Calibre diese Bibliothek vergessen." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "Neuer Ort dieser Bibliothek." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "Bibliothek verschoben" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "Bibliothek vergessen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "Neuer Ort der Bibliothek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "Keine vorhandene Calibre am Ort %s gefunden" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "Bibliothek auswählen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Zu verwendende Calibre Bibliothek auswählen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Bibliothek wechseln/neu erstellen …" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -5327,82 +5332,82 @@ msgstr "Bibliothek wechseln/neu erstellen …" msgid "%d books" msgstr "%d Bücher" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Schneller Wechsel" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Bibliothek umbenennen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "Bibliothek entfernen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "Zufällig ein Buch auswählen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Wartung der Bibliothek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "Status der Metadaten-Sicherung" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "Sicherung der Metadaten aller Bücher starten" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Bibliothek überprüfen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "Datenbank wiederherstellen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Umbenennen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "Wähle einen neuen Namen für die Bibliothek <b>%s</b>. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "Achtung: Dies benennt den eigentlichen Bibliotheks- Ordner um." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Gibts hier schon" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "Der Ordner %s existiert bereits. Bitte löschen Sie ihn zuerst." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "Zu lang" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Umbenennung fehlgeschlagen." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " @@ -5412,11 +5417,11 @@ msgstr "" "dass eine der Dateien in der Bibliothek in einem anderen Programm geöffnet " "sind." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "Bibliothek entfernt" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " @@ -5425,24 +5430,24 @@ msgstr "" "Die Bibliothek %s wurde aus Calibre entfernt. Die Dateien bleiben auf Ihrem " "Computer, wenn Sie sie löschen wollen, müssen Sie dies manuell tun." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "kein" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "Backupstatus" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "Noch zu schreibende Buch-Metadaten: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "Metadaten sichern" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." @@ -5450,7 +5455,7 @@ msgstr "" "Ein Backup der Metadaten wird im laufenden Betrieb mit einer Frequenz von " "etwa einem Buch alle drei Sekunden erstellt." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -5462,7 +5467,7 @@ msgstr "" "Stelle mit kürzerer Pfadlänge, dann fügen Sie den neuen Verzeichnispfad in " "Calibre ein und versuchen es erneut." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -5471,7 +5476,7 @@ msgstr "" msgid "Success" msgstr "Erfolgreich" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" @@ -5480,7 +5485,7 @@ msgstr "" "überprüft, ob die Dateien mit den Informationen in der Datenbank " "übereinstimmen?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -5491,31 +5496,35 @@ msgstr "" msgid "Failed" msgstr "Fehlgeschlagen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" "Die Überprüfung der Datenbankintegrität hat Fehler gefunden. Klicken Sie auf " "Details anzeigen für weitere Informationen." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "Starte Bibliotheks-Scan, dies kann eine Weile dauern" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "Keine Probleme gefunden" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" "Die Dateien in Ihrer Bibliothek stimmen mit den Informationen der Datenbank " "überein." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Das ist nicht gestattet" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5523,7 +5532,7 @@ msgstr "" "Sie können die Bibliotheken nicht ändern während die Umgebungsvariable " "CALIBRE_OVERRIDE_DATABASE_PATH gesetzt ist." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" "Sie können die Bibliotheken nicht wechseln während Aufträge abgearbeitet " @@ -5617,8 +5626,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -6274,7 +6283,7 @@ msgstr "Bücher desselben Autors" #: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26 msgid "Books in this series" -msgstr "Bücher dieser Reihe" +msgstr "Bücher dieser Buchreihe" #: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:27 msgid "Alt+Shift+S" @@ -6326,7 +6335,7 @@ msgid "Search for this %s" msgstr "Nach diesem %s suchen" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "Händler" @@ -6495,33 +6504,33 @@ msgstr "Suche in" msgid "Adding..." msgstr "Füge hinzu..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Suche in allen Unterverzeichnissen..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Verzeichnis Fehler" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "Das angegebene Verzeichnis konnte nicht bearbeitet werden." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Keine Bücher" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Keine Bücher gefunden" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "Zugriff verweigert" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." @@ -6529,15 +6538,15 @@ msgstr "" "Konnte Dateien nicht hinzufügen, da Sie die erforderlichen Lese-Rechte nicht " "besitzen. Klicken Sie auf Details anzeigen um die Dateien zu sehen.." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Hinzugefügt" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Hinzufügen schlug fehl" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -6546,11 +6555,11 @@ msgstr "" "Versuchen Sie Calibre neu zu starten und fügen Sie die Bücher in kleineren " "Mengen hinzu, bis Sie das verantwortliche Buch finden." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Duplikate gefunden!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" @@ -6558,19 +6567,19 @@ msgstr "" "Es gibt schon Bücher mit dem selben Titel wie die folgenden in der " "Datenbank. Trotzdem hinzufügen?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Füge Duplikate hinzu..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Wird gespeichert …" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "Sammle Daten, bitte warten..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Gespeichert" @@ -6710,8 +6719,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6738,6 +6747,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "Spenden" @@ -6972,7 +6982,7 @@ msgstr "Beschreibungen" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:301 msgid "Books by &Series" -msgstr "Bücher nach Reihen" +msgstr "Bücher nach Buchreihen" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:302 msgid "Books by &Title" @@ -7287,7 +7297,7 @@ msgstr "Normalansicht" msgid "HTML Source" msgstr "HTML-Quelltext" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " @@ -7298,11 +7308,15 @@ msgstr "" "verwenden, anstelle der in den Einstellungen angegebenen voreingestellten " "Werte" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Auf einmal konvertieren" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Einstellungen für das Ausgabe-Format." @@ -7777,6 +7791,7 @@ msgstr "Tabellen &linearisieren" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:166 msgid "Select what style information you want completely removed:" msgstr "" +"Wählen Sie aus, welche Style Vorlagen Sie komplett entfernen möchten:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:171 msgid "Removes the font-family CSS property" @@ -7784,7 +7799,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:172 msgid "&Fonts" -msgstr "" +msgstr "&Schriftarten" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:176 msgid "" @@ -7814,7 +7829,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:191 msgid "Removes foreground and background colors" -msgstr "" +msgstr "Entfernt Vorder- und Hintergrundfarben" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:192 msgid "&Colors" @@ -7822,21 +7837,23 @@ msgstr "&Farben" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:198 msgid "&Other CSS Properties:" -msgstr "" +msgstr "&Andere CSS Eigenschaften" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:202 msgid "" "Comma separated list of CSS properties to remove. For example: display, " "color, font-family" msgstr "" +"Eine durch Komma getrennte Liste der CSS Eigenschaften, die entfernt werden " +"sollen. Beispiel: display(Anzeigen), color (Farbe), font-family(Schriftart)" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:227 msgid "&Extra CSS" -msgstr "" +msgstr "&Extra CSS" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:228 msgid "&Filter Style Information" -msgstr "" +msgstr "&Filter Stil-Informationen" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:19 msgid "LRF Output" @@ -8002,7 +8019,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:458 msgid "&Series:" -msgstr "&Reihen:" +msgstr "Buch&reihen:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:174 @@ -8010,7 +8027,8 @@ msgstr "&Reihen:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:457 msgid "List of known series. You can add new series." -msgstr "Liste der bekannten Reihen. Sie können neue Reihen hinzufügen." +msgstr "" +"Liste der bekannten Buchreihen. Sie können neue Buchreihen hinzufügen." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:175 msgid "Book " @@ -8216,7 +8234,7 @@ msgstr "Treffer:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -8666,10 +8684,10 @@ msgstr "Cover-Browser konnte nicht geladen werden" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -8682,32 +8700,32 @@ msgid "Undefined" msgstr "Undefiniert" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "Stern(e)" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Unbewertet" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "'%s' auf heute einstellen" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "'%s' zurücksetzen" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " Index:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" @@ -8715,23 +8733,23 @@ msgstr "" "Die Aufzählung \"{0}\" enthält einen ungültigen Wert. Dieser wird auf den " "Standard Wert gesetzt." -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "Änderungen übernehmen" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" -msgstr "Reihen entfernen" +msgstr "Buchreihen entfernen" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "Bücher automatisch nummerieren" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "Start der Nummerierung erzwingen bei " -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" @@ -8739,15 +8757,15 @@ msgstr "" "Die Aufzählung \"{0}\" enthält einen ungültigen Wert, welcher nicht in der " "Liste angezeigt werden wird." -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Alle Schlagwörter entfernen" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "Schlagwort hinzufügen" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "Zu entfernende Schlagwörter" @@ -9057,7 +9075,7 @@ msgid "My Books" msgstr "Meine Bücher" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Erstelle Katalog" @@ -9799,7 +9817,7 @@ msgstr "Aktive Aufträge" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:33 msgid "Find next match" -msgstr "" +msgstr "Nächste Übereinstimmung finden" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:34 msgid "&Search" @@ -9815,7 +9833,7 @@ msgstr "Ausgewählte Aufträge &stoppen" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:58 msgid "&Hide selected jobs" -msgstr "" +msgstr "&Verstecke ausgewählte Aufgaben" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:62 msgid "Show job &details" @@ -9823,7 +9841,7 @@ msgstr "Zeige Auftrag&details" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:66 msgid "Show &all jobs" -msgstr "Zeige &allee Aufgaben" +msgstr "Zeige &alle Aufgaben" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:70 msgid "Stop &all non device jobs" @@ -10115,11 +10133,11 @@ msgstr "&Alle entfernen" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:155 msgid "If checked, the series will be cleared" -msgstr "Falls ausgewählt, wird der \"Reihen\"- Eintrag entfernt." +msgstr "Falls ausgewählt, wird der \"Buchreihen\"- Eintrag entfernt." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:156 msgid "&Clear series" -msgstr "&Reihe löschen" +msgstr "Buch&reihe löschen" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:163 msgid "" @@ -10189,6 +10207,11 @@ msgid "" "to restore the EPUB from ORIGINAL_EPUB. Useful if you did a bulk conversion " "of a large number of books and something went wrong." msgstr "" +"Wenn man eine Umwandlung vom gleichem Format zum gleichen Format durchführt, " +"z. B. von EPUB zu EPUB, speichert calibre das ursprüngliche EPUB als " +"ORIGINAL_EPUB. Diese Option bringt calibre dazu, dass es das EPUB aus " +"ORIGINAL_EPUB wiederherstellt. Nützlich wenn du eine Massenumwandlung einer " +"großen Anzahl an Büchern durchgeführt hast und etwas ist falsch gelaufen." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:259 msgid "Restore pre conversion &originals, if available" @@ -10487,7 +10510,7 @@ msgstr "Versionshistorie für %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "Alle" @@ -10851,7 +10874,7 @@ msgstr "Elemente" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -11414,8 +11437,8 @@ msgstr "Geben Sie einen Autorennamen ein. Nur ein Autor darf benutzt werden." msgid "" "Enter a series name, without an index. Only one series name can be used." msgstr "" -"Reihenbezeichnung (ohne Index) eingeben. Es darf nur eine Reihenbezeichnung " -"verwendet werden." +"Buchreihenbezeichnung (ohne Index) eingeben. Es darf nur eine " +"Buchreihenbezeichnung verwendet werden." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:218 msgid "Enter tags separated by spaces" @@ -11438,7 +11461,7 @@ msgstr "Nur in spezifischen Feldern suchen:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:221 msgid "Titl&e/Author/Series ..." -msgstr "Tit&el/Autor/Reihe ..." +msgstr "Tit&el/Autor/Buchreihe ..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/select_formats.py:45 msgid "Choose formats" @@ -12113,7 +12136,7 @@ msgstr "Regulärer Ausdruck (?P<author>)" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:143 msgid "Series:" -msgstr "Reihen:" +msgstr "Buchreihen:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:144 msgid "Regular expression (?P<series>)" @@ -12121,7 +12144,7 @@ msgstr "Regulärer Ausdruck (?P<series>)" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:146 msgid "Series index:" -msgstr "Reihenindex:" +msgstr "Buchreihenindex:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:147 msgid "Regular expression (?P<series_index>)" @@ -12256,43 +12279,43 @@ msgstr "" msgid "Unavailable" msgstr "Nicht verfügbar" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Aufträge:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "Klicken, um Jobliste anzuzeigen" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - Aufträge" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "Kein Auftrag" +msgstr "Suche eine Aufgabe anhand des Namens" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "Kein Auftrag" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "Kein Auftrag ausgewählt" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "Möchten Sie wirklich den ausgewählten Auftrag anhalten?" msgstr[1] "Möchten Sie wirklich alle ausgewählten Aufträge anhalten?" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "Möchten Sie wirklich alle nicht-Geräte-Aufträge anhalten?" @@ -12322,7 +12345,7 @@ msgstr "Ta&stenkürzel:" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -12491,7 +12514,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:867 msgid "Failed to set data" -msgstr "" +msgstr "Ändern der Daten fehlgeschlagen" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:868 msgid "Could not set data, click Show Details to see why." @@ -12514,54 +12537,54 @@ msgstr "Zum Löschen ausgewählt" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Doppelklick ermöglicht <b>Bearbeitung</b><br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "Spalte verbergen %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "Sortieren nach %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "aufsteigend" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "absteigend" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "Textausrichtung ändern für %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "Links" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "Rechts" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "Zentriert" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "Spalte anzeigen" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "Spalte verkleinern, wenn sie zu Breit für die Anzeige ist" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "Voreingestelltes Layout wiederherstellen" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13222,7 +13245,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:166 msgid "Remove unused series (Series that have no books)" -msgstr "Unbenutzte Reihen entfernen (Reihen ohne Bücher)" +msgstr "Unbenutzte Buchreihen entfernen (Buchreihen ohne Bücher)" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:201 msgid "" @@ -13949,7 +13972,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:30 msgid "Text column for keeping series-like information" -msgstr "Textspalte für Reihen- Information" +msgstr "Textspalte für Buchreihen- Information" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:33 msgid "Text, but with a fixed set of permitted values" @@ -14064,7 +14087,7 @@ msgstr "Meine Tags" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:178 msgid "My Series" -msgstr "Meine Reihen" +msgstr "Meine Buchreihen" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:179 msgid "My Rating" @@ -15234,7 +15257,7 @@ msgstr "Pfade in K&leinschreibung umwandeln" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/saving_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:57 msgid "Format &dates as:" -msgstr "&Daten formatieren als:" +msgstr "&Datum formatieren als:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/saving_ui.py:53 msgid "File &formats to save:" @@ -15727,6 +15750,10 @@ msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" "&Programm Code: (beachten Sie das Sie die einrück Regel von Python befolgen)" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "Zwischen Bibliotheks- und Geräte-Ansicht wechseln" @@ -16080,7 +16107,7 @@ msgid "Nam&e/Description ..." msgstr "Nam&e/Beschreibung ..." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "Suchanfrage:" @@ -16090,7 +16117,7 @@ msgid "Enable" msgstr "Aktivieren" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "Umkehren" @@ -16151,7 +16178,7 @@ msgstr "" "notwendigerweise, dass die Lieferung auf diesen Markt limitiert ist." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "Dein Kauf von diesem Händler unterstützt den Calibre Entwickler: %s." @@ -16240,13 +16267,13 @@ msgid "Search:" msgstr "Suchen:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "Bücher:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -16279,7 +16306,7 @@ msgstr "Herunterladen" msgid "Price" msgstr "Preis" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -16290,7 +16317,7 @@ msgstr "" "Preis korrekt ist. Dieser Preis berücksichtigt oft keine Werbeaktionen, die " "der Händler veranstaltet." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -16303,7 +16330,7 @@ msgstr "" "Sie daher vor dem Einkauf durch eine Rückfrage an den Händler sicher, dass " "Sie das Buch auch tatsächlich lesen können." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -16316,7 +16343,7 @@ msgstr "" "einem Kauf trotzdem noch einmal den Status bezüglich DRM beim Händler. Der " "Händler selbst weist die Verwendung von DRM nicht notwendigerweise aus." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." @@ -16324,7 +16351,7 @@ msgstr "" "Der DRM Status kann nicht ermittelt werden. Mit hoher Wahrscheinlichkeit " "verfügt dieses Buch aber über DRM-Schutz" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "Die folgendenden Formate können direkt heruntergeladen werden: %s." @@ -16360,20 +16387,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "Wählen Sie das Format zum Herunterladen in Ihre Bibliothek." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "Bücher erwerben" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "Ausgewähltes Buch im Standardbrowser öffnen" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "In &externem Browser öffnen" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "Nicht verfügbar" @@ -16503,7 +16530,7 @@ msgstr "Autoren verwalten" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:50 msgid "Manage Series" -msgstr "Reihen verwalten" +msgstr "Buchreihen verwalten" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:52 msgid "Manage Publishers" @@ -16753,12 +16780,12 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "Konvertiere Buch %(num)d von %(total)d (%(title)s)" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "Konnte einige Bücher nicht konvertieren" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " @@ -16767,28 +16794,28 @@ msgstr "" "%(num)d von %(tot)d Büchern konnten nicht konvertiert werden, weil kein " "passendes Ausgangsformat erkannt werden konnte." -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "Bücher sammeln und zusammen konvertieren" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "Sammle " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "Konvertiere Buch %(num)d von %(tot)d (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Nachrichten abrufen von " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "Konvertiere bestehende" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -17115,7 +17142,7 @@ msgid "Options to customize the ebook viewer" msgstr "Einstellungen zum Anpassen des E-Book Viewers" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "Zuletzt verwendete Fenstergröße merken" @@ -17375,29 +17402,35 @@ msgstr "Lade E-Book..." msgid "Could not open ebook" msgstr "Konnte E-Book nicht öffnen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Einstellungen zur Kontrolle des E-Book Viewers" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Falls angegeben, dann wird das Betrachter-Fenster beim Start im Vordergrund " "angezeigt." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Wenn ausgewählt, wird das Betrachter-Fenster nach Möglichkeit im " "Vollbildmodus geöffnet." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "Javascript Alarme und Konsolennachrichten auf der Konsole ausgeben" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -17904,64 +17937,64 @@ msgstr "" "vollständige Servername oder die IP-Adresse des Rechners sein, auf dem " "Calibre läuft." -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "ausgewählt" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "ja" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "nein" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "nicht ausgewählt" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "heute" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "gestern" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "in diesem Monat" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "vor Tagen" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "leer" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "leer" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "Ungültige booleschen Abfrage \"{0}\"" @@ -19158,15 +19191,15 @@ msgstr "Die Schlagwörter" #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:37 msgid "The series" -msgstr "Die Reihen" +msgstr "Die Buchreihen" #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:38 msgid "" "The series number. To get leading zeros use {series_index:0>3s} or " "{series_index:>3s} for leading spaces" msgstr "" -"Die Reihennummer. Für anführende Nullen verwenden Sie {series_index:0>3s} " -"oder {series_index:>3s} für anführende Leerzeichen" +"Die Buchreihennummer. Für anführende Nullen verwenden Sie " +"{series_index:0>3s} oder {series_index:>3s} für anführende Leerzeichen" #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:41 msgid "The rating" @@ -19586,7 +19619,7 @@ msgstr "SCHLAGWÖRTER: %s<br />" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:174 #, python-format msgid "SERIES: %(series)s [%(sidx)s]<br />" -msgstr "Reihe: %(series)s [%(sidx)s]<br />" +msgstr "Buchreihe: %(series)s [%(sidx)s]<br />" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:271 msgid "Books in your library" @@ -20092,7 +20125,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -20115,38 +20148,38 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" "uppercase(val) -- gibt den Wert des Feldes val in Großbuchstaben zurück" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" "lowercase(val) -- gibt den Wert des Feldes val in Kleinbuchstaben zurück" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" "titlecase(val) -- gibt den Wert des Feldes val im Überschriftenstil zurück" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" "capitalize(val) -- gibt den Wert des Feldes val mit großen Anfangsbuchstaben " "zurück" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "Buchgröße() -- gibt den Wert des Feld größe wieder" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" @@ -20154,35 +20187,35 @@ msgstr "" "has_cover() -- gibt Yes zurück, wenn das Buch einen Umschlag hat, " "andernfalls einen leeren String" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -20191,7 +20224,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -20199,7 +20232,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -20207,7 +20240,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -20215,7 +20248,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -20224,7 +20257,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -20233,14 +20266,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -20248,7 +20281,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -20256,7 +20289,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -20312,166 +20345,174 @@ msgid "English (Australia)" msgstr "Englisch (Australien)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 +msgid "English (Japan)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 msgid "English (Bulgaria)" msgstr "Englisch (Bulgarien)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "Englisch (Neuseeland)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "Englisch (Kanada)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "Englisch (Griechenland)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "Englisch (Indien)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "Englisch (Nepal)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "Englisch (Thailand)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "Englisch (Türkei)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "Englisch (Zypern)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "Englisch (Tschechische Republik)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "Englisch (Pakistan)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "Englisch (Kroatien)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "Englisch (Indonesien)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "Englisch (Israel)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "Englisch (Russland)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "Englisch (Singapur)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "Englisch (Jemen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "Englisch" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "Englisch (China)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "Englisch (Südafrika)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "Spanisch (Paraguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "Spanisch (Uruguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "Spanisch (Argentinien)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "Spanisch (Mexiko)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "Spanisch (Kuba)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "Spanisch (Chile)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "Spanisch (Equador)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "Spanisch (Honduras)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "Spanisch (Venezuela)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "Spanisch (Bolivien)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "Spanisch (Nicaragua)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "Spanisch (Kolumbien)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "Deutsch (AT)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "Französisch (BE)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "Holländisch (NL)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "Holländisch (BE)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/el.po b/src/calibre/translations/el.po index 725e14faf5..3874b039bf 100644 --- a/src/calibre/translations/el.po +++ b/src/calibre/translations/el.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-12-07 00:13+0000\n" "Last-Translator: SteliosGero <Unknown>\n" "Language-Team: Greek <el@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-08 05:35+0000\n" -"X-Generator: Launchpad (build 14443)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:22+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Δεν κάνει τίποτα" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Δεν κάνει τίποτα" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Δεν κάνει τίποτα" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Δεν κάνει τίποτα" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Δεν κάνει τίποτα" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -484,7 +484,7 @@ msgid "Change the way calibre behaves" msgstr "Ρύθμισε την συμπεριφορά του calibre" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Πρόσθεσε δικές σου στήλες" @@ -951,7 +951,7 @@ msgstr "Απενεργοποίηση του ονομαζόμενου προσθ #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -965,10 +965,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Ναι" @@ -997,7 +997,7 @@ msgstr "Καταγραφή προβλημάτων" msgid "Communicate with Android phones." msgstr "Επικοινωνία με τηλέφωνα Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -1005,11 +1005,11 @@ msgstr "" "Σειρά καταλόγων στη συσκευή, χωρισμένων με κόμμα, προς αποστολή ηλεκτρονικών " "βιβλίων. Ο πρώτος στη σειρά θα χρησιμοποιηθεί." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Επικοινωνία με τηλέφωνα S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "Επικοινωνία με tablet WebOS" @@ -1126,8 +1126,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2976,13 +2976,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2990,7 +2990,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3369,7 +3369,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "Όχι" @@ -3808,7 +3808,7 @@ msgstr "Πρόλογος" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4690,52 +4690,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "Δεν βρέθηκε βιβλιοθήκη" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "Η βιβλιοθήκη μετακινήθηκε" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "Ξέχασε την βιβλιοθήκη" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "Νέα τοποθεσία βιβλιοθήκης" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "Επιλογή Βιβλιοθήκης" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Αλλαγή/δημιουργία βιβλιοθήκης..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4743,123 +4743,123 @@ msgstr "Αλλαγή/δημιουργία βιβλιοθήκης..." msgid "%d books" msgstr "%d βιβλία" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Μετονομασία βιβλιοθήκης" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "Επιλογή ενός βιβλίου στην τύχη" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Συντήρηση βιβλιοθήκης" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Έλεγχος βιβλιοθήκης" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "Επαναφορά βάσης δεδομένων" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "καμία" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4867,7 +4867,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4876,13 +4876,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4893,33 +4893,37 @@ msgstr "" msgid "Failed" msgstr "Απέτυχε" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "Δεν είναι δυνατή η τροποποίηση βιβλιοθηκών ενώ εκτελούνται εργασίες." @@ -5009,8 +5013,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5662,7 +5666,7 @@ msgid "Search for this %s" msgstr "Αναζήτηση για αυτό το(ν) %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "Καταστήματα" @@ -5813,75 +5817,75 @@ msgstr "" msgid "Adding..." msgstr "Γίνεται προσθήκη..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Προστέθηκε" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Αποθήκευση..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Αποθηκεύτηκε" @@ -6011,8 +6015,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6035,6 +6039,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6565,18 +6570,22 @@ msgstr "Κανονική προβολή" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Μετατροπή Πολλών" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7443,7 +7452,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7866,10 +7875,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7882,68 +7891,68 @@ msgid "Undefined" msgstr "Μη ορισμένο" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8231,7 +8240,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9452,7 +9461,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "Όλα" @@ -9792,7 +9801,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -11071,43 +11080,43 @@ msgstr "" msgid "Unavailable" msgstr "Μη διαθέσιμο" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Εργασίες:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -11137,7 +11146,7 @@ msgstr "&Συντόμευση:" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11324,54 +11333,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "Αύξουσα" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "Φθίνουσα" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "Αριστερά" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "Δεξιά" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "Κέντρο" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14161,6 +14170,10 @@ msgstr "&Δημιουργία" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14495,7 +14508,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "Ερώτημα:" @@ -14505,7 +14518,7 @@ msgid "Enable" msgstr "Επιλογή" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "Αναστροφή" @@ -14557,7 +14570,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14646,13 +14659,13 @@ msgid "Search:" msgstr "Αναζήτηση:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "Βιβλία:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14685,7 +14698,7 @@ msgstr "Λήψη" msgid "Price" msgstr "Τιμή" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14693,7 +14706,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14701,7 +14714,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14709,13 +14722,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14749,20 +14762,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "Λήψη βιβλίων" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "Μη Διαθέσιμο" @@ -15112,40 +15125,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Λήψη ειδήσεων από " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15448,7 +15461,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15698,25 +15711,31 @@ msgstr "Γίνεται φόρτωση του eBook..." msgid "Could not open ebook" msgstr "Δεν ήταν δυνατή η φόρτωση του eBook" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -16173,64 +16192,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "επιλεγμένο" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "ναι" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "όχι" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "μη επιλεγμένο" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "σήμερα" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "χθες" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "κενό" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "άδειο" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17987,7 +18006,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -18010,67 +18029,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -18079,7 +18098,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -18087,7 +18106,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -18095,7 +18114,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -18103,7 +18122,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -18112,7 +18131,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -18121,14 +18140,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -18136,7 +18155,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -18144,7 +18163,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -18200,166 +18219,174 @@ msgid "English (Australia)" msgstr "Αγγλικά (Αυστραλία)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 +msgid "English (Japan)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 msgid "English (Bulgaria)" msgstr "Αγγλικά (Βουλγαρία)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "Αγγλικά (Νέα Ζηλανδία)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "Αγγλικά (Καναδάς)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "Αγγλικά (Ελλάδα)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "Αγγλικά (Ινδία)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "Αγγλικά (Νεπάλ)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "Αγγλικά (Ταιλάνδη)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "Αγγλικά (Τουρκία)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "Αγγλικά (Κύπρος)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "Αγγλικά (Τσεχική Δημοκρατία)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "Αγγλικά (Πακιστάν)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "Αγγλικά (Κροατία)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "Αγγλικά (Ινδονησία)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "Αγγλικά (Ισραήλ)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "Αγγλικά (Ρωσία)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "Αγγλικά (Σιγκαπούρη)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "Αγγλικά (Υεμένη)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "Αγγλικά (Ιρλανδία)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "Αγγλικά (Κίνα)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "Αγγλικά (Νότια Αφρική)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "Ισπανικά (Παραγουάη)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "Ισπανικά (Ουρουγουάη)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "Ισπανικά (Αργεντινή)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "Ισπανικά (Μεξικό)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "Ισπανικά (Κούβα)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "Ισπανικά (Χιλή)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "Ισπανικά (Εκουαδόρ)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "Ισπανικά (Ονδούρα)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "Ισπανικά (Βενεζουέλα)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "Ισπανικά (Βολιβία)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "Ισπανικά (Νικαράγουα)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "Ισπανικά (Κολομβία)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "Γερμανικά (AT)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "Γαλικά (ΒΕ)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "Ολανδικά (NL)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "Ολανδικά (ΒΕ)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "π.μ." #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "μ.μ." #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "πμ" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "μμ" diff --git a/src/calibre/translations/en_AU.po b/src/calibre/translations/en_AU.po index ad7a6715a2..b5b2e493d8 100644 --- a/src/calibre/translations/en_AU.po +++ b/src/calibre/translations/en_AU.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 16:13+0000\n" "Last-Translator: Kovid Goyal <Unknown>\n" "Language-Team: English (Australia) <en_AU@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:11+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:35+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -464,7 +464,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -886,7 +886,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -898,10 +898,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -930,17 +930,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1052,8 +1052,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2768,13 +2768,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2782,7 +2782,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3154,7 +3154,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3592,7 +3592,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4468,52 +4468,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4521,123 +4521,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4645,7 +4645,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4654,13 +4654,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4671,33 +4671,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4787,8 +4791,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5433,7 +5437,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5584,75 +5588,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5782,8 +5786,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5806,6 +5810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6336,18 +6341,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7214,7 +7223,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7637,10 +7646,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7653,68 +7662,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8002,7 +8011,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9223,7 +9232,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9563,7 +9572,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10842,43 +10851,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10908,7 +10917,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11095,54 +11104,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13932,6 +13941,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14266,7 +14279,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14276,7 +14289,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14328,7 +14341,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14417,13 +14430,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14456,7 +14469,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14464,7 +14477,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14472,7 +14485,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14480,13 +14493,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14520,20 +14533,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14883,40 +14896,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15219,7 +15232,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15469,25 +15482,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15926,64 +15945,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17740,7 +17759,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17763,67 +17782,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17832,7 +17851,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17840,7 +17859,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17848,7 +17867,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17856,7 +17875,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17865,7 +17884,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17874,14 +17893,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17889,7 +17908,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17897,7 +17916,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17953,166 +17972,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/en_CA.po b/src/calibre/translations/en_CA.po index 668efe1238..6de3a805f4 100644 --- a/src/calibre/translations/en_CA.po +++ b/src/calibre/translations/en_CA.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 17:28+0000\n" "Last-Translator: Kovid Goyal <Unknown>\n" "Language-Team: English (Canada) <en_CA@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:12+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:36+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -464,7 +464,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -890,7 +890,7 @@ msgstr "Disable the named plugin" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -902,10 +902,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -934,7 +934,7 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Communicate with Android devices." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -942,11 +942,11 @@ msgstr "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1058,8 +1058,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2826,7 +2826,7 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." @@ -2834,7 +2834,7 @@ msgstr "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2842,7 +2842,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3238,7 +3238,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3676,7 +3676,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4552,52 +4552,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4605,123 +4605,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4729,7 +4729,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4738,13 +4738,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4755,33 +4755,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4871,8 +4875,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5517,7 +5521,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5668,75 +5672,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5866,8 +5870,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5890,6 +5894,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6420,18 +6425,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7298,7 +7307,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7721,10 +7730,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7737,68 +7746,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8086,7 +8095,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9307,7 +9316,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9647,7 +9656,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10926,43 +10935,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10992,7 +11001,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11179,54 +11188,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14016,6 +14025,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14350,7 +14363,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14360,7 +14373,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14412,7 +14425,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14501,13 +14514,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14540,7 +14553,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14548,7 +14561,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14556,7 +14569,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14564,13 +14577,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14604,20 +14617,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14967,40 +14980,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15303,7 +15316,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15553,25 +15566,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -16010,64 +16029,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17824,7 +17843,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17847,67 +17866,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17916,7 +17935,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17924,7 +17943,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17932,7 +17951,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17940,7 +17959,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17949,7 +17968,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17958,14 +17977,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17973,7 +17992,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17981,7 +18000,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -18037,166 +18056,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/en_GB.po b/src/calibre/translations/en_GB.po index c0829b2062..f479f534b8 100644 --- a/src/calibre/translations/en_GB.po +++ b/src/calibre/translations/en_GB.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-09-11 15:08+0000\n" "Last-Translator: Anthony Harrington <untaintableangel@hotmail.co.uk>\n" "Language-Team: English (United Kingdom) <en_GB@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:11+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:34+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -476,7 +476,7 @@ msgid "Change the way calibre behaves" msgstr "Change the way calibre behaves" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Add your own columns" @@ -929,7 +929,7 @@ msgstr "Disable the named plugin" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -941,10 +941,10 @@ msgstr "Path to library too long. Must be less than %d characters." #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Yes" @@ -973,7 +973,7 @@ msgstr "Debug log" msgid "Communicate with Android phones." msgstr "Communicate with Android devices." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -981,11 +981,11 @@ msgstr "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Communicate with S60 phones." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "Communicate with WebOS tablets." @@ -1118,8 +1118,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -3128,7 +3128,7 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "for a complete list with descriptions." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." @@ -3136,7 +3136,7 @@ msgstr "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3147,7 +3147,7 @@ msgstr "" "negative. 0 implies that no links in the root HTML file are followed. " "Default is %default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3571,7 +3571,7 @@ msgstr "TEMPLATE ERROR" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "No" @@ -4057,7 +4057,7 @@ msgstr "Preface" msgid "Main Text" msgstr "Main Text" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "%s format books are not supported" @@ -5077,12 +5077,12 @@ msgstr "Export Catalogue Directory" msgid "Select destination for %(title)s.%(fmt)s" msgstr "Select destination for %(title)s.%(fmt)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "No library found" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " @@ -5091,40 +5091,40 @@ msgstr "" "No existing Calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise Calibre will forget this library." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "New location of this library:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "Library moved" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "Forget library" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "New library location" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "No existing Calibre library found at %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "Choose Library" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Choose calibre library to work with" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Switch/create library..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -5132,82 +5132,82 @@ msgstr "Switch/create library..." msgid "%d books" msgstr "%d books" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Quick switch" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Rename library" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "Remove library" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "Pick a random book" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Library Maintenance" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "Library metadata backup status" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "Start backing up metadata of all books" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Check library" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "Restore database" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Rename" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "Choose a new name for the library <b>%s</b>. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "Note that the actual library folder will be renamed." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Already exists" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "The folder %s already exists. Delete it first." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "Too long" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Rename failed" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " @@ -5216,11 +5216,11 @@ msgstr "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "Library removed" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " @@ -5229,24 +5229,24 @@ msgstr "" "The library %s has been removed from Calibre. The files remain on your " "computer. If you want to delete them, you will have to do so manually." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "none" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "Backup status" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "Book metadata files remaining to be written: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "Backup metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." @@ -5254,7 +5254,7 @@ msgstr "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -5265,7 +5265,7 @@ msgstr "" "library to a location with a shorter path using Windows Explorer, then point " "Calibre to the new location and try again." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -5274,7 +5274,7 @@ msgstr "" msgid "Success" msgstr "Success" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" @@ -5282,7 +5282,7 @@ msgstr "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -5293,27 +5293,31 @@ msgstr "" msgid "Failed" msgstr "Failed" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "Database integrity check failed, click Show details for details." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "No problems found" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "The files in your library match the information in the database." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Not allowed" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5321,7 +5325,7 @@ msgstr "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "You cannot change libraries while jobs are running." @@ -5413,8 +5417,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -6108,7 +6112,7 @@ msgid "Search for this %s" msgstr "Search for this %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "Stores" @@ -6276,33 +6280,33 @@ msgstr "Searching in" msgid "Adding..." msgstr "Adding..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Searching in all sub-directories..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Path error" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "The specified directory could not be processed." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "No books" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "No books found" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "No permission" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." @@ -6310,15 +6314,15 @@ msgstr "" "Cannot add some files as you do not have permission to access them. Click " "\"Show Details\" to see the list of such files." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Added" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Adding failed" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -6326,11 +6330,11 @@ msgstr "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Duplicates found!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" @@ -6338,19 +6342,19 @@ msgstr "" "Books with the same title as the following already exist in the database. " "Add them anyway?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Adding duplicates..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Saving..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "Collecting data, please wait..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Saved" @@ -6490,8 +6494,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6517,6 +6521,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "Donate" @@ -7054,7 +7059,7 @@ msgstr "Normal view" msgid "HTML Source" msgstr "HTML Source" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " @@ -7064,11 +7069,15 @@ msgstr "" "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Bulk Convert" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Options specific to the output format." @@ -7973,7 +7982,7 @@ msgstr "Occurrences:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -8422,10 +8431,10 @@ msgstr "Cover browser could not be loaded" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -8438,32 +8447,32 @@ msgid "Undefined" msgstr "Undefined" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "star(s)" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Unrated" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "Set '%s' to today" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "Clear '%s'" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " index:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" @@ -8471,23 +8480,23 @@ msgstr "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "Apply changes" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "Remove series" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "Automatically number books" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "Force numbers to start with " -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" @@ -8495,15 +8504,15 @@ msgstr "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Remove all tags" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "tags to add" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "tags to remove" @@ -8808,7 +8817,7 @@ msgid "My Books" msgstr "My Books" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Generate catalogue" @@ -10196,7 +10205,7 @@ msgstr "Version History for %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "All" @@ -10553,7 +10562,7 @@ msgstr "Items" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -11926,43 +11935,43 @@ msgstr "" msgid "Unavailable" msgstr "Unavailable" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Jobs:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "Click to see list of jobs" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - Jobs" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "Do you really want to stop the selected job?" msgstr[1] "Do you really want to stop all the selected jobs?" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "Do you really want to stop all non-device jobs?" @@ -11992,7 +12001,7 @@ msgstr "&Shortcut:" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -12183,54 +12192,54 @@ msgstr "Marked for deletion" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Double click to <b>edit</b> me<br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "Hide column %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "Sort on %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "Ascending" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "Descending" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "Change text alignment for %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "Left" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "Right" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "Centre" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "Show column" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "Shrink column if it is too wide to fit" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "Restore default layout" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -15421,6 +15430,10 @@ msgstr "C&reate" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "&Program Code: (be sure to follow python indenting rules)" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "Switch between library and device views" @@ -15769,7 +15782,7 @@ msgid "Nam&e/Description ..." msgstr "Nam&e/Description..." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "Query:" @@ -15779,7 +15792,7 @@ msgid "Enable" msgstr "Enable" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "Invert" @@ -15839,7 +15852,7 @@ msgstr "" "is limited to that market only." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "Buying from this store supports the Calibre developer: %s." @@ -15928,13 +15941,13 @@ msgid "Search:" msgstr "Search:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "Books:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -15967,7 +15980,7 @@ msgstr "Download" msgid "Price" msgstr "Price" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -15978,7 +15991,7 @@ msgstr "" "verify this price is correct. This price often does not include promotions " "the store may be running." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -15990,7 +16003,7 @@ msgstr "" "what you can do with this book. Check with the store before making any " "purchases, to ensure you can actually read this book." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -16002,7 +16015,7 @@ msgstr "" "conversion. However, before making a purchase double check the DRM status " "with the store. The store may not be disclosing the use of DRM." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." @@ -16010,7 +16023,7 @@ msgstr "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "The following formats can be downloaded directly: %s." @@ -16044,20 +16057,20 @@ msgstr "Couldn't find any books matching your query." msgid "Choose format to download to your library." msgstr "Choose format to download to your library." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "Get Books" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "Open a selected book in the system's web browser" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "Open in &external browser" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "Not Available" @@ -16426,12 +16439,12 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "Convert book %(num)d of %(total)d (%(title)s)" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "Could not convert some books" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " @@ -16440,28 +16453,28 @@ msgstr "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "Queueing books for bulk conversion" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "Queueing " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "Convert book %(num)d of %(tot)d (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Fetch news from " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "Convert existing" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -16781,7 +16794,7 @@ msgid "Options to customize the ebook viewer" msgstr "Options to customise the ebook viewer" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "Remember last used window size" @@ -17038,27 +17051,33 @@ msgstr "Loading ebook..." msgid "Could not open ebook" msgstr "Could not open ebook" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Options to control the ebook viewer" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "If specified, viewer window will try to come to the front when started." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "If specified, viewer window will try to open full screen when started." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "Print javascript alert and console messages to the console" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -17553,64 +17572,64 @@ msgstr "" "reader on your iPhone. Here myhostname should be the fully qualified " "hostname or the IP address of the computer calibre is running on." -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "checked" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "yes" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "no" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "unchecked" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "today" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "yesterday" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "thismonth" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "daysago" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "blank" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "empty" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "Invalid boolean query \"{0}\"" @@ -19858,7 +19877,7 @@ msgstr "" "\"B.C\". Assuming a #genre value of \"A.B.C, D.E.F\", {#genre:subitems(0,1)} " "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -19881,27 +19900,27 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "uppercase(val) -- return value of the field in upper case" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "lowercase(val) -- return value of the field in lower case" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "titlecase(val) -- return value of the field in title case" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "capitalize(val) -- return value of the field capitalized" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "booksize() -- return value of the size field" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" @@ -19909,7 +19928,7 @@ msgstr "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" @@ -19917,7 +19936,7 @@ msgstr "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " @@ -19927,7 +19946,7 @@ msgstr "" "empty. If all values are empty, then the empty value is returned. You can " "have as many values as you want." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " @@ -19937,7 +19956,7 @@ msgstr "" "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " @@ -19947,7 +19966,7 @@ msgstr "" "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " @@ -19957,7 +19976,7 @@ msgstr "" "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -19971,7 +19990,7 @@ msgstr "" "list1 and list2 are separated by separator, as are the items in the returned " "list." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -19983,7 +20002,7 @@ msgstr "" "items in list1 and list2 are separated by separator, as are the items in the " "returned list." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -19995,7 +20014,7 @@ msgstr "" "The items in list1 and list2 are separated by separator, as are the items in " "the returned list." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -20007,7 +20026,7 @@ msgstr "" "otherwise descending. The list items are separated by separator, as are the " "items in the returned list." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -20016,7 +20035,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -20025,7 +20044,7 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " @@ -20035,7 +20054,7 @@ msgstr "" "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -20047,7 +20066,7 @@ msgstr "" "negative. If either date1 or date2 are not dates, the function returns the " "empty string." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -20055,7 +20074,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -20111,166 +20130,174 @@ msgid "English (Australia)" msgstr "English (Australia)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 +msgid "English (Japan)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 msgid "English (Bulgaria)" msgstr "English (Bulgaria)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "English (New Zealand)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "English (Canada)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "English (Greece)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "English (India)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "English (Thailand)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "English (Turkey)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "English (Cyprus)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "English (Pakistan)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "English (Croatia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "English (Indonesia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "English (Israel)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "English (Singapore)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "English (Yemen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "English (Ireland)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "English (China)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "English (South Africa)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "Spanish (Paraguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "Spanish (Uruguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "Spanish (Argentina)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "Spanish (Mexico)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "Spanish (Cuba)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "Spanish (Chile)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "Spanish (Ecuador)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "Spanish (Honduras)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "Spanish (Venezuela)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "Spanish (Bolivia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "Spanish (Nicaragua)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "Spanish (Colombia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "German (AT)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "French (BE)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "Dutch (NL)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "Dutch (BE)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "AM" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "PM" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "AM" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "PM" diff --git a/src/calibre/translations/eo.po b/src/calibre/translations/eo.po index 659ab37bf8..beec1976ed 100644 --- a/src/calibre/translations/eo.po +++ b/src/calibre/translations/eo.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 17:49+0000\n" "Last-Translator: Kalle Kniivilä <kalle@kniivila.net>\n" "Language-Team: Esperanto <eo@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:56+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:20+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Faras absolute nenion" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Faras absolute nenion" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Faras absolute nenion" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Faras absolute nenion" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Faras absolute nenion" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -467,7 +467,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -915,7 +915,7 @@ msgstr "Malŝalti la indikitan kromprogramon" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -927,10 +927,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -959,7 +959,7 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Komuniki kun telefonoj de la sistemo Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -967,11 +967,11 @@ msgstr "" "Listo, dividita per komoj, de dosierujoj por sendado de e-libroj al la " "aparato. La unua ekzistanta estos uzata." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1083,8 +1083,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2799,13 +2799,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2813,7 +2813,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3188,7 +3188,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3626,7 +3626,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4502,52 +4502,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4555,123 +4555,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4679,7 +4679,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4688,13 +4688,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4705,33 +4705,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4821,8 +4825,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5467,7 +5471,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5618,75 +5622,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5816,8 +5820,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5840,6 +5844,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6370,18 +6375,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7248,7 +7257,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7671,10 +7680,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7687,68 +7696,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8036,7 +8045,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9257,7 +9266,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9597,7 +9606,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10876,43 +10885,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10942,7 +10951,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11129,54 +11138,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13966,6 +13975,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14300,7 +14313,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14310,7 +14323,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14362,7 +14375,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14451,13 +14464,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14490,7 +14503,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14498,7 +14511,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14506,7 +14519,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14514,13 +14527,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14554,20 +14567,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14917,40 +14930,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15253,7 +15266,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15503,25 +15516,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15960,64 +15979,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17774,7 +17793,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17797,67 +17816,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17866,7 +17885,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17874,7 +17893,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17882,7 +17901,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17890,7 +17909,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17899,7 +17918,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17908,14 +17927,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17923,7 +17942,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17931,7 +17950,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17987,166 +18006,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/es.po b/src/calibre/translations/es.po index fc4bc50f7f..ee772ada47 100644 --- a/src/calibre/translations/es.po +++ b/src/calibre/translations/es.po @@ -10,16 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: es\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" -"PO-Revision-Date: 2011-12-02 15:47+0000\n" -"Last-Translator: Jellby <Unknown>\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" +"PO-Revision-Date: 2011-12-12 10:44+0000\n" +"Last-Translator: Fitoschido <fitoschido@gmail.com>\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:07+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-13 04:53+0000\n" +"X-Generator: Launchpad (build 14458)\n" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:527 msgid "" @@ -45,8 +45,8 @@ msgstr "No hace absolutamente nada" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -57,8 +57,8 @@ msgstr "No hace absolutamente nada" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -67,8 +67,8 @@ msgstr "No hace absolutamente nada" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -193,7 +193,7 @@ msgstr "No hace absolutamente nada" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -212,7 +212,7 @@ msgstr "No hace absolutamente nada" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -239,7 +239,7 @@ msgstr "No se puede configurar" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:318 msgid "File type" -msgstr "Tipo de fichero" +msgstr "Tipo de archivo" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:354 msgid "Metadata reader" @@ -282,9 +282,9 @@ msgid "" "directory pmlname_img or images. This plugin is run every time you add a PML " "file to the library." msgstr "" -"Crear un archivo PMLZ que contenga el fichero PML y todas las imágenes en " +"Crear un archivador PMLZ que contenga el archivo PML y todas las imágenes en " "los directorios «pmlname_img» o «images». Este complemento se ejecutará cada " -"vez que añada un fichero PML a la biblioteca" +"vez que añada un archivo PML a la biblioteca." #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:50 msgid "" @@ -292,13 +292,13 @@ msgid "" "Textile references to images. The referenced images as well as the TXT file " "are added to the archive." msgstr "" -"Crear un archivo TXTZ cuando se importa un fichero TXT que contiene " -"referencias a imágenes con Markdown o Textile. El archivo incluye tanto las " -"imágenes como el fichero TXT." +"Crear un archivador TXTZ cuando se importa un archivo TXT que contiene " +"referencias a imágenes con Markdown o Textile. El archivador incluye tanto " +"las imágenes como el archivo TXT." #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:127 msgid "Extract cover from comic files" -msgstr "Extraer la portada de los ficheros de cómic" +msgstr "Extraer la portada de los archivos de cómic" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:164 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:175 @@ -323,15 +323,15 @@ msgstr "Extraer la portada de los ficheros de cómic" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:386 #, python-format msgid "Read metadata from %s files" -msgstr "Leer metadatos desde ficheros %s" +msgstr "Leer metadatos desde archivos %s" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:323 msgid "Read metadata from ebooks in RAR archives" -msgstr "Leer metadatos de libros electrónicos en archivos RAR" +msgstr "Leer metadatos de libros electrónicos en archivadores RAR" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:397 msgid "Read metadata from ebooks in ZIP archives" -msgstr "Leer metadatos de libros electrónicos en archivos ZIP" +msgstr "Leer metadatos de libros electrónicos en archivadores ZIP" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:410 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:431 @@ -341,14 +341,14 @@ msgstr "Leer metadatos de libros electrónicos en archivos ZIP" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:484 #, python-format msgid "Set metadata in %s files" -msgstr "Asignar metadatos a los ficheros %s" +msgstr "Asignar metadatos a los archivos %s" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:420 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:452 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:495 #, python-format msgid "Set metadata from %s files" -msgstr "Asignar metadatos desde ficheros %s" +msgstr "Asignar metadatos desde archivos %s" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:729 msgid "Add books to calibre or the connected device" @@ -369,7 +369,7 @@ msgstr "Convertir libros a distintos formatos de libro electrónico" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Delete books from your calibre library or connected device" msgstr "" -"Borrar libros de su bilblioteca calibre o de su dispositivo conectado" +"Eliminar libros de su bilblioteca calibre o de su dispositivo conectado" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:754 msgid "Edit the metadata of books in your calibre library" @@ -501,7 +501,7 @@ msgid "Change the way calibre behaves" msgstr "Cambie el comportamiento de calibre" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Columnas personalizadas" @@ -957,7 +957,7 @@ msgstr "Desactivar el complemento nombrado" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -971,10 +971,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Sí" @@ -1003,7 +1003,7 @@ msgstr "Registro de depuración" msgid "Communicate with Android phones." msgstr "Comunicar con teléfonos Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -1011,11 +1011,11 @@ msgstr "" "Lista de directorios, separados por comas, donde almacenar los libros en el " "dispositivo. Se usará el primero que exista" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Comunicar con teléfonos S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "Comunicar con tabletas WebOS." @@ -1158,8 +1158,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -3039,7 +3039,7 @@ msgstr "Texto de sustitución para el texto encontrado con sr3-search." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:729 msgid "Could not find an ebook inside the archive" -msgstr "No se pudo encontrar un libro dentro del archivo" +msgstr "No se pudo encontrar un libro dentro del archivador" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:787 msgid "Values of series index and rating must be numbers. Ignoring" @@ -3263,7 +3263,7 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "para una lista completa con descripciones." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." @@ -3271,7 +3271,7 @@ msgstr "" "Hacer una búsqueda en anchura de los enlaces en ficheros HTML. Normalmente " "se hace una búsqueda en profundidad." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3282,7 +3282,7 @@ msgstr "" "negativo. El valor 0 implica que no se seguirá ningún enlace en el fichero " "HTML raíz. El valor predeterminado es %default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3359,7 +3359,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/htmlz/input.py:62 #, python-format msgid "Multiple HTML files found in the archive. Only %s will be used." -msgstr "Se encontraron varios ficheros HTML en el archivo. Sólo se usará %s." +msgstr "" +"Se encontraron varios archivos HTML en el archivador. Solo se usará %s." #: /home/kovid/work/calibre/src/calibre/ebooks/htmlz/input.py:68 msgid "No top level HTML file found." @@ -3696,8 +3697,8 @@ msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." msgstr "" -"Extraer los formatos de libro digital comunes de archivos (zip/rar). También " -"intenta detectar automáticamente si se trata de ficheros cbz/cbr." +"Extraer los formatos de libro digital comunes de archivadores (zip/rar). " +"También intenta detectar automáticamente si se trata de archivos cbz/cbr." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:58 msgid "Value: unknown field " @@ -3709,7 +3710,7 @@ msgstr "ERROR DE PLANTILLA" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "No" @@ -4210,7 +4211,7 @@ msgstr "Prefacio" msgid "Main Text" msgstr "Texto principal" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "El formato de libros %s no está soportado" @@ -5026,7 +5027,7 @@ msgstr "Cómics" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:39 msgid "Archives" -msgstr "Archivos" +msgstr "Archivadores" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:46 msgid "Add books" @@ -5053,7 +5054,7 @@ msgid "" msgstr "" "Añadir libros de directorios, incluyendo subdirectorios. (Un libro por " "directorio, se asume que cada fichero de libro electrónico es el mismo libro " -"en diferente formato." +"en diferente formato)" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:61 msgid "" @@ -5062,7 +5063,7 @@ msgid "" msgstr "" "Añadir libros de directorios, incluyendo subdirectorios. (Múltiples libros " "por directorio, se asume que cada fichero de libro electrónico es un libro " -"diferente." +"diferente)" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:66 msgid "Add Empty book. (Book entry with no formats)" @@ -5266,12 +5267,12 @@ msgstr "Directorio para exportar catálogos" msgid "Select destination for %(title)s.%(fmt)s" msgstr "Seleccionar destino para %(title)s.%(fmt)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "No se encontró la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " @@ -5281,40 +5282,40 @@ msgstr "" "movido, seleccione la nueva ubicación abajo. En caso contrario, calibre " "olvidará esta biblioteca." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "Nueva ubicación para esta biblioteca:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "Biblioteca movida" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "Olvidar biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "Nueva ubicación de la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "No se encontró una biblioteca de calibre en %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "Elegir biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Elija una biblioteca de calibre para trabajar con ella" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Cambiar/crear biblioteca..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -5322,83 +5323,83 @@ msgstr "Cambiar/crear biblioteca..." msgid "%d books" msgstr "%d libros" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Cambio rápido" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Renombrar biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "Eliminar biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "Seleccione un libro aleatorio" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Mantenimiento de la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "Estado de la copia de respaldo de metadatos de la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "Iniciar copia de respaldo de los metadatos de todos los libros" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Comprobar biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "Restaurar base de datos" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Renombrar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "Elija un nuevo nombre para la biblioteca <b>%s</b>. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" "Tenga en cuenta que se cambiará el nombre de la carpeta de la biblioteca." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Ya existe" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "La carpeta %s ya existe. Elimínela primero." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "Demasiado larga" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Falló el renombrado" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " @@ -5408,11 +5409,11 @@ msgstr "" "esto es que uno de los ficheros de la biblioteca está abierto en otro " "programa." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "Biblioteca eliminada" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " @@ -5421,24 +5422,24 @@ msgstr "" "La biblioteca %s ha sido eliminada de calibre. Los ficheros están aún en su " "ordenador, si quiere borrarlos tendrá que hacerlo manualmente." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "none" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "Estado de la Copia de Seguridad" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "Ficheros de metadatos que quedan por escribir: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "Copia de seguridad de metadatos" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." @@ -5446,7 +5447,7 @@ msgstr "" "Se hará una copia de seguridad de los metadatos mientras calibre está en " "ejecución, a un ritmo aproximado de un libro cada tres segundos." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -5458,7 +5459,7 @@ msgstr "" "usando, por ejemplo, el Explorador de Windows, e inténtelo de nuevo con la " "nueva ubicación." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -5467,7 +5468,7 @@ msgstr "" msgid "Success" msgstr "Éxito" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" @@ -5476,7 +5477,7 @@ msgstr "" "¿Quiere que calibre compruebe si los ficheros en la biblioteca coinciden con " "la información de la base de datos?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -5487,31 +5488,35 @@ msgstr "" msgid "Failed" msgstr "Falló" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" "La comprobación de la integridad de la base de datos falló, pulse en " "«Mostrar detalles» para más información." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "Comenzando el análisis de la biblioteca, puede llevar un tiempo" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "No se han encontrado problemas" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" "Los ficheros en la biblioteca coinciden con la información de la base de " "datos." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "No permitido" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5519,7 +5524,7 @@ msgstr "" "No puede cambiar de biblioteca mientras usa la variable de entorno " "CALIBRE_OVERRIDE_DATABASE_PATH." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" "No se puede cambiar de biblioteca mientras los trabajos se estan realizando" @@ -5613,8 +5618,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -6315,7 +6320,7 @@ msgid "Search for this %s" msgstr "Buscar este %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "Librerías" @@ -6482,33 +6487,33 @@ msgstr "Buscando en" msgid "Adding..." msgstr "Añadiendo..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Buscando en todos los subdirectorios..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Error en la ruta" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "El directorio especificado no se puede procesar." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Sin libros" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "No se encontró ningún libro" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "No tiene permiso" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." @@ -6516,15 +6521,15 @@ msgstr "" "No se pudieron añadir algunos ficheros porque no tiene permiso para acceder " "a ellos. Pulse en «Mostrar detalles» para ver una lista de dichos ficheros." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Añadido" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Fallo al añadir" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -6533,11 +6538,11 @@ msgstr "" "calibre y añadir los libros en grupos más pequeños, hasta que encuentre el " "libro que causa el problema." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "¡Se han encontrado duplicados!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" @@ -6545,19 +6550,19 @@ msgstr "" "Ya existen libros con el mismo titulo que los siguientes en la base de " "datos. ¿Añadirlos de todas formas?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Añadiendo duplicados" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Guardando..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "Recogiendo datos, espere por favor..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Guardado" @@ -6696,8 +6701,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6724,6 +6729,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "Hacer una donación" @@ -7273,7 +7279,7 @@ msgstr "Vista normal" msgid "HTML Source" msgstr "Código fuente HTML" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " @@ -7283,11 +7289,17 @@ msgstr "" "valores guardados en una conversión anterior (si existe) en vez de usar los " "predeterminados especificados en las Preferencias" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" +"Ninguno de los libros seleccionados tiene preferencias de conversión " +"guardadas" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Convertir en bloque" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Opciones específicas del formato de salida." @@ -8207,7 +8219,7 @@ msgstr "Casos:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -8660,10 +8672,10 @@ msgstr "No se ha podido cargar el explorador de portadas" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -8676,32 +8688,32 @@ msgid "Undefined" msgstr "Indefinido" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "estrella(s)" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Sin calificar" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "Establecer la fecha de hoy para '%s'" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "Limpiar «%s»" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " índice:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" @@ -8709,38 +8721,38 @@ msgstr "" "La enumeración «{0}» contiene un valor inválido que se cambiará al valor " "predeterminado" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "Aplicar cambios" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "Remover series" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "Numerar automáticamente los libros" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "Forzar números para que empiecen con " -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" "La enumeración «{0}» contiene un valor inválido que no aparecerá en la lista" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Eliminar todas las etiquetas" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "etiquetas a añadir" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "etiquetas a eliminar" @@ -9053,7 +9065,7 @@ msgid "My Books" msgstr "Mis libros" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Generar el catálogo" @@ -10440,7 +10452,7 @@ msgstr "Historial de versiones para %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "Todos" @@ -10798,7 +10810,7 @@ msgstr "Elementos" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -12202,43 +12214,43 @@ msgstr "" msgid "Unavailable" msgstr "No disponible" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Tareas:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Mayús+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "Pulse para ver la lista de trabajos" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - tareas" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "Buscar una tarea por nombre" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 msgid "No job" msgstr "No hay tarea" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "No hay ninguna tarea seleccionada" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "¿De verdad quiere detener la tarea seleccionada?" msgstr[1] "¿De verdad quiere detener las tareas seleccionadas?" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" "¿De verdad quiere detener todos los trabajos que no son de dispositivos?" @@ -12269,7 +12281,7 @@ msgstr "&Atajo:" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -12466,54 +12478,54 @@ msgstr "Marcado para borrarlo" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Pulse dos veces para <b>editarme</b><br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "Ocultar columna %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "Ordenar según %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "Ascendente" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "Descendente" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "Cambiar la alineación del texto para %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "Izquierda" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "Derecha" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "Centro" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "Mostrar columna" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "Encoger columna si es demasiado ancha" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "Restaurar formato predeterminado" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -15770,6 +15782,10 @@ msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" "&Código de programación (asegúrese de seguir las reglas de sangría de python)" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "Ubicaciones" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "Alternar entre la vista de la biblioteca y del dispositivo" @@ -16126,7 +16142,7 @@ msgid "Nam&e/Description ..." msgstr "N&ombre, descripción..." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "Consulta:" @@ -16136,7 +16152,7 @@ msgid "Enable" msgstr "Activada" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "Invertir" @@ -16196,7 +16212,7 @@ msgstr "" "cuál es su mercado prioritario, pero no significa que sea el único." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "Al comprar en esta librería apoya al programador de calibre: %s." @@ -16287,13 +16303,13 @@ msgid "Search:" msgstr "Buscar:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "Libros" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -16326,7 +16342,7 @@ msgstr "Descargar" msgid "Price" msgstr "Precio" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -16337,7 +16353,7 @@ msgstr "" "antes de realizar la compra. Este precio normalmente no incluye las " "promociones que la tienda pueda tener activas." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -16349,7 +16365,7 @@ msgstr "" "Compruébelo en la librería antes de realizar ninguna compra para asegurarse " "de que realmente va a poder leer este libro." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -16362,7 +16378,7 @@ msgstr "" "posible DRM en la tienda. Es posible que la librería no desvele abiertamente " "la presencia de DRM." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." @@ -16370,7 +16386,7 @@ msgstr "" "No se pudo determinar si el libro tiene restricciones de DRM. Es muy " "probable que las tenga." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "Los siguientes formatos pueden descargarse directamente: %s." @@ -16404,20 +16420,20 @@ msgstr "No se pudo encontrar ningún libro que satisfaga las condiciones." msgid "Choose format to download to your library." msgstr "Elija un formato para descargar a la biblioteca." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "Get Books" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "Abrir el libro seleccionado en el navegador web del sistema" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "Abrir en &navegador externo" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "No disponible" @@ -16790,12 +16806,12 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "Convertido el libro %(num)d de %(total)d (%(title)s)" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "No se pudieron convertir algunos libros" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " @@ -16804,28 +16820,28 @@ msgstr "" "No se pudieron convertir %(num)d de %(tot)d libros, porque no se encontró " "ningún formato de origen adecuado." -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "Poniendo libros en cola para conversión en bloque" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "Poniendo en cola " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "Convertir el libro %(num)d de %(tot)d (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Obtener noticias de " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "La conversión ya existe" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -17151,7 +17167,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opciones para personalizar el visor de libros electrónicos" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "&Recordar el último tamaño de ventana usado" @@ -17413,28 +17429,36 @@ msgstr "Cargando libro electrónico..." msgid "Could not open ebook" msgstr "No se pudo abrir el libro electrónico" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Opciones para controlar el visor de libros electrónicos" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Si se especifica, la ventana del visor intentará situarse en el frente " "cuando se inicie el programa." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Si se activa, la ventana del visor tratará de iniciarse a pantalla completa." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "Dirigir alertas de javascript y mensajes de consola a la consola" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" +"Posición en la que abrir el libro especificado. La posición es una ubicación " +"mostrada en la esquina superior izquierda del visor." + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -17940,64 +17964,64 @@ msgstr "" "el lector Stanza de su iPhone, donde miservidor es el nombre de servidor " "completo o la dirección IP del equipo donde se ejecuta calibre." -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "checked" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "yes" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "no" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "unchecked" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "today" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "ayer" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "thismonth" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "daysago" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "blank" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "empty" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "Consulta booleana \"{0}\" no válida" @@ -20306,7 +20330,7 @@ msgstr "" "valor «A.B.C, D.E.F»: {#género:subitems(0,1)} devuelve «A, D», " "{#género:subitems(0,2)} devuelve «A.B, D.E»." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -20351,29 +20375,29 @@ msgstr "" "para AM o PM. «iso»: la fecha con hora y zona horaria. Debe ser el único " "formato presente." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "uppercase(val) -- devuelve el valor del campo en mayúsculas" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "lowercase(val) -- devuelve el valor del campo en minúsculas" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" "titlecase(val) -- devuelve el valor del campo con las iniciales en mayúscula" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" "capitalize(val) -- devuelve el valor del campo con la primera letra mayúscula" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "booksize() -- devuelve el valor del campo de tamaño" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" @@ -20381,7 +20405,7 @@ msgstr "" "ondevice() -- devuelve «Yes» si ondevice está activado, si no, devuelve un " "texto vacío" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" @@ -20389,7 +20413,7 @@ msgstr "" "has_cover() -- devuelve «Yes» si el libro tiene portada, en caso contrario " "devuelve un texto vacío." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " @@ -20399,7 +20423,7 @@ msgstr "" "vacío. Si todos los valores están vacíos, se devuelve también un valor " "vacío. Puede incluir tantos valores como quiera." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " @@ -20409,7 +20433,7 @@ msgstr "" "está vacío, en caso contrario devuelve un texto vacío. Esta función funciona " "bien con «first_non_empty». Puede incluir tantos valores como quiera." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " @@ -20419,7 +20443,7 @@ msgstr "" "está vacío, en caso contrario devuelve un texto vacío. Esta función funciona " "bien con «first_non_empty». Puede incluir tantos valores como quiera." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " @@ -20428,7 +20452,7 @@ msgstr "" "not(valor) -- devuelve el texto «1» si el valor está vacío, en caso " "contrario devuelve un texto vacío." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -20442,7 +20466,7 @@ msgstr "" "versión de «lista1»). Los elementos de «lista1» y «lista2» están separados " "por «separador», así como los de la lista resultante." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -20454,7 +20478,7 @@ msgstr "" "distinguir mayúsculas y minúsculas. Los elementos de «lista1» y «lista2» " "están separados por «separador», así como los de la lista resultante." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -20467,7 +20491,7 @@ msgstr "" "y «lista2» están separados por «separador», así como los de la lista " "resultante." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -20480,7 +20504,7 @@ msgstr "" "elementos de «lista» están separados por «separador», así como los de la " "lista resultante." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -20495,7 +20519,7 @@ msgstr "" "elementos no es relevante. La comparación no diferencia mayúsculas y " "minúsculas." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -20510,7 +20534,7 @@ msgstr "" "es un texto vacío, se aplica la sustitución antes de añadir el elemento a la " "lista final." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " @@ -20520,7 +20544,7 @@ msgstr "" "para usarse con «format_date» o «days_between», pero puede manipularse como " "cualquier otro texto. La fecha está en formato ISO." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -20532,7 +20556,7 @@ msgstr "" "contrario es negativo. Si «fecha1» o «fecha2» no son fechas, la función " "devuelve un texto vacío." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -20544,7 +20568,7 @@ msgstr "" "inglés. Si «localizar» no es cero, devuelve los nombres en el idioma actual. " "El argumento «códigos» es una lista separada por comas." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -20603,166 +20627,174 @@ msgid "English (Australia)" msgstr "Inglés (Australia)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 +msgid "English (Japan)" +msgstr "Inglés (Japón)" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "Inglés (Alemania)" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 msgid "English (Bulgaria)" msgstr "Inglés (Bulgaria)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "Inglés (Nueva Zelanda)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "Inglés (Canadá)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "Inglés (Grecia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "Inglés (India)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "Inglés (Nepal)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "Inglés (Tailandia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "Inglés (Turquía)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "Inglés (Chipre)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "Inglés (República Checa)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "Inglés (Pakistán)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "Inglés (Croacia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "Inglés (Indonesia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "Inglés (Israel)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "Inglés (Rusia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "Inglés (Singapur)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "Inglés (Yemen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "Inglés (Irlanda)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "Ingles (Chino)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "Inglés (Sudáfrica)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "Español (Paraguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "Español (Uruguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "Español (Argentina)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "Español (México)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "Español (Cuba)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "Español (Chile)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "Español (Ecuador)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "Español (Honduras)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "Español (Venezuela)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "Español (Bolivia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "Español (Nicaragua)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "Español (Colombia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "Alemán (AT)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "Francés (BE)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "Neerlandés (NL)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "Neerlandés (BE)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "AM" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "PM" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "AM" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "PM" diff --git a/src/calibre/translations/et.po b/src/calibre/translations/et.po index 86a19f49d7..e9cf1e0181 100644 --- a/src/calibre/translations/et.po +++ b/src/calibre/translations/et.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-09-29 22:31+0000\n" "Last-Translator: viki <viki@kodune.net>\n" "Language-Team: Estonian <et@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:56+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:20+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Ei tee midagi" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Ei tee midagi" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Ei tee midagi" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Ei tee midagi" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Ei tee midagi" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -473,7 +473,7 @@ msgid "Change the way calibre behaves" msgstr "Muuda calibre käitumist" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Lisa enda veergusid" @@ -900,7 +900,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -912,10 +912,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -944,17 +944,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1066,8 +1066,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2782,13 +2782,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2796,7 +2796,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3170,7 +3170,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3608,7 +3608,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4484,52 +4484,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4537,123 +4537,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4661,7 +4661,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4670,13 +4670,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4687,33 +4687,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4803,8 +4807,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5449,7 +5453,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5600,75 +5604,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5798,8 +5802,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5822,6 +5826,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6352,18 +6357,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7230,7 +7239,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7653,10 +7662,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7669,68 +7678,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8018,7 +8027,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9239,7 +9248,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9579,7 +9588,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10858,43 +10867,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10924,7 +10933,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11111,54 +11120,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13948,6 +13957,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14282,7 +14295,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14292,7 +14305,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14344,7 +14357,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14433,13 +14446,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14472,7 +14485,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14480,7 +14493,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14488,7 +14501,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14496,13 +14509,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14536,20 +14549,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14899,40 +14912,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15235,7 +15248,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15485,25 +15498,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15942,64 +15961,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17756,7 +17775,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17779,67 +17798,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17848,7 +17867,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17856,7 +17875,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17864,7 +17883,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17872,7 +17891,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17881,7 +17900,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17890,14 +17909,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17905,7 +17924,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17913,7 +17932,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17969,166 +17988,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/eu.po b/src/calibre/translations/eu.po index d3ff777ecb..3171733eb2 100644 --- a/src/calibre/translations/eu.po +++ b/src/calibre/translations/eu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-12-05 12:34+0000\n" "Last-Translator: gariko <gariko_jaso@yahoo.es>\n" "Language-Team: http://librezale.org/wiki/Calibre\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-06 05:27+0000\n" -"X-Generator: Launchpad (build 14435)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:17+0000\n" +"X-Generator: Launchpad (build 14450)\n" "Language: eu\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -27,8 +27,8 @@ msgstr "Ez du ezer egiten" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -39,8 +39,8 @@ msgstr "Ez du ezer egiten" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -49,8 +49,8 @@ msgstr "Ez du ezer egiten" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -175,7 +175,7 @@ msgstr "Ez du ezer egiten" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -194,7 +194,7 @@ msgstr "Ez du ezer egiten" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -488,7 +488,7 @@ msgid "Change the way calibre behaves" msgstr "Alda ezazu calibreren jokatzeko era" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Gehi itzazu zureak diren zutabeak" @@ -963,7 +963,7 @@ msgstr "Desgaitu izendaturiko gehigarria." #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -976,10 +976,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Bai" @@ -1008,7 +1008,7 @@ msgstr "Araztu saioa" msgid "Communicate with Android phones." msgstr "Android telefonoekin komunikatu." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -1016,11 +1016,11 @@ msgstr "" "Gailuan dagoen komen bitartez bereizitako direktorioen zerrenda, liburu " "elektronikoak hara igortzeko. Existitzen den lehena erabiliko da." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "S60 telefonoekin komunikatu." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "Komunikatu WebOS tablets enpresakoekin." @@ -1146,8 +1146,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -3219,7 +3219,7 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "zerrenda osoa ikusteko deskripzio eta guzti." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." @@ -3227,7 +3227,7 @@ msgstr "" "HTML fitxategietako zeharkako estekak (traverse links) zabaleran bilatu " "(breadth first) Normalean, sakoneran bilatu egiten dira zeharkakoak." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3238,7 +3238,7 @@ msgstr "" "izango da negatiboa izan. 0 horrek adierazten du HTML erro-fitxategian ez " "dagoela jarraibidea dakarren estekarik. Lehenetsita hauxe: %default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3678,7 +3678,7 @@ msgstr "AKATSA TXANTILOIAN" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "Ez" @@ -4143,7 +4143,7 @@ msgstr "Aitzinsolasa" msgid "Main Text" msgstr "Testu nagusia" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "%s liburuen formatuekin ezin. Oraingoz sostengurik ez" @@ -5132,52 +5132,52 @@ msgstr "Esportatu katalogoaren direktorioa" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "Ez da liburutegirik aurkitu" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "Liburutegi honen helbide berria:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "Liburutegia mugitua" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "Liburutegia ahaztu" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "Liburutegiaren kokapen berria" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "%s kokapenan ez da calibre liburutegirik aurkitu" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "Liburutegia aukeratu" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Choose calibre library to work with" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Aldatu/sortu liburutegia..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -5185,83 +5185,83 @@ msgstr "Aldatu/sortu liburutegia..." msgid "%d books" msgstr "%d books" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Aldaketa azkarra" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Liburutegiari izena aldatu" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "Liburutegia ezabatu" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "Hartu liburu bat ausaz" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Liburutetiaren mantentzea" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "Liburutegiaren metadatuen babes kopiaren egoera" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "Hasi liburu guztien metadatuen babes kopia egiten" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Ikuskatu liburutegia" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "Berrezarri datu basea" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Aldatu izena" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "Aukeratu liburutegirako izen berria <b>%s</b>. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" "Kontuan izan oraingo liburutegi karpetari izena aldatu egingo zaiola." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Hori badago dagoeneko" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "Dagoeneko badago %s izeneko karpeta. Ezaba ezazu lehen eta behin." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "Luzeegia" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Huts egin du berrizendatzerakoan" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " @@ -5271,11 +5271,11 @@ msgstr "" "denean gehienetan izaten da liburutegiko fitxategi bat dagoeneko zabalik " "egoten delako beste programa baten menpe." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "Liburutegia ezabatua" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " @@ -5284,30 +5284,30 @@ msgstr "" "%s liburutuegia calibretik ezabatu da. Ordenagailuan fitxategiak geratzen " "dira, ezabatu nahi izatez gero, eskuz egin beharko duzu." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "ezer ere ez" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "Babes-kopiaren egoera" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "Idazteko geratzen diren liburuen metadatu fitxategiak : %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "Metadatuen babes kopia" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -5315,7 +5315,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -5324,13 +5324,13 @@ msgstr "" msgid "Success" msgstr "Ongi burutu da" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -5341,27 +5341,31 @@ msgstr "" msgid "Failed" msgstr "Huts egin du" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "Ez da arazorik aurkitu" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Not allowed" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5369,7 +5373,7 @@ msgstr "" "Ezin dituzu liburutegiak aldatu CALIBRE_OVERRIDE_DATABASE_PATH ingurugiro " "aldakorra erabiltzen ari zaren bitartean." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" "Ezin dezakezu liburutegiak aldatu lanak exekutatzen dauden bitartean." @@ -5463,8 +5467,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -6136,7 +6140,7 @@ msgid "Search for this %s" msgstr "Bilatu %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "Dendak" @@ -6295,47 +6299,47 @@ msgstr "Bilatzen hemen:" msgid "Adding..." msgstr "Gehitzen..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Bilatzen azpi-direktorioetan..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Bide (Path) errore" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "Zehaztutako direktorioa ezin izan da prozesatu." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Libururik ez" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Ez da libururik aurkitu" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "Baimenik ez" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Gehituta" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Gehiketak huts egin du" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -6344,11 +6348,11 @@ msgstr "" "calibre berrabiarazten eta liburuak multzo txikiagoetan gehitzen; segi " "horrela problemak sortzen dituen liburua topatu arte." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Bikoiztutakoak aurkitu dira!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" @@ -6356,19 +6360,19 @@ msgstr "" "Dagoeneko datu basean badago izenburu berbera duen libururik. Hala eta " "guztiz ere, gehitu?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Bikoiztutakoak gehitzen..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Gordetzen..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "Datuak biltzen, itxaron mesedez..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Gordeta" @@ -6510,8 +6514,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6539,6 +6543,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "Dohaintza egin" @@ -7076,7 +7081,7 @@ msgstr "Ikuspegi arrunta" msgid "HTML Source" msgstr "HTML iturburua" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " @@ -7086,11 +7091,15 @@ msgstr "" "gordetako bihurketen balioak (horrelakorik balego), erabili beharrean " "Lehentasunetan zehaztutako balio lehenetsiak." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Bihurtu multzoka" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Helburu formatuarentzako berariazko aukerak." @@ -7983,7 +7992,7 @@ msgstr "Gertaerak:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -8420,10 +8429,10 @@ msgstr "Liburu-azalen arakatzailea ezin izan da kargatu" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -8436,32 +8445,32 @@ msgid "Undefined" msgstr "Definitu gabea" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "izarra(k)" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Baloraziorik gabea" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "Ezarri '%s' gaurko eguna adierazteko" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "'%s' garbitu" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " aurkibidea:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" @@ -8469,23 +8478,23 @@ msgstr "" "\"{0}\" zerrendatzeak badu balio ez duen datu bat eta lehenetsitako baliora " "aldatuko da" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "Aldaketak aplikatu" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "Ezabatu sailak" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "Liburuen zenbaketa automatikoa" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "behartu zenbakia honekin hasten " -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" @@ -8493,15 +8502,15 @@ msgstr "" "\"{0}\" zerrendatze horrek baditu balio ez duen daturik eta horrelakorik ez " "da zerrendan agertuko" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Ezabatu etiketa guztiak" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "gehitzeko etiketak" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "ezabatzeko etiketak" @@ -8806,7 +8815,7 @@ msgid "My Books" msgstr "Nire liburuak" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Sortu katalogoa" @@ -10114,7 +10123,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "Denak" @@ -10454,7 +10463,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -11773,43 +11782,43 @@ msgstr "" msgid "Unavailable" msgstr "Ez dago erabilgarri" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Lanak:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Maiusk+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "Egin klik lanen zerrenda ikusteko" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - Lanak" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -11839,7 +11848,7 @@ msgstr "&Lasterbidea:" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -12029,54 +12038,54 @@ msgstr "Ezabatzeko markatuta" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Egin ezazu klik birritan <b>editatzeko</b><br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "Ezkutatu %s zutabea" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "%s -en arabera sailkatu" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "Gorantz" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "Beherantz" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "Alda ezazu testuaren lerrokatzea %s horretarako" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "Ezkerretara" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "Eskuinetara" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "Erdian" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "Erakutsi zutabea" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "Berrezarri lehenetsitako diseinua" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -15050,6 +15059,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "Txandakatu liburutegi ikuspegien eta irakurgailu ikuspegien artean" @@ -15389,7 +15402,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -15399,7 +15412,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -15451,7 +15464,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -15540,13 +15553,13 @@ msgid "Search:" msgstr "Bilatu:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -15579,7 +15592,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -15587,7 +15600,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -15595,7 +15608,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -15603,13 +15616,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -15643,20 +15656,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -16024,40 +16037,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "Bihurtu %(num)d liburu %(total)d (%(title)s)-etatik" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "Ezin izan dira liburu batzuk bihurtu" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "Liburuak errenkadan jartzen bihurketa multzoka egiteko" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "Errenkadan jartzen " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Eskuratu berriak hemendik " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "Bihurtu dagoen" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -16380,7 +16393,7 @@ msgid "Options to customize the ebook viewer" msgstr "Liburu elektronikoen irakurgailua pertsonalizatzeko aukerak" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "Gogoratu erabilitako azken leiho tamaina" @@ -16639,29 +16652,35 @@ msgstr "Liburu elektronikoa kargatzen..." msgid "Could not open ebook" msgstr "Ezin izan da liburua zabaldu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Liburu elektronikoen irakurgailua kontrolatzeko aukerak" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Zehazten bada, ikustailearen leihoa saiatuko da aurreko aldera etortzen " "hasterakoan." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Hauxe hautatu eginez gero, ikusiko den leihoa saiatuko da pantaila osoa " "zabaltzen hasi eta berehalakoan." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "Inprimatu javascript alerta eta kontsola mezuak kontsolara" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -17152,64 +17171,64 @@ msgstr "" "ostatze-izena edo bestela, calibre exekutatzen ari den ordenagailuko IP " "helbidea." -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "aztertua" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "bai" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "Ez" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "aztertu gabea" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "gaur" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "atzo" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "hilabetehonetan" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "duelaegunbatzuk" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "hutsunea, zuriunea" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "hutsik" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -19274,7 +19293,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -19297,67 +19316,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -19366,7 +19385,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -19374,7 +19393,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -19382,7 +19401,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -19390,7 +19409,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -19399,7 +19418,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -19408,14 +19427,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -19423,7 +19442,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -19431,7 +19450,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -19487,166 +19506,174 @@ msgid "English (Australia)" msgstr "Ingelesa (Australia)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +msgid "English (Bulgaria)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "Ingelesa (Zeelanda Berria)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "Ingelesa (Kanada)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "Ingelesa (India)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "Ingelesa (Thailandia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "Ingelesa (Zipre)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "Ingelesa (Pakistan)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "Ingelesa (Israel)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "Ingelesa (Singapur)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "Ingelesa (Yemen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "Ingelesa (Irlanda / Eire)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "Ingelesa (Txina)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "Gaztelania (Paraguai)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "Alemana (AT)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "Frantsesa (BE)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "Nederlandera (Herbehereak)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "Nederlandera (Belgika)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/fa.po b/src/calibre/translations/fa.po index 6e1abdce0a..519bd3eca6 100644 --- a/src/calibre/translations/fa.po +++ b/src/calibre/translations/fa.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 16:03+0000\n" "Last-Translator: Milad Naseri <m.m.naseri@gmail.com>\n" "Language-Team: Persian <fa@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:04+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:28+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "هیچ کار ویژ ه ای انجام نمی دهد" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "هیچ کار ویژ ه ای انجام نمی دهد" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "هیچ کار ویژ ه ای انجام نمی دهد" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "هیچ کار ویژ ه ای انجام نمی دهد" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "هیچ کار ویژ ه ای انجام نمی دهد" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -467,7 +467,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -902,7 +902,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -914,10 +914,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -946,17 +946,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1068,8 +1068,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2784,13 +2784,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2798,7 +2798,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3173,7 +3173,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3611,7 +3611,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4487,52 +4487,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4540,123 +4540,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4664,7 +4664,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4673,13 +4673,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4690,33 +4690,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4806,8 +4810,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5452,7 +5456,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5603,75 +5607,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5801,8 +5805,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5825,6 +5829,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6355,18 +6360,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7233,7 +7242,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7656,10 +7665,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7672,68 +7681,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8021,7 +8030,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9242,7 +9251,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9582,7 +9591,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10861,43 +10870,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10927,7 +10936,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11114,54 +11123,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13951,6 +13960,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14285,7 +14298,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14295,7 +14308,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14347,7 +14360,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14436,13 +14449,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14475,7 +14488,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14483,7 +14496,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14491,7 +14504,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14499,13 +14512,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14539,20 +14552,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14902,40 +14915,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15238,7 +15251,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15488,25 +15501,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15945,64 +15964,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17759,7 +17778,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17782,67 +17801,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17851,7 +17870,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17859,7 +17878,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17867,7 +17886,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17875,7 +17894,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17884,7 +17903,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17893,14 +17912,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17908,7 +17927,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17916,7 +17935,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17972,166 +17991,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/fi.po b/src/calibre/translations/fi.po index 0687288954..335c15daa9 100644 --- a/src/calibre/translations/fi.po +++ b/src/calibre/translations/fi.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-19 10:47+0000\n" "Last-Translator: Olli-Pekka Kurppa <Unknown>\n" "Language-Team: Finnish <fi@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:57+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:21+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Ei tee mitään" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Ei tee mitään" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Ei tee mitään" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Ei tee mitään" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Ei tee mitään" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -469,7 +469,7 @@ msgid "Change the way calibre behaves" msgstr "Muuta calibren käyttäytymistä." #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Lisää omia sarakkeita" @@ -926,7 +926,7 @@ msgstr "Poista nimetty lisäosa käytöstä" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -938,10 +938,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -970,7 +970,7 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Kommunikoi Android-puhelinten kanssa." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -978,11 +978,11 @@ msgstr "" "Pilkulla eroteltu lista laitteen hakemistoista, joihin e-kirjat lähetetään. " "Ensimmäistä olemassaolevaa käytetään" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Kommunikoi S60-puhelimien kanssa." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1099,8 +1099,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2877,13 +2877,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2891,7 +2891,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3268,7 +3268,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3706,7 +3706,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4582,52 +4582,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4635,123 +4635,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4759,7 +4759,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4768,13 +4768,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4785,33 +4785,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4901,8 +4905,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5547,7 +5551,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5698,75 +5702,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5896,8 +5900,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5920,6 +5924,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6450,18 +6455,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7328,7 +7337,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7751,10 +7760,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7767,68 +7776,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8116,7 +8125,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9337,7 +9346,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9677,7 +9686,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10956,43 +10965,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -11022,7 +11031,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11209,54 +11218,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14046,6 +14055,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14380,7 +14393,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14390,7 +14403,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14442,7 +14455,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14531,13 +14544,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14570,7 +14583,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14578,7 +14591,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14586,7 +14599,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14594,13 +14607,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14634,20 +14647,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14997,40 +15010,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15333,7 +15346,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15583,25 +15596,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -16040,64 +16059,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17854,7 +17873,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17877,67 +17896,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17946,7 +17965,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17954,7 +17973,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17962,7 +17981,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17970,7 +17989,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17979,7 +17998,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17988,14 +18007,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -18003,7 +18022,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -18011,7 +18030,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -18067,166 +18086,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/fo.po b/src/calibre/translations/fo.po index 12e2bd3b1c..c8de52f7d6 100644 --- a/src/calibre/translations/fo.po +++ b/src/calibre/translations/fo.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 17:17+0000\n" "Last-Translator: Kovid Goyal <Unknown>\n" "Language-Team: Faroese <fo@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:57+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:20+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -464,7 +464,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -886,7 +886,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -898,10 +898,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -930,17 +930,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1052,8 +1052,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2768,13 +2768,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2782,7 +2782,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3154,7 +3154,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3592,7 +3592,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4468,52 +4468,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4521,123 +4521,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4645,7 +4645,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4654,13 +4654,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4671,33 +4671,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4787,8 +4791,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5433,7 +5437,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5584,75 +5588,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5782,8 +5786,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5806,6 +5810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6336,18 +6341,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7214,7 +7223,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7637,10 +7646,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7653,68 +7662,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8002,7 +8011,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9223,7 +9232,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9563,7 +9572,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10842,43 +10851,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10908,7 +10917,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11095,54 +11104,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13932,6 +13941,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14266,7 +14279,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14276,7 +14289,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14328,7 +14341,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14417,13 +14430,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14456,7 +14469,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14464,7 +14477,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14472,7 +14485,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14480,13 +14493,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14520,20 +14533,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14883,40 +14896,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15219,7 +15232,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15469,25 +15482,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15926,64 +15945,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17740,7 +17759,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17763,67 +17782,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17832,7 +17851,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17840,7 +17859,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17848,7 +17867,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17856,7 +17875,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17865,7 +17884,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17874,14 +17893,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17889,7 +17908,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17897,7 +17916,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17953,166 +17972,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/fr.po b/src/calibre/translations/fr.po index 81d80fcd6e..48402cd79f 100644 --- a/src/calibre/translations/fr.po +++ b/src/calibre/translations/fr.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.22\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" -"PO-Revision-Date: 2011-12-07 22:01+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" +"PO-Revision-Date: 2011-12-09 21:51+0000\n" "Last-Translator: sengian <Unknown>\n" "Language-Team: Français <kde-i18n-doc@kde.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2011-12-08 05:35+0000\n" -"X-Generator: Launchpad (build 14443)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:21+0000\n" +"X-Generator: Launchpad (build 14450)\n" "X-Poedit-Bookmarks: 1177,1104,-1,-1,-1,-1,-1,-1,-1,-1\n" "Generated-By: pygettext.py 1.5\n" @@ -28,8 +28,8 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -40,8 +40,8 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -50,8 +50,8 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -176,7 +176,7 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -195,7 +195,7 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -491,7 +491,7 @@ msgid "Change the way calibre behaves" msgstr "Changer le comportement de calibre" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Ajouter vos colonnes personnalisées" @@ -960,7 +960,7 @@ msgstr "Désactive le plugin nommé" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -973,10 +973,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Oui" @@ -1005,7 +1005,7 @@ msgstr "Journal de débogage" msgid "Communicate with Android phones." msgstr "Communiquer avec les téléphones Android" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -1013,11 +1013,11 @@ msgstr "" "Liste de répertoires séparés par des virgules utilisée pour envoyer les " "ebooks vers l'appareil. Le premier existant sera utilisé." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Communiquer avec les téléphones S60" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "Communique avec une tablette WebOS" @@ -1158,8 +1158,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -3302,7 +3302,7 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "pour une liste compléte avec les descriptions." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." @@ -3310,7 +3310,7 @@ msgstr "" "Parcourir les liens dans les fichier HTML en largeur en premier. " "Normalement, ils sont parcourus en profondeur en premier." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3321,7 +3321,7 @@ msgstr "" "HTML. Ne doit pas être négatif. 0 implique qu'aucun lien à la racine du " "fichier HTML ne sera suivi. Par défaut : %default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3756,7 +3756,7 @@ msgstr "ERREUR DE MODELE" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "Non" @@ -4262,7 +4262,7 @@ msgstr "Préface" msgid "Main Text" msgstr "Texte principal" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "Les livres au format %s ne sont pas supportés" @@ -5321,12 +5321,12 @@ msgstr "Répertoire d'export du catalogue" msgid "Select destination for %(title)s.%(fmt)s" msgstr "Sélectionner la destination pour %(title)s.%(fmt)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "Aucune bibliothèque n'a été trouvée" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " @@ -5336,40 +5336,40 @@ msgstr "" "déplacée, sélectionner le nouvel emplacement ci-dessous. Sinon calibre " "oubliera cette librairie." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "Nouvel emplacement de cette librairie:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "Bibliothèque déplacée" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "Oublier la bibliothèque" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "Nouvel emplacement de la librairie" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "Aucune librairie existante trouvée à %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "Choisir la librairie" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Choisissez la bibliothèque Calibre avec laquelle travailler" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Créer/Changer de bibliothèque ..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -5377,82 +5377,82 @@ msgstr "Créer/Changer de bibliothèque ..." msgid "%d books" msgstr "%d livres" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Bascule rapide" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Renommer la bibliothèque" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "Supprimer la bibliothèque" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "Choisir un livre au hasard" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Maintenance de la bibliothèque" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "Statut de la sauvegarde des métadonnées de la bibliothèque" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "Commencer à sauvegarder les métadonnées de tous les livres" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Vérifier la bibliothèque" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "Restaurer la base de données" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Renommer" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "Choisissez un nouveau nom pour la bibliothèque <b>%s</b>. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "Attention le dossier de la bibliothèque va être renommé" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Existe déjà" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "Le dossier %s existe déjà. Effacez le d'abord." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "Trop long" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Échec du renommage" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " @@ -5462,11 +5462,11 @@ msgstr "" "commune de cet échec est due à l'ouverture d'un des fichiers de la " "bibliothèque dans un autre programme." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "Librairie supprimée" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " @@ -5475,24 +5475,24 @@ msgstr "" "La librairie %s a été supprimée de calibre. Les fichiers restent sur votre " "ordinateur, si vous voulez les supprimer, vous devrez le faire manuellement." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "aucun" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "Statut de la sauvegarde" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "Fichiers de métadonnées livre restant à écrire : %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "Sauvegarder les métadonnées" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." @@ -5500,7 +5500,7 @@ msgstr "" "Les métadonnées vont être sauvegardées pendant l'exécution de Calibre, à un " "rythme approximatif de 0.33 livre/seconde." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -5512,7 +5512,7 @@ msgstr "" "court en utilisant l'Explorateur Windows, ensuite faites pointer calibre " "vers ce nouvel emplacement et essayer de nouveau." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -5521,7 +5521,7 @@ msgstr "" msgid "Success" msgstr "Succès" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" @@ -5530,7 +5530,7 @@ msgstr "" "Calibre. Voulez-vous que calibre vérifie si les fichiers de votre " "bibliothèque correspondent bien aux informations de la base de données?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -5541,31 +5541,36 @@ msgstr "" msgid "Failed" msgstr "Echec" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" "La vérification de l'intégrité de la base de données à échouée, cliquer " "Afficher les détails pour plus de détails." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" +"Démarrage du scan de la bibliothèque, ceci peut prendre un certain temps" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "Aucun problème trouvé" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" "Les fichiers dans votre bibliothèque correspondent bien aux informations " "dans la base de données." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Interdit" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5573,7 +5578,7 @@ msgstr "" "Vous ne pouvez pas changer de bibliothèque tant que la variable " "d'environnement CALIBRE_OVERRIDE_DATABASE_PATH est défine." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" "Vous ne pouvez pas changer de bibliothèque pendant que des travaux sont en " @@ -5669,8 +5674,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -6381,7 +6386,7 @@ msgid "Search for this %s" msgstr "Rechercher avec %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "Boutiques" @@ -6553,33 +6558,33 @@ msgstr "Recherche dans" msgid "Adding..." msgstr "Ajout..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Recherche dans tous les sous-répertoires..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Chemin de l'erreur" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "Le chemin spécifié ne peut pas être traité." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Aucun livre" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Aucun livre trouvé" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "Aucune permission" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." @@ -6587,15 +6592,15 @@ msgstr "" "Impossible d'ajouter quelques fichiers car vous n'avez pas la permission d'y " "accéder. Cliquer Afficher Détails pour voir la liste de ces fichiers." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Ajouté" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "L'ajout a échoué" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -6604,11 +6609,11 @@ msgstr "" "redémarrer Calibre et ajoutez les livres avec un incrément plus petit, " "jusqu'à ce que vous trouviez le livre problèmatique." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Des doublons ont été détectés !" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" @@ -6616,19 +6621,19 @@ msgstr "" "Des livres avec des titres identiques à ceux qui suivent existent déjà la " "base. Voulez-vous quand-même les ajouter ?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Ajoute les doublons..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Sauvegarde..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "Collecte des données, veuillez patienter..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Sauvegardé" @@ -6768,8 +6773,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6796,6 +6801,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "Faire un don" @@ -7349,7 +7355,7 @@ msgstr "Vue normale" msgid "HTML Source" msgstr "Source HTML" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " @@ -7360,11 +7366,15 @@ msgstr "" "(s'ils existent) à la place des valeurs par défaut spécifiées dans les " "préférences." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "Aucun des livres sélectionnés n'a de paramètres de conversion" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Conversion de masse" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Options spécifiques pour le format de sortie." @@ -8294,7 +8304,7 @@ msgstr "Occurrences:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -8754,10 +8764,10 @@ msgstr "Le navigateur de coverture ne peut ête chargé" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -8770,32 +8780,32 @@ msgid "Undefined" msgstr "Indéfini(e)" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "étoile(s)" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Non noté" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "Définir '%s' à aujourd'hui" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "Effacer '%s'" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " index :" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" @@ -8803,23 +8813,23 @@ msgstr "" "L'énumération \"{0}\" contient une valeur non valide qui va être fixée à sa " "valeur par défaut" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "Appliquer les modifications" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "Effacer les series" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "Nummérotation automatique des livres" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "Force les nombres à commencer par " -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" @@ -8827,15 +8837,15 @@ msgstr "" "L'énumération \"{0}\" contient des valeurs non valides qui ne vont pas " "apparaître dans la liste" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Supprimer toutes les étiquettes" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "étiquettes à ajouter" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "étiquettes à supprimer" @@ -9148,7 +9158,7 @@ msgid "My Books" msgstr "Mes Livres" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Générer le catalogue" @@ -10580,7 +10590,7 @@ msgstr "Historique des versions pour %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "Tout" @@ -10941,7 +10951,7 @@ msgstr "Articles" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -12353,43 +12363,43 @@ msgstr "" msgid "Unavailable" msgstr "Indisponible" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Travaux :" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Maj+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "Cliquer pour afficher la liste des travaux" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - Travaux" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "Chercher une tâche par son nom" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 msgid "No job" msgstr "Pas de travail" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "Pas de travail sélectionné" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "Voulez-vous vraiment arrêter le travail sélectionné ?" msgstr[1] "Voulez-vous vraiment arrêter les travaux sélectionnés ?" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" "Voulez-vous réellement arrêter tous les travaux qui ne sont pas liés à " @@ -12421,7 +12431,7 @@ msgstr "&Raccourci clavier :" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -12618,54 +12628,54 @@ msgstr "Marqué pour suppression" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Double clic pour m' <b>éditer</b><br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "Cacher la colonne %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "Trier par %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "Ascendant" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "Descendant" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "Changer l'alignement du texte pour %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "Gauche" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "Droite" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "Centre" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "Afficher la colonne" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "Rétrécir la colonne si elle est trop large pour le contenu" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "Restaurer l'affichage par défaut" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -15965,6 +15975,10 @@ msgstr "" "Code du &Programme : (soyez sûr de respecter les règles d'indentation du " "python)" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "Basculer entre les affichages bibliothèque et appareil" @@ -16324,7 +16338,7 @@ msgid "Nam&e/Description ..." msgstr "Nom/D&escription..." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "Requête:" @@ -16334,7 +16348,7 @@ msgid "Enable" msgstr "Activer" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "Inverser" @@ -16395,7 +16409,7 @@ msgstr "" "magasin est limité uniquement à ce marché." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -16485,13 +16499,13 @@ msgid "Search:" msgstr "Chercher:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "Livres:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -16524,7 +16538,7 @@ msgstr "Télécharger" msgid "Price" msgstr "Prix" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -16535,7 +16549,7 @@ msgstr "" "que le prix est correct. Le prix n'inclut souvent pas les promotions que la " "boutique peut proposer." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -16548,7 +16562,7 @@ msgstr "" "avant de faire une quelconque acquisition pour s'assurer que vous pouvez " "effectivement lire le livre." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -16561,7 +16575,7 @@ msgstr "" "nouveau le statut DRM dans la boutique. La boutique peut ne pas divulguer " "l'utilisation de DRM." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." @@ -16569,7 +16583,7 @@ msgstr "" "Le statut DRM de ce libre n'a pas pu être determiné. Il y a de grande " "chances que ce livre soit actuellement soumis à des restrictions DRM." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "Les formats suivants peuvent être téléchargés directement: %s" @@ -16604,20 +16618,20 @@ msgstr "Impossible de trouver des livres correspondant à votre requête." msgid "Choose format to download to your library." msgstr "Choisir le format à télécharger dans votre librairie." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "Obtenir Des Livres" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "Ouvrir un livre sélectionné dans le navigateur web du système" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "Ouvrir dans un navigateur &externe" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "Non Disponible" @@ -17000,12 +17014,12 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "Conversion du livre %(num)d sur %(total)d (%(title)s)" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "Impossible de convertir certains livres" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " @@ -17014,28 +17028,28 @@ msgstr "" "Impossible de convertir %(num)d sur %(tot)d livres, car aucun format " "convenable pour la source n'a été trouvé" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "Mise en file d'attente des livres pour la conversion par lot" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "Mise en file d'attente " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "Converti le livre %(num)d sur %(tot)d (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Récupérer des News de " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "Conversion existante" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -17361,7 +17375,7 @@ msgid "Options to customize the ebook viewer" msgstr "Options pour personnalier l'afficheur d'ebook" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "Se souvenir de la dernière taille de fenêtre utilisée" @@ -17625,30 +17639,38 @@ msgstr "Charge l'ebook..." msgid "Could not open ebook" msgstr "Impossible d'ouvrir l'ebook" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Options pour contrôler l'afficheur d'ebook" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Si spécifié, la fenêtre de l'afficheur essaiera d'apparaitre au premier plan " "au lancement." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Si précisé, la fenêtre de l'afficheur essaiera de s'ouvrir en plein écran au " "démarrage." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" "Afficher les alertes javascript et les messages console dans la console" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" +"La position à laquelle ouvrir le livre indiqué. Cette position est un " +"endroit tel celui qui est affiché dans le coin inférieur gauche du lecteur." + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -18155,64 +18177,64 @@ msgstr "" "Stanza de votre iPhone. Ici nomhote doit être le nom d'hôte complet ou " "l'adresse IP de l'ordinateur sur lequel Calibre est démarré." -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "Vérifié" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "Oui" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "Non" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "Non vérifié" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "Aujourd'hui" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "Hier" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "Ce mois-ci" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "il y a quelques jours" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "vierge" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "Vide" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "Requête booléenne invalide \"{0}\"" @@ -20545,7 +20567,7 @@ msgstr "" "#genre de \"A.B.C, D.E.F\", {#genre:subitems(0,1)} retourne \"A, D\". " "{#genre:subitems(0,2)} retourne \"A.B, D.E\"" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -20568,27 +20590,27 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "uppercase(val) -- renvoie la valeur du champ en majuscule" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "lowercase(val) -- renvoie la valeur du champ en miniscule" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "titlecase(val) -- renvoie la valeur du champ pour le titre" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "capitalize(val) -- renvoie la valeur du champ en lettres capitales" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "booksize() -- renvoie la valeur du champ taille" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" @@ -20596,7 +20618,7 @@ msgstr "" "ondevice() -- renvoie Yes si ondevice est précisé, sinon renvoie une chaîne " "vide" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" @@ -20604,7 +20626,7 @@ msgstr "" "has_cover() -- renvoie Yes si le livre a une couverture, sinon renvoie une " "chaine vide" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " @@ -20614,7 +20636,7 @@ msgstr "" "Si toutes les valeurs sont vides, alors la valeur vide est renvoyée. Vous " "pouvez avoir autant de valeurs que vous voulez." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " @@ -20625,7 +20647,7 @@ msgstr "" "bien avec test ou first_non_empty. Vous pouvez avoir autant de valeurs que " "vous voulez." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " @@ -20635,7 +20657,7 @@ msgstr "" "vide, sinon renvoie la chaine vide. Cette fonction fonctionne très bien avec " "test ou first_non_empty. Vous pouvez avoir autant de valeurs que vous voulez." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " @@ -20645,7 +20667,7 @@ msgstr "" "la chaine vide. Cette fonction fonctionne très bien avec test ou " "first_non_empty. Vous pouvez avoir autant de valeurs que vous voulez." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -20659,7 +20681,7 @@ msgstr "" "de la liste 1 est utilisé. Les éléments des listes 1 et 2 sont séparés par " "le séparateur, comme ceux de la liste retournée." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -20671,7 +20693,7 @@ msgstr "" "une comparaison insensible à la casse. Les éléments des listes 1 et 2 sont " "séparés par le séparateur, comme ceux de la liste retournée." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -20684,7 +20706,7 @@ msgstr "" "des listes 1 et 2 sont séparés par le séparateur, comme ceux de la liste " "retournée." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -20696,7 +20718,7 @@ msgstr "" "est triée de manière ascendante, sinon descendante. Les éléments des listes " "1 et 2 sont séparés par le séparateur, comme ceux de la liste retournée." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -20710,7 +20732,7 @@ msgstr "" "approprié (sep1 or sep2). L'ordre des éléments dans la liste n'est pas pris " "en compte. La comparaison est insensible à la casse." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -20725,7 +20747,7 @@ msgstr "" "pas une chaine vide, le remplacement est appliqué avance d'ajouter l’élément " "dans la liste retournée." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " @@ -20735,7 +20757,7 @@ msgstr "" "pour être utiliser avec format_date ou days_between, mais peut être " "manipulée comme toute autre chaine. La date est au format ISO." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -20747,7 +20769,7 @@ msgstr "" "négatif. Si date1 ou date2 ne sont pas des dates, la fonction renvoie une " "chaîne vide." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -20760,7 +20782,7 @@ msgstr "" "chaines dans la langue utilisée actuellement. Lang_codes est une liste " "séparée par des virgules." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -20820,166 +20842,174 @@ msgid "English (Australia)" msgstr "Anglais (Australie)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 +msgid "English (Japan)" +msgstr "Anglais (Japon)" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "Anglais (Allemagne)" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 msgid "English (Bulgaria)" msgstr "Anglais (Bulgarie)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "Anglais (Nouvelle-Zélande)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "Anglais (Canada)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "Anglais (Grèce)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "Anglais (Inde)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "Anglais (Népal)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "Anglais (Thaïlande)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "Anglais (Turquie)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "Anglais (Chypre)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "Anglais (République Tchèque)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "Anglais (Pakistan)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "Anglais (Croatie)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "Anglais (Indonésie)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "Anglais (Israël)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "Anglais (Russie)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "Anglais (Singapour)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "Anglais (Yemen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "Anglais (Irlande)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "Anglais (Chine)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "Anglais (Afrique du sud)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "Espagnol (Paraguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "Espagnol (Uruguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "Espagnol (Argentine)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "Espagnol (Mexique)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "Espagnol (Cuba)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "Espagnol (Chili)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "Espagnol (Equateur)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "Espagnol (Honduras)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "Espagnol (Venezuela)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "Espagnol (Bolivie)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "Espagnol (Nicaragua)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "Espagnol (Colombie)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "Allemand (AT)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "Français (BE)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "Néerlandais (NL)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "Flamand (BE)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "Matin" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "Après-midi" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "matin" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "après midi" diff --git a/src/calibre/translations/gl.po b/src/calibre/translations/gl.po index 6712dda073..81d140d168 100644 --- a/src/calibre/translations/gl.po +++ b/src/calibre/translations/gl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 16:19+0000\n" "Last-Translator: Miguel Anxo Bouzada <mbouzada@gmail.com>\n" "Language-Team: dev@gl.openoffice.org\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:58+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:22+0000\n" +"X-Generator: Launchpad (build 14450)\n" "Language: gl\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -27,8 +27,8 @@ msgstr "Non facer nada" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -39,8 +39,8 @@ msgstr "Non facer nada" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -49,8 +49,8 @@ msgstr "Non facer nada" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -175,7 +175,7 @@ msgstr "Non facer nada" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -194,7 +194,7 @@ msgstr "Non facer nada" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -473,7 +473,7 @@ msgid "Change the way calibre behaves" msgstr "Cambiar o modo en que se comporta o Calibre" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Engadir as súas propias columnas" @@ -937,7 +937,7 @@ msgstr "Desactivar o engadido sinalado" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -949,10 +949,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Si" @@ -981,7 +981,7 @@ msgstr "Rexistro de depuración" msgid "Communicate with Android phones." msgstr "Comunicar con teléfonos Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -989,11 +989,11 @@ msgstr "" "Lista de cartafoles, separados por comas, onde almacenar os libros no " "dispositivo. Usarase o primeiro que exista" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Comunicar con teléfonos S60" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1129,8 +1129,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -3142,7 +3142,7 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "para una lista completa con descricións." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." @@ -3150,7 +3150,7 @@ msgstr "" "Facer unha recollida en largura das ligazóns en ficheiros HTML. Normalmente, " "faise unha recollida en profundidade." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3161,7 +3161,7 @@ msgstr "" "ser negativo. O valor 0 implica que non se seguirá ningunha ligazón no " "ficheiro HTML raíz. O valor predeterminado é %default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3573,7 +3573,7 @@ msgstr "ERRO DE MODELO" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "Non" @@ -4034,7 +4034,7 @@ msgstr "Prefacio" msgid "Main Text" msgstr "Texto principal" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "O formato de libros %s non está admitido" @@ -5065,52 +5065,52 @@ msgstr "Exportar o cartafol do catálogo" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "Non foi posíbel atopar a biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Elixir a biblioteca do Calibre para traballar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Cambiar/crear biblioteca..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -5118,82 +5118,82 @@ msgstr "Cambiar/crear biblioteca..." msgid "%d books" msgstr "%d libros" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Cambio rápido" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Renomear biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "Escolla un libro aleatoriamente" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Mantemento da biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "Estado da copia de seguranza dos metadatos da biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "Iniciar o copiado de seguranza dos metadatos de todos os libros" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Comprobar a biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "Restaurar a base de datos" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Renomear" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "Escolla un novo nome para a biblioteca <b>%s</b>. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "Teña en conta que se lle cambiará o nome do cartafol da biblioteca." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Xa existe" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "O cartafol %s xa existe. Elimíneo antes." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Fallou o renomeado" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " @@ -5202,35 +5202,35 @@ msgstr "" "Fallou o renomeado da biblioteca en %s. A causa máis corrente disto é que un " "dos ficheiros da biblioteca estea aberto noutro programa." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "ningunha" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "Estado da copia de seguranza" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "Ficheiros de metadatos que quedan por escribir: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "Copia de seguranza de metadatos" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." @@ -5238,7 +5238,7 @@ msgstr "" "Farase unha copia de seguranza dos metadatos mentres calibre está en " "execución, a un ritmo aproximado dun libro cada tres segundos." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -5246,7 +5246,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -5255,7 +5255,7 @@ msgstr "" msgid "Success" msgstr "Correcto" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" @@ -5264,7 +5264,7 @@ msgstr "" "calibre comprobe se os ficheiros na biblioteca coinciden coa información da " "base de datos?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -5275,30 +5275,34 @@ msgstr "" msgid "Failed" msgstr "Produciuse un fallo" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" "A comprobación da integridade da base de datos fallou. Pulse en «Mostrar " "detalles» para máis información." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "Non se atoparon problemas" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" "Os ficheiros na biblioteca coinciden coa información da base de datos." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Non permitido" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5306,7 +5310,7 @@ msgstr "" "Non pode cambiar de biblioteca mentres usa a variábel de contorno " "CALIBRE_OVERRIDE_DATABASE_PATH." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "Non pode cambiar de biblioteca mentres haxa traballos en execución." @@ -5400,8 +5404,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -6072,7 +6076,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -6229,47 +6233,47 @@ msgstr "Buscando" msgid "Adding..." msgstr "Engadindo..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Buscando en todos os cartafoles dependentes" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Erro na ruta" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "Non se puido procesar o directorio especificado." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Sen libros" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Non se atoparon libros" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "Permiso denegado" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Engadido" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Produciuse un erro ao engadir" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -6278,11 +6282,11 @@ msgstr "" "reiniciar o Calibre e a engadir libros en grupos máis pequenos ata que atope " "o libro que causa o problema." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Atopáronse duplicados!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" @@ -6290,19 +6294,19 @@ msgstr "" "Xa existen libros co mesmo título que os seguintes na base de datos. Desexa " "engadilos de todos os xeito?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Engadindo os duplicados..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Gardando..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Gardado" @@ -6442,8 +6446,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6470,6 +6474,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -7011,7 +7016,7 @@ msgstr "Vista normal" msgid "HTML Source" msgstr "Código fuente HTML" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " @@ -7021,11 +7026,15 @@ msgstr "" "empregar os valores gardados na conversión anterior (se existen) no canto de " "as especificadas nas Preferencias." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Conversión por petición" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Opcións específicas do formato de saída." @@ -7917,7 +7926,7 @@ msgstr "Casos:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -8359,10 +8368,10 @@ msgstr "Non foi posíbel cargar o explorador de cubertas" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -8375,32 +8384,32 @@ msgid "Undefined" msgstr "Sen definir" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "estrela(s)" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Sen clasificar" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "Estabelecer «%s» a hoxe" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "Limpar «%s»" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " índice:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" @@ -8408,38 +8417,38 @@ msgstr "" "A enumeración «{0}» contén un valor incorrecto que se estabelecerá como " "predeterminado" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "Aplicar os cambios" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "Retirar series" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "Numerar automaticamente os libros" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "Forzar números para comezar con " -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" "A enumeración «{0}» contén valores incorrectos que non aparecerán na lista" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Retirar todas as etiquetas" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "etiquetas para engadir" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "etiquetas para retirar" @@ -8749,7 +8758,7 @@ msgid "My Books" msgstr "Os meus libros" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Xerar catálogo" @@ -10122,7 +10131,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -10467,7 +10476,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -11842,43 +11851,43 @@ msgstr "" msgid "Unavailable" msgstr "Non dispoñíbel" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Tarefas:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Maiús+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "Faga clic para ver a lista de traballos" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - Tarefas" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" "De verdade quere deter todos os traballos que non son de dispositivos?" @@ -11909,7 +11918,7 @@ msgstr "&Atallo:" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -12099,54 +12108,54 @@ msgstr "Marcado para eliminar" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Prema dúas veces para <b>editar</b><br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "Ocultar a columna %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "Ordenar en %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "Ascendente" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "Descendente" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "Cambiar o aliñamento do texto a %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "Esquerda" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "Dereita" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "Centrado" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "Amosar columna" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "Restaurar a disposición por defecto" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -15259,6 +15268,10 @@ msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" "&Código de programación (asegúrese de seguir as regras de sangría de python)" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "Alternar entre a vista da biblioteca e do dispositivo" @@ -15606,7 +15619,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -15616,7 +15629,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -15668,7 +15681,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -15757,13 +15770,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -15796,7 +15809,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -15804,7 +15817,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -15812,7 +15825,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -15820,13 +15833,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -15860,20 +15873,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -16239,40 +16252,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "Convertido o libro %(num)d de %(total)d (%(title)s)" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "Non foi posíbel converter algúns libros" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "Pondo libros na cola para conversión en bloque" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "Pondo na cola " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Obter novas de " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "Xa existe a conversión" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -16592,7 +16605,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opcións para personalizar o visualizador de libros" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "Lembrar o tamaño da última xanela usada" @@ -16851,28 +16864,34 @@ msgstr "Cargando libro..." msgid "Could not open ebook" msgstr "Non se puido abrir o libro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Opcións de control do visor de libros" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Se se especifica, a xanela do visor tentará situarse na fronte cando se " "inicie o programa." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Se se activa, a xanela do visor tentará iniciarse a pantalla completa." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "Dirixir alertas de JavaScript e mensaxes de consola á consola" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -17360,64 +17379,64 @@ msgstr "" "lector Stanza do seu iPhone, onde «meuservidor» é o nome completo ou o " "enderezo IP do equipo onde se executa Calibre." -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "seleccionado" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "si" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "non" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "non seleccionado" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "hoxe" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "onte" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "este mes" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "hai dias" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "en branco" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "baleiro" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -19591,7 +19610,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -19614,69 +19633,69 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "uppercase(val) -- devolve o valor do campo en maiúsculas" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "lowercase(val) -- devolve o valor do campo en minúsculas" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" "titlecase(val) -- devolve o valor do campo coas iniciais en maiúscula" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" "capitalize(val) -- devolve o valor do campo coa primeira letra maiúscula" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -19685,7 +19704,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -19693,7 +19712,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -19701,7 +19720,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -19709,7 +19728,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -19718,7 +19737,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -19727,14 +19746,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -19742,7 +19761,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -19750,7 +19769,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -19806,166 +19825,174 @@ msgid "English (Australia)" msgstr "Inglés (Australia)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +msgid "English (Bulgaria)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "Inglés (Nova Celanda)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "Inglés (Canadá)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "Inglés (India)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "Inglés (Tailandia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "Inglés (Chipre)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "Inglés (Pakistán)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "Inglés (Croacia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "Inglés (Indonesia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "Inglés (Israel)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "Inglés (Singapur)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "Inglés (Iemen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "Inglés (Irlanda)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "Ingles (Chinés)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "Español (Paraguai)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "Español (Uruguai)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "Español (Arxentina)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "Español (México)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "Español (Cuba)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "Español (Chile)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "Español (Ecuador)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "Español (Honduras)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "Español (Venezuela)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "Español (Bolivia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "Español (Nicaragua)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "Alemán (Austria)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "Francés (BE)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "Flamenco (Holanda)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "Flamenco (Bélxica)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/gu.po b/src/calibre/translations/gu.po index 22cbd88a45..f2923220b6 100644 --- a/src/calibre/translations/gu.po +++ b/src/calibre/translations/gu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-20 06:46+0000\n" "Last-Translator: Hasit Bhatt <hasit.p.bhatt@gmail.com>\n" "Language-Team: Gujarati <gu@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:58+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:22+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "કઈ પણ કરતું નથી" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "કઈ પણ કરતું નથી" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "કઈ પણ કરતું નથી" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "કઈ પણ કરતું નથી" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "કઈ પણ કરતું નથી" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -464,7 +464,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -886,7 +886,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -898,10 +898,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -930,17 +930,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1052,8 +1052,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2768,13 +2768,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2782,7 +2782,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3154,7 +3154,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3592,7 +3592,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4468,52 +4468,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4521,123 +4521,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4645,7 +4645,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4654,13 +4654,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4671,33 +4671,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4787,8 +4791,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5433,7 +5437,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5584,75 +5588,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5782,8 +5786,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5806,6 +5810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6336,18 +6341,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7214,7 +7223,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7637,10 +7646,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7653,68 +7662,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8002,7 +8011,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9223,7 +9232,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9563,7 +9572,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10842,43 +10851,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10908,7 +10917,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11095,54 +11104,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13932,6 +13941,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14266,7 +14279,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14276,7 +14289,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14328,7 +14341,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14417,13 +14430,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14456,7 +14469,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14464,7 +14477,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14472,7 +14485,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14480,13 +14493,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14520,20 +14533,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14883,40 +14896,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15219,7 +15232,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15469,25 +15482,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15926,64 +15945,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17740,7 +17759,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17763,67 +17782,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17832,7 +17851,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17840,7 +17859,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17848,7 +17867,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17856,7 +17875,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17865,7 +17884,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17874,14 +17893,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17889,7 +17908,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17897,7 +17916,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17953,166 +17972,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/he.po b/src/calibre/translations/he.po index b2ef5e5852..19f86e6d9b 100644 --- a/src/calibre/translations/he.po +++ b/src/calibre/translations/he.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-11-02 16:40+0000\n" "Last-Translator: nachshon <Unknown>\n" "Language-Team: Hebrew <he@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:59+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:22+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "לא עושה דבר" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "לא עושה דבר" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "לא עושה דבר" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "לא עושה דבר" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "לא עושה דבר" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -466,7 +466,7 @@ msgid "Change the way calibre behaves" msgstr "שנה את אופן הפעולה של קליבר" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "הוסף טורים אישיים" @@ -907,7 +907,7 @@ msgstr "הפסק את הרכיב המצויין" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -919,10 +919,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -951,17 +951,17 @@ msgstr "רשימת פעולת לצורך תיקון שגיאות קוד" msgid "Communicate with Android phones." msgstr "מתקשר עם טלפון Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "רשימת ספריות מופרדות בפסיקל שליחת ספרשת למכשיר." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "תקשר עם סלולרי S60" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1080,8 +1080,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2806,7 +2806,7 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." @@ -2814,7 +2814,7 @@ msgstr "" "עבור על הקישורים בקבצי ה-HTML בצורה רוחבית (breadth first). לרוב המעבר נעשה " "לעומק כל קישור (depth first)." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2822,7 +2822,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3199,7 +3199,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3637,7 +3637,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4513,52 +4513,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4566,123 +4566,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4690,7 +4690,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4699,13 +4699,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4716,33 +4716,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4832,8 +4836,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5478,7 +5482,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5629,75 +5633,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5827,8 +5831,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5851,6 +5855,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6381,18 +6386,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7259,7 +7268,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7682,10 +7691,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7698,68 +7707,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8047,7 +8056,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9268,7 +9277,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9608,7 +9617,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10887,43 +10896,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10953,7 +10962,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11140,54 +11149,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13977,6 +13986,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14311,7 +14324,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14321,7 +14334,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14373,7 +14386,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14462,13 +14475,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14501,7 +14514,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14509,7 +14522,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14517,7 +14530,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14525,13 +14538,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14565,20 +14578,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14928,40 +14941,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15264,7 +15277,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15514,25 +15527,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15971,64 +15990,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17785,7 +17804,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17808,67 +17827,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17877,7 +17896,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17885,7 +17904,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17893,7 +17912,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17901,7 +17920,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17910,7 +17929,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17919,14 +17938,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17934,7 +17953,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17942,7 +17961,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17998,166 +18017,174 @@ msgid "English (Australia)" msgstr "אנגלית (אוסטרליה)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +msgid "English (Bulgaria)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "אנגלית (ניו-זילנד)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "אנגלית (קנדה)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "אנגלית (הודו)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "אנגלית (ישראל)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/hi.po b/src/calibre/translations/hi.po index 4c5122badc..133b2f2ace 100644 --- a/src/calibre/translations/hi.po +++ b/src/calibre/translations/hi.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 16:01+0000\n" "Last-Translator: Kovid Goyal <Unknown>\n" "Language-Team: Hindi <hi@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:59+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:23+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "कुछ भी नहीं करता" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "कुछ भी नहीं करता" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "कुछ भी नहीं करता" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "कुछ भी नहीं करता" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "कुछ भी नहीं करता" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -464,7 +464,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -886,7 +886,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -898,10 +898,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -930,17 +930,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1052,8 +1052,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2768,13 +2768,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2782,7 +2782,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3154,7 +3154,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3592,7 +3592,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4468,52 +4468,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4521,123 +4521,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4645,7 +4645,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4654,13 +4654,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4671,33 +4671,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4787,8 +4791,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5433,7 +5437,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5584,75 +5588,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5782,8 +5786,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5806,6 +5810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6336,18 +6341,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7214,7 +7223,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7637,10 +7646,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7653,68 +7662,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8002,7 +8011,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9223,7 +9232,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9563,7 +9572,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10842,43 +10851,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10908,7 +10917,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11095,54 +11104,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13932,6 +13941,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14266,7 +14279,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14276,7 +14289,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14328,7 +14341,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14417,13 +14430,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14456,7 +14469,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14464,7 +14477,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14472,7 +14485,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14480,13 +14493,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14520,20 +14533,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14883,40 +14896,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15219,7 +15232,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15469,25 +15482,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15926,64 +15945,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17740,7 +17759,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17763,67 +17782,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17832,7 +17851,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17840,7 +17859,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17848,7 +17867,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17856,7 +17875,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17865,7 +17884,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17874,14 +17893,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17889,7 +17908,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17897,7 +17916,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17953,166 +17972,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/hr.po b/src/calibre/translations/hr.po index 3dca651868..2bae1eef56 100644 --- a/src/calibre/translations/hr.po +++ b/src/calibre/translations/hr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 17:51+0000\n" "Last-Translator: Kovid Goyal <Unknown>\n" "Language-Team: Croatian <hr@li.org>\n" @@ -16,8 +16,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:06+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:29+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -27,8 +27,8 @@ msgstr "Uopće ne funkcionira" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -39,8 +39,8 @@ msgstr "Uopće ne funkcionira" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -49,8 +49,8 @@ msgstr "Uopće ne funkcionira" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -175,7 +175,7 @@ msgstr "Uopće ne funkcionira" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -194,7 +194,7 @@ msgstr "Uopće ne funkcionira" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -465,7 +465,7 @@ msgid "Change the way calibre behaves" msgstr "Promijeni način na koji se calibre ponaša" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Dodaj vlastite stupce" @@ -910,7 +910,7 @@ msgstr "Onesposobi imenovani priključak" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -922,10 +922,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Da" @@ -954,17 +954,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Kominiciraj sa Android telefonima." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1076,8 +1076,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2928,7 +2928,7 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." @@ -2936,7 +2936,7 @@ msgstr "" "Poprečne veze u HTML datotekama, širina prvo. Normalno su postavljeni dubina " "prvo." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2947,7 +2947,7 @@ msgstr "" "negativna. 0 predpostavlja da veze u korijenskoj HTML datoteci nisu praćene. " "Standardno je %default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3349,7 +3349,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "Ne" @@ -3797,7 +3797,7 @@ msgstr "Uvod" msgid "Main Text" msgstr "Glavni Tekst" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "Knjige %s formata nisu podržane" @@ -4751,52 +4751,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4804,123 +4804,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Preimenuj" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Već postoki" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Neuspjelo preimenovanje" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "nijedan" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4928,7 +4928,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4937,13 +4937,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4954,33 +4954,37 @@ msgstr "" msgid "Failed" msgstr "Neuspjelo" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Nije dozvoljeno" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -5070,8 +5074,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5716,7 +5720,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5871,47 +5875,47 @@ msgstr "Pretraživanje u" msgid "Adding..." msgstr "Dodavanje..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Pretraživanje u svim pod-direktorijima..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Greška u putu" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "Specificirani direktorij nije mogao biti procesiran." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Nema knjiga" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Nema pronađenih knjiga" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "Bez dozvole" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Dodano" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Neuspjelo dodavanje" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -5919,11 +5923,11 @@ msgstr "" "Proces dodavanja knjiga je zaustavljen. Probajte ponovo pokrenuti calibre i " "dodavati knjige u manjim količinama dok ne pronađete problematičnu knjigu." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Pronađeni duplikati!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" @@ -5931,19 +5935,19 @@ msgstr "" "Knjige sa naslovom identičnim slijedećim već postoje u bazi podataka. Dodaj " "ih, bez obzira?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Dodavanje duplikata..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Spremanje..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Spremljeno" @@ -6073,8 +6077,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6097,6 +6101,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6627,7 +6632,7 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " @@ -6637,11 +6642,15 @@ msgstr "" "vrijednosti spremljene u prethodnoj konverziji (ako postoje) umjesto zadanih " "vrijednosti specificiranih u Postavkama." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Masovna Konverzija" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Opcije specifične za izlazni format." @@ -7521,7 +7530,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7950,10 +7959,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7966,68 +7975,68 @@ msgid "Undefined" msgstr "Nedefinirano" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8320,7 +8329,7 @@ msgid "My Books" msgstr "Moje Knjige" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Generiraj katalog" @@ -9543,7 +9552,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9883,7 +9892,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -11186,43 +11195,43 @@ msgstr "" msgid "Unavailable" msgstr "Nedostupan" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Poslovi:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - Poslovi" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -11252,7 +11261,7 @@ msgstr "&Prečica" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11441,54 +11450,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Duplo klikni za <b>urediti</b> mene<br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14313,6 +14322,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14647,7 +14660,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14657,7 +14670,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14709,7 +14722,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14798,13 +14811,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14837,7 +14850,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14845,7 +14858,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14853,7 +14866,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14861,13 +14874,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14901,20 +14914,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -15264,40 +15277,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "Nemoguće pretvoriti neke knjige" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "Redoslijed knjiga za masovnu konverziju" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "Redoslijed " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Dograbi vijesti od " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "Pretvori postojeće" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15609,7 +15622,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opcije za prilagodbu preglednika elektroničke knjige" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "Zapamti zadnju korištenu veličinu zaslona" @@ -15863,27 +15876,33 @@ msgstr "Učitavanje elektroničke knjige..." msgid "Could not open ebook" msgstr "Nemoguće otvoriti elektroničku knjigu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Opcije za kontrolu preglednika" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Ako je naznačeno, kod pokretanj će preglednički prozor pokušati da dođe " "ispred." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "Ispiši javascript upozorenje i poruke na kontrolnu ploču" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -16356,64 +16375,64 @@ msgstr "" "na vašem iPhone. Ovdje myhostname bi trebalo biti puno kvalificirano " "hostname ili IP adresa računala na kojem je calibre aktivan." -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -18257,7 +18276,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -18280,67 +18299,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -18349,7 +18368,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -18357,7 +18376,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -18365,7 +18384,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -18373,7 +18392,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -18382,7 +18401,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -18391,14 +18410,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -18406,7 +18425,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -18414,7 +18433,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -18470,166 +18489,174 @@ msgid "English (Australia)" msgstr "Engleski (Australija)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +msgid "English (Bulgaria)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "Engleski (Novi Zeland)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "Engleski (Kanada)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "Engleski (Indija)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "Engleski (Tajland)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "Engleski (Cipar)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "Engleski (Pakistan)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "Engleski (Singapur)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "Engleski (Jemen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "Njemački (AT)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "Holandski (NL)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "Holandski (BE)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/hu.po b/src/calibre/translations/hu.po index d917cf5c6c..8a0728cdb5 100644 --- a/src/calibre/translations/hu.po +++ b/src/calibre/translations/hu.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" -"PO-Revision-Date: 2011-12-02 09:09+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" +"PO-Revision-Date: 2011-12-09 06:56+0000\n" "Last-Translator: Devilinside <Unknown>\n" "Language-Team: Hungarian <hu@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:59+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:23+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Semmit sem csinál" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Semmit sem csinál" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Semmit sem csinál" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Semmit sem csinál" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Semmit sem csinál" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -480,7 +480,7 @@ msgid "Change the way calibre behaves" msgstr "Calibre viselkedésének megváltoztatása" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Saját oszlop hozzáadása" @@ -933,7 +933,7 @@ msgstr "A bővítmény letiltása" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -946,10 +946,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Igen" @@ -978,7 +978,7 @@ msgstr "Hibakeresési napló" msgid "Communicate with Android phones." msgstr "Kommunikáció Androidos telefonnal." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -986,11 +986,11 @@ msgstr "" "Vesszővel tagolt mappa-lista az e-bookok olvasóra küldéséhez. Az első létező " "mappába kerülnek a könyvek." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Kommunikáció S60-as telefonnal." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "Kommunikáció WebOS táblagépekkel." @@ -1128,8 +1128,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -3192,7 +3192,7 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "egy teljes lista leírásokkal." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." @@ -3200,7 +3200,7 @@ msgstr "" "Linkek követése a HTML fájlokban szélességi keresés alapján. Alapesetben " "mélységi kereséssel történik a linkkövetés." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3211,7 +3211,7 @@ msgstr "" "negatív szám. A '0' azt jelenti, hogy nincs link-követés. Alapértelmezett: " "%default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3637,7 +3637,7 @@ msgstr "SABLON HIBA" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "Nem" @@ -4131,7 +4131,7 @@ msgstr "Előszó (szerk.)" msgid "Main Text" msgstr "Fő szöveg" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "A %s formátumú könyvek sajnos nem támogatottak" @@ -5158,12 +5158,12 @@ msgstr "Katalóguskönyvtár exportálása" msgid "Select destination for %(title)s.%(fmt)s" msgstr "Válassza ki a célmappát ehhez: %(title)s.%(fmt)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "Nem található könyvtár" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " @@ -5173,40 +5173,40 @@ msgstr "" "áthelyezte, adja meg annak új helyét. Egyéb esetben a calibre nem veszi " "figyelembe ezt a helyet könyvtárként." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "A könyvtár új helye:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "A könyvtár áthelyezve" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "Könyvtár elfelejtése" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "Új könyvtárhely" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "Nem található calibre könyvtár itt: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "Könyvtár kiválasztása" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Calibre adatbázis kiválasztása" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Könyvtár váltás / készítés" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -5214,82 +5214,82 @@ msgstr "Könyvtár váltás / készítés" msgid "%d books" msgstr "%d könyv" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Gyors könyvtárváltás" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Könyvtár átnevezése" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "Könyvtár törlése" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "Véletlenszerű könyvkiválasztás" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Könyvtár karbantartás" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "Könyvtár metaadatainak mentési státusza" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "Az összes könyv metaadat archiválásának kezdése" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Könyvtár ellenőrzése" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "Adatbázis visszaállítása" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Átnevezés" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "Válasszon új nevet a(z) <b>%s</b> könyvtárnak. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "Ne feledje, hogy a jelenlegi könyvtár mappa át lesz nevezve." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Már létezik" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "A(z) %s mappa már létezik. Először törölje." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "Túl hosszú" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Az átnevezés meghiúsult" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " @@ -5298,11 +5298,11 @@ msgstr "" "Nem sikerült átnevezni a(z) %s könyvtárat. A leggyakoribb oka ennek az, ha a " "könyvtárban lévő fájlokat egy másik program használja." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "A könyvtárat eltávolították" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " @@ -5311,24 +5311,24 @@ msgstr "" "A %s könyvtárat eltávolították a calibre-ből. A fájlok megmaradtak a " "számítógépén, ha törölni akarja azokat, tegye meg manuálisan." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "nincs" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "Biztonsági mentés állapota" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "Metaadat írásra váró könyvek száma: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "Metaadatok mentése" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." @@ -5336,7 +5336,7 @@ msgstr "" "A metaadatok mentésre kerülnek, míg a calibre fut, a mentés sebessége " "körülbelül három másodpercenként egy könyv." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -5347,7 +5347,7 @@ msgstr "" "Helyezze át a könyvtárat az ablak böngésző használatával, majd jelölje meg a " "Calibrenek az új útvonalat és próbálja újra." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -5356,7 +5356,7 @@ msgstr "" msgid "Success" msgstr "Sikeres" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" @@ -5365,7 +5365,7 @@ msgstr "" "leellenőrizné, hogy a könyvtárban lévő fájlok információi egyeznek-e az " "adatbázisban lévőkkel?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -5376,30 +5376,34 @@ msgstr "" msgid "Failed" msgstr "Sikertelen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" "Az adatbázis integritásának ellenőrzése nem sikerült, kattintson a " "„Részletek” gombra további információért." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "Minden rendben" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" "A könyvtárban lévő fájlok információi egyeznek az adatbázisban levőkkel." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Nem engedélyezett" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5407,7 +5411,7 @@ msgstr "" "Nem tud könyvtárat váltani, amíg a CALIBRE_OVERRIDE_DATABASE_PATH környezeti " "változó használatban van." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "Művelet végrehajtása közben könyvtárváltás nem lehetséges" @@ -5499,8 +5503,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -6196,7 +6200,7 @@ msgid "Search for this %s" msgstr "Keresés a következő adatra: %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "Boltok" @@ -6362,33 +6366,33 @@ msgstr "Keresés a következőben:" msgid "Adding..." msgstr "Hozzáadás…" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Keresés minden almappában…" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Elérési útvonal hiba" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "A megadott mappát nem lehet használni." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Nincsenek könyvek" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Nem talált könyveket." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "Nincs jogosultság" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." @@ -6396,15 +6400,15 @@ msgstr "" "Néhány fájlt nem sikerült hozzáadni, mert nincs hozzáférési jogosultsága. " "További információkért kattintson a „Részletek” gombra." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Hozzáadva" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "A hozzáadás nem sikerült" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -6413,30 +6417,30 @@ msgstr "" "kisebb részletekben adja hozzá a könyveket, amíg meg nem találja a problémát " "okozót." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Már létezik egy ilyen példány!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" "Ugyanezzel a címmel már létezik egy könyv az adatbázisban. Mégis hozzáadja?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Duplikációk hozzáadása…" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Mentés…" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "Adatok gyűjtése, kérem várjon…" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Elmentve" @@ -6576,8 +6580,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6603,6 +6607,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "Támogatás" @@ -7150,7 +7155,7 @@ msgstr "Normál nézet" msgid "HTML Source" msgstr "HTML-forrás" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " @@ -7160,11 +7165,15 @@ msgstr "" "meghatározni, használja az előző konverzióban elmentett értékeket (ha " "léteznek) a Beállításokban meghatározott alapértékek helyett" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Csoportos konvertálás" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Az adott kimeneti formátumnak megfelelő beállítások" @@ -8080,7 +8089,7 @@ msgstr "Előfordulások:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -8531,10 +8540,10 @@ msgstr "A borítóböngésző ne töltődjön be" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -8547,32 +8556,32 @@ msgid "Undefined" msgstr "Nincs megadva" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "csillag(ok)" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Nem értékelt" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "„%s” beállítása a mai napra" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "„%s” törlése" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " index:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" @@ -8580,23 +8589,23 @@ msgstr "" "A(z) „{0}” felsorolás érvénytelen értéket tartalmaz, mely az alapértelmezett " "értékre lesz állítva" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "Módosítások alkalmazása" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "Sorozatok eltávolítása" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "Automatikus könyvszámozás" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "A számozás mindig kezdődjön " -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" @@ -8604,15 +8613,15 @@ msgstr "" "A(z) „{0}” felsorolás érvénytelen értékeket tartalmaz, melyek az " "alapértelmezett értékre lesznek állítva" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Minden címke eltávolítása" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "hozzáadandó címkék" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "eltávolítandó címkék" @@ -8924,7 +8933,7 @@ msgid "My Books" msgstr "Könyveim" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Katalógus létrehozása" @@ -10325,7 +10334,7 @@ msgstr "%s verzió története" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "Mind" @@ -10687,7 +10696,7 @@ msgstr "Elemek" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -12082,43 +12091,43 @@ msgstr "" msgid "Unavailable" msgstr "Nem elérhető" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Műveletek száma:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "Kattintson a műveletek listájának megtekintéséhez" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " – Műveletek" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "Művelet keresése név szerint" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 msgid "No job" msgstr "Nincs művelet" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "Nincs kijelölt művelet" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "Biztosan le szeretné állítani a kijelölt műveletet?" msgstr[1] "Biztosan le szeretné állítani a kijelölt műveleteket?" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" "Biztosan le szeretné állítani az összes nem az eszközre vonatkozó műveletet?" @@ -12149,7 +12158,7 @@ msgstr "Billentyű¶ncs:" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -12343,54 +12352,54 @@ msgstr "Megjelölve törlése" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Dupla-kattintás a <b>szerkesztéshez</b><br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "%s oszlop elrejtése" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "%s rendezése" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "Növekvő" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "Csökkenő" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "%s szövegelrendezés" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "Bal" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "Jobb" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "Középen" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "Oszlop megjelenítése" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "Oszlopszélesség csökkentése a legjobb kitöltéshez" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "Alapértelmezett elrendezés visszaállítása" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -15643,6 +15652,10 @@ msgstr "&Létrehozás" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "&Program kód: (figyeljen a python nyelv behúzási szabályaira)" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "Váltás az eszköz és a könyvtár nézet között" @@ -15993,7 +16006,7 @@ msgid "Nam&e/Description ..." msgstr "&Név/Leírás …" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "Lekérdezés:" @@ -16003,7 +16016,7 @@ msgid "Enable" msgstr "Engedélyezés" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "Kijelölés megfordítása" @@ -16063,7 +16076,7 @@ msgstr "" "kizárólagosan erre a piacra korlátozódik." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -16153,13 +16166,13 @@ msgid "Search:" msgstr "Keresés:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "Könyvek:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -16192,7 +16205,7 @@ msgstr "Letöltés" msgid "Price" msgstr "Ár" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -16202,7 +16215,7 @@ msgstr "" "Letöltött ár: %s. Vásárlás előtt ellenőrizze az árat a boltban, mert " "előfordulhatnak aktuális kedvezmények és akciók is." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -16213,7 +16226,7 @@ msgstr "" "más korlátozások is vonatkozhatnak a könyvre. Vásárlás előtt ellenőrizze a " "boltban, hogy megfelelő-e a könyv az Ön számára." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -16225,7 +16238,7 @@ msgstr "" "Mindenesetre a vásárlás előtt még egyszer ellenőrizze a könyv DRM " "védettségét a boltban, mert a boltok fenntarthatják a változtatás jogát." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." @@ -16233,7 +16246,7 @@ msgstr "" "Nem lehet megállapítani, hogy ez a könyv DRM védett-e vagy sem, bár az " "előbbinek nagy a valószínűsége." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "A következő formátumok tölthetőek le közvetlenül: %s" @@ -16268,20 +16281,20 @@ msgstr "Nem található a keresési feltételnek megfelelő könyv." msgid "Choose format to download to your library." msgstr "A letöltésnél használatos formátum." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "Könyv letöltése" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "A kiválasztott könyv megnyitása a webböngészőbe" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "Megnyitás külső böngészőben" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "Nem elérhető" @@ -16654,12 +16667,12 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "Könyvek konvertálása: %(num)d/%(total)d (%(title)s)" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "Néhány könyvet nem sikerült konvertálni" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " @@ -16668,28 +16681,28 @@ msgstr "" "Nem sikerült %(num)d konvertálása %(tot)d könyvből, mert nem található " "megfelelő forrásformátum." -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "Könyvek sorba állítása csoportos konvertáláshoz" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "Sorbaállás " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "Könyvek konvertálása: %(num)d/%(tot)d (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Hírek letöltése a következő helyről: " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "Létező átalakítása" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -17015,7 +17028,7 @@ msgid "Options to customize the ebook viewer" msgstr "E-book olvasó beállítása" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "Az utoljára használt ablakméret megjegyzése" @@ -17275,29 +17288,35 @@ msgstr "E-book betöltése…" msgid "Could not open ebook" msgstr "Nem lehet megnyitni a könyvet" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Az e-book olvasó program beállításai" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Ha be van állítva, akkor az olvasóprogram megpróbál az előtérbe kerülni " "induláskor." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Ha be van állítva, akkor az olvasóprogram megpróbál teljes képernyősként " "indulni" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "Javascript és konzolüzenetek megjelenítése a konzolon" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -17796,64 +17815,64 @@ msgstr "" "Stanza olvasóprogramjában. A „myhostname” helyére a calibre-t futtató " "számítógép teljes neve, vagy IP címe kerüljön." -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "bejelölve" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "igen" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "nem" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "nincs bejelölve" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "ma" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "tegnap" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "ebben a hónapban" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "nappal ezelőtt" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "üres" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "üres" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "Érvénytelen boolean lekérdezés „{0}”" @@ -18468,6 +18487,12 @@ msgid "" "in the range is not\n" "included).\n" msgstr "" +"%prog remove ids\n" +"\n" +"Eltávolítja az id-kkel meghatározott könyveket az adatbázisból. Az id-k " +"vesszővel legyenek elválasztva (az id számokat a list paranccsal kaphatja " +"meg). Például: 23,34,57-85 (tartomány megadásakor a tartomány utolsó eleme " +"nem lesz figyelembe véve).\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:355 msgid "You must specify at least one book to remove" @@ -20148,7 +20173,7 @@ msgstr "" "{#genre:subitems(0,1)} visszatérési értéke „A, D”\r\n" "{#genre:subitems(0,2)} visszatérési értéke „A.B, D.E”" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -20198,30 +20223,30 @@ msgstr "" "a „du.” fog kerülni\r\n" "iso – dátum és idő időzónával" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "uppercase(érték) – az „érték” nagybetűs változatát adja vissza" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "lowercase(érték) – az „érték” kisbetűs változatát adja vissza" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" "titlecase(érték) – az „érték” címszerű változatát (névelők kivételével nagy " "kezdőbetű) adja vissza" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" "capitalize(érték) – a nagy első kezdőbetűvel kezdődő „érték”-et adja vissza" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "booksize() – a méretmező értékével tér vissza" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" @@ -20229,7 +20254,7 @@ msgstr "" "ondevice() – visszatérési értéke „Yes”, ha az „ondevice” („Eszközön”) mező " "„True” (igaz) értékű, egyébként üres karakterlánc" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" @@ -20237,7 +20262,7 @@ msgstr "" "has_cover() – visszatérési értéke „Yes”, ha a könyvnek van borítója, " "egyébként üres karakterlánc." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " @@ -20246,7 +20271,7 @@ msgstr "" "first_non_empty(érték, érték, …) – az argumentumként megadott „érték”-ek " "közül az első nem üres „érték”-et adja vissza. Bármennyi argumentuma lehet." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " @@ -20256,7 +20281,7 @@ msgstr "" "„érték”-ek nem üresek, egyébként üres karakterlánc. Jól használható együtt a " "„test” és a „first_non_empty” függvényekkel. Bármennyi argumentuma lehet." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " @@ -20266,7 +20291,7 @@ msgstr "" "„érték” nem üres, egyébként üres karakterlánc. Jól használható együtt a " "„test” és a „first_non_empty” függvényekkel. Bármennyi argumentuma lehet." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " @@ -20276,7 +20301,7 @@ msgstr "" "„érték” üres, egyébként üres karakterlánc. Jól használható együtt a „test” " "és a „first_non_empty” függvényekkel. Bármennyi argumentuma lehet." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -20291,7 +20316,7 @@ msgstr "" "az „elválasztó”-val van tagolva, de a bemeneti „lista1” és „lista2” egyes " "elemeit is ennek kell elválasztania." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -20303,7 +20328,7 @@ msgstr "" "„lista2”-ben. A visszatérési lista az „elválasztó”-val van tagolva, de a " "bemeneti „lista1” és „lista2” egyes elemeit is ennek kell elválasztania." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -20317,7 +20342,7 @@ msgstr "" "tagolva, de a bemeneti „lista1” és „lista2” egyes elemeit is ennek kell " "elválasztania." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -20330,7 +20355,7 @@ msgstr "" "csökkenő sorrendben rendez. A visszatérési lista az „elválasztó”-val van " "tagolva, de a bemeneti „lista” egyes elemeit is ennek kell elválasztania." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -20345,7 +20370,7 @@ msgstr "" "listákban lévő elemek sorrendje tetszőleges lehet. A listaelemek " "ellenőrzésekor a kis- és nagybetűk nincsenek megkülönböztetve." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -20360,7 +20385,7 @@ msgstr "" "„nemkötelező_csere” értéke nem üres karakterlánc, akkor a visszatérési " "listához adás előtt elvégzi ezt a cserét." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " @@ -20370,7 +20395,7 @@ msgstr "" "„format_date” és a „days_between” függvényekben használatos, de ugyanúgy " "manipulálható mint más normál karakterlánc. A dátum ISO formátumú." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -20382,7 +20407,7 @@ msgstr "" "érték pozitív, egyébként negatív szám. Ha a „dátum1” vagy a „dátum2” nem " "dátum érték, akkor a visszatérési érték üres karakterlánc." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -20394,7 +20419,7 @@ msgstr "" "megfelelően. Ha a „lefordít” értéke 0, akkor a visszatérési lista angol " "nyelvű, egyébként az aktuálisan beállított nyelv." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -20454,166 +20479,174 @@ msgid "English (Australia)" msgstr "angol (Ausztrália)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 +msgid "English (Japan)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 msgid "English (Bulgaria)" msgstr "angol (Bulgária)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "angol (Új-Zéland)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "angol (Kanada)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "angol (Görögország)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "angol (India)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "angol (Nepál)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "angol (Thaiföld)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "angol (Törökország)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "angol (Ciprus)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "angol (Cseh Köztársaság)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "angol (Pakisztán)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "angol (Horvátország)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "angol (Indonézia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "angol (Izrael)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "angol (Oroszország)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "angol (Szingapúr)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "angol (Jemen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "angol (Írország)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "angol (Kína)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "angol (Dél-Afrika)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "spanyol (Paraguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "spanyol (Uruguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "spanyol (Argentína)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "spanyol (Mexikó)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "spanyol (Kuba)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "spanyol (Chile)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "spanyol (Ecuador)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "spanyol (Honduras)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "spanyol (Venezuela)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "spanyol (Bolívia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "spanyol (Nicaragua)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "spanyol (Kolumbia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "német (Ausztria)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "Francia (BE)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "holland (Hollandia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "holland (Belgium)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "de." #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "du." #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "de." #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "du." diff --git a/src/calibre/translations/id.po b/src/calibre/translations/id.po index a9d0ec09a4..5c0f1ce97e 100644 --- a/src/calibre/translations/id.po +++ b/src/calibre/translations/id.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 16:24+0000\n" "Last-Translator: Kovid Goyal <Unknown>\n" "Language-Team: Indonesian <id@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:59+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:23+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -464,7 +464,7 @@ msgid "Change the way calibre behaves" msgstr "Ganti perilaku calibre" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Tambah kolom sendiri" @@ -889,7 +889,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -901,10 +901,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -933,17 +933,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1055,8 +1055,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2771,13 +2771,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2785,7 +2785,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3160,7 +3160,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3598,7 +3598,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4474,52 +4474,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4527,123 +4527,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4651,7 +4651,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4660,13 +4660,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4677,33 +4677,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4793,8 +4797,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5439,7 +5443,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5590,75 +5594,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5788,8 +5792,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5812,6 +5816,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6342,18 +6347,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7220,7 +7229,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7643,10 +7652,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7659,68 +7668,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8008,7 +8017,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9229,7 +9238,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9569,7 +9578,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10848,43 +10857,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10914,7 +10923,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11101,54 +11110,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13938,6 +13947,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14272,7 +14285,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14282,7 +14295,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14334,7 +14347,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14423,13 +14436,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14462,7 +14475,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14470,7 +14483,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14478,7 +14491,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14486,13 +14499,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14526,20 +14539,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14889,40 +14902,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15225,7 +15238,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15475,25 +15488,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15932,64 +15951,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17746,7 +17765,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17769,67 +17788,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17838,7 +17857,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17846,7 +17865,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17854,7 +17873,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17862,7 +17881,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17871,7 +17890,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17880,14 +17899,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17895,7 +17914,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17903,7 +17922,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17959,166 +17978,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/it.po b/src/calibre/translations/it.po index 6a034c484b..9065fe6b6e 100644 --- a/src/calibre/translations/it.po +++ b/src/calibre/translations/it.po @@ -9,16 +9,16 @@ msgid "" msgstr "" "Project-Id-Version: calibre_calibre-it\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" -"PO-Revision-Date: 2011-12-04 10:45+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" +"PO-Revision-Date: 2011-12-09 22:03+0000\n" "Last-Translator: Vincenzo Reale <smart2128@baslug.org>\n" "Language-Team: Italian <kde-i18n-it@kde.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-05 05:20+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:24+0000\n" +"X-Generator: Launchpad (build 14450)\n" "X-Poedit-Bookmarks: -1,-1,-1,-1,-1,1105,-1,1312,-1,-1\n" "Generated-By: pygettext.py 1.5\n" @@ -30,8 +30,8 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -42,8 +42,8 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -52,8 +52,8 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -178,7 +178,7 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -197,7 +197,7 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -484,7 +484,7 @@ msgid "Change the way calibre behaves" msgstr "Cambia il comportamento di calibre" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Aggiungi colonne personalizzate" @@ -950,7 +950,7 @@ msgstr "Disabilita il plugin nominato" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -963,10 +963,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Sì" @@ -995,7 +995,7 @@ msgstr "Log di debug" msgid "Communicate with Android phones." msgstr "Comunica con i telefoni Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -1003,11 +1003,11 @@ msgstr "" "Elenco delle cartelle separate da virgole dei libri da inviare al " "dispositivo. Sarà usata la prima cartella esistente." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Comunica con i telefoni S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "Comunica con tablet WebOS." @@ -1145,8 +1145,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -3247,7 +3247,7 @@ msgstr "Genere per il libro: Scelte %s " msgid "for a complete list with descriptions." msgstr "per una lista completa con descrizioni." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." @@ -3255,7 +3255,7 @@ msgstr "" "Seguire i collegamenti nelle pagine HTML per ampiezza. Normalmente sono " "seguiti prima in profondità" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3267,7 +3267,7 @@ msgstr "" "nessun collegamento nel documento HTML verrà seguito. Il valore predefinito " "è %default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3700,7 +3700,7 @@ msgstr "ERRORE TEMPLATE" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "No" @@ -4194,7 +4194,7 @@ msgstr "Prefazione" msgid "Main Text" msgstr "Corpo del testo" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "I libri nel formato %s non sono supportati" @@ -5246,12 +5246,12 @@ msgstr "Esporta il catalogo" msgid "Select destination for %(title)s.%(fmt)s" msgstr "Seleziona la destinazione per %(title)s.%(fmt)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "Nessuna biblioteca trovata" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " @@ -5261,40 +5261,40 @@ msgstr "" "biblioteca è stata spostata, seleziona in basso la nuova posizione. " "Altrimenti calibre scarterà questa biblioteca." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "Nuova posizione di questa biblioteca:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "Biblioteca spostata" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "Scarta la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "Nuova posizione della biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "Non è stata trovata una biblioteca esistente di calibre in %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "Scegli la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Selezionare la biblioteca calibre con cui lavorare" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Cambia/crea biblioteca..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -5302,82 +5302,82 @@ msgstr "Cambia/crea biblioteca..." msgid "%d books" msgstr "%d libri" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Cambiamento rapido" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Rinomina biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "Rimuovi la libreria" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "Scegli un libro a caso" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Manutenzione biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "Stato backup metadati della biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "Avvio backup dei metadati di tutti i libri" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Controlla biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "Ripristina database" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Rinomina" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "Seleziona un nuovo nome per la biblioteca <b>%s</b>. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "La cartella della biblioteca attuale verrà rinominata." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Esiste già" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "La cartella %s esiste già. Eliminala prima." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "Troppo lungo" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Impossibile rinominare" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " @@ -5386,11 +5386,11 @@ msgstr "" "Impossibile rinominare la biblioteca in %s. La causa più comune a questo " "problema è quando un file della biblioteca è aperto da un altro programma." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "Libreria rimossa" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " @@ -5399,24 +5399,24 @@ msgstr "" "La biblioteca %s è stata rimossa da calibre. I file rimarranno sul computer. " "Se vuoi eliminarli, dovrai farlo manualmente." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "nessuno" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "Stato del backup" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "Metadati dei libri ancora da scrivere: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "Backup metadati" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." @@ -5424,7 +5424,7 @@ msgstr "" "Verrà fatto un backup dei metadati durante il funzionamento di calibre, alla " "velocità approssimativa di un libro ogni tre secondi" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -5436,7 +5436,7 @@ msgstr "" "Windows Explorer, poi fai puntare calibre alla nuova posizione e prova di " "nuovo." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -5445,7 +5445,7 @@ msgstr "" msgid "Success" msgstr "Riuscito" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" @@ -5454,7 +5454,7 @@ msgstr "" "che calibri verifichi se i file nella biblioteca corrispondono alle " "informazioni nel database?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -5465,29 +5465,34 @@ msgstr "" msgid "Failed" msgstr "Non riuscito" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" "Verifica di integrità del database non riuscita. Fai clic su \"Mostra i " "dettagli\" per ulteriori informazioni." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" +"Avvio della scansione della biblioteca, potrebbe richiedere del tempo" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "Nessun problema trovato" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "I file nella libreria corrispondono alle informazioni nel database." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Non permesso" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5495,7 +5500,7 @@ msgstr "" "Non è possibile cambiare biblioteca mentre si usa la variabile di ambiente " "CALIBRE_OVERRIDE_DATABASE_PATH." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" "Non è possibile cambiare biblioteca quando ci sono dei lavori in corso." @@ -5589,8 +5594,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -6285,7 +6290,7 @@ msgid "Search for this %s" msgstr "Cerca questo %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "Negozi" @@ -6454,33 +6459,33 @@ msgstr "Cercando in" msgid "Adding..." msgstr "Sto aggiungendo...." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Cercando in tutte le sotto cartelle" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Errore di percorso" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "Impossibile elaborare la cartella indicata." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Nessun libro." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Nessun libro trovato" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "Nessun permesso" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." @@ -6488,15 +6493,15 @@ msgstr "" "Impossibile aggiungere alcuni file poiché non disponi dei permessi per " "accedervi. Fai clic su Mostra dettagli per vedere l'elenco di questi file." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Aggiunto" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Aggiunta non riuscita" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -6505,11 +6510,11 @@ msgstr "" "ripartire calibre e aggiungere i libri un po' alla volta, fino a quando " "identifichi il libro che causa il problema." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Scoperti duplicati!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" @@ -6517,19 +6522,19 @@ msgstr "" "Dei libri con lo stesso titolo sono già presenti nel database. Aggiungerli " "comunque?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Aggiunta dei duplicati..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Salvataggio in corso..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "Raccolta dati in corso, attendere..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Salvato" @@ -6669,8 +6674,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6696,6 +6701,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "Fai una donazione" @@ -7244,7 +7250,7 @@ msgstr "Vista normale" msgid "HTML Source" msgstr "Sorgente HTML" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " @@ -7254,11 +7260,16 @@ msgstr "" "salvati in una conversione precedente (se esistente) invece di usare i " "valori predefiniti nelle Preferenze" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" +"Nessuno dei libri selezionati ha impostazioni di conversione salvate." + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Conversione in gruppo" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Opzioni specifiche per i formati di output" @@ -8183,7 +8194,7 @@ msgstr "Occorrenze:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -8634,10 +8645,10 @@ msgstr "Impossibile caricare il navigatore delle copertine" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -8650,32 +8661,32 @@ msgid "Undefined" msgstr "Non definito" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "stelle" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Senza valutazione" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "Imposta '%s' ad oggi" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "Cancella '%s'" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " indice:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" @@ -8683,23 +8694,23 @@ msgstr "" "L'enumerazione \"{0}\" contiene un valore non valido che verrà impostato a " "quello predefinito" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "Applica le modifiche" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "Rimuovi serie" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "Numera i libri automaticamente" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "Forza i numeri ad iniziare con " -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" @@ -8707,15 +8718,15 @@ msgstr "" "L'enumerazione \"{0}\" contiene un valore non valido che non appare nella " "lista" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Elimina tutti i tag" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "tag da aggiungere" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "tag da eliminare" @@ -8855,7 +8866,7 @@ msgstr "0 di %i libri" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:924 msgid "Choose format to send to device" -msgstr "Selezionare il formato da inviare al dispositivo" +msgstr "Scegli il formato da inviare al dispositivo" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:932 msgid "No device" @@ -8963,7 +8974,7 @@ msgstr "Utilizza sotto cartelle" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:84 msgid "Use author sort for author" -msgstr "&sa l'ordinamento autore come autore" +msgstr "Usa l'ordinamento autore come autore" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:85 msgid "Save &template:" @@ -9026,7 +9037,7 @@ msgid "My Books" msgstr "I miei libri" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Crea catalogo" @@ -10448,7 +10459,7 @@ msgstr "Cronologia delle versioni di %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "Tutti" @@ -10805,7 +10816,7 @@ msgstr "Elementi" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -12187,43 +12198,43 @@ msgstr "" msgid "Unavailable" msgstr "Non disponibile" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Lavori:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "Fai clic per vedere l'elenco dei lavori" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - Lavori" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "Cerca un lavoro in base al nome" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 msgid "No job" msgstr "Nessun lavoro" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "Nessun lavoro selezionato" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "Vuoi davvero fermare il lavoro selezionato?" msgstr[1] "Vuoi davvero fermare i lavori selezionati?" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "Vuoi veramente fermare tutti i lavori non legati al dispositivo?" @@ -12253,7 +12264,7 @@ msgstr "&Scorciatoia:" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -12448,54 +12459,54 @@ msgstr "Marcato per l'eliminazione" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Doppio clic per <b>modificarmi</b><br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "Nascondi colonna %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "Ordina per %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "Ascendente" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "Discendente" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "Cambia allineamento del testo per %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "Sinistra" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "Destra" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "Centrato" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "Mostra colonna" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "Stringi le colonne se sono troppo larghe" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "Ripristina la struttura predefinita" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14261,6 +14272,11 @@ msgid "" ">Plugins. Remember to also enter the folders where you want the books to be " "put. You must restart calibre for your changes to take effect.\n" msgstr "" +"Copia questi valori negli appunti, incollali in un editor, poi inseriscili " +"nello USER_DEVICE personalizzando il plugin di dispositivo in Preferenze-> " +"Plugin. Ricorda inoltre di inserire le cartelle dove desideri che i libri " +"siano conservati. Devi riavviare calibre affinché le modifiche abbiano " +"effetto.\n" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:66 msgid "" @@ -15022,6 +15038,8 @@ msgid "" "The template contains no {fields}, so all books will have the same name. Is " "this OK?" msgstr "" +"Il modello non contiene {campi}, perciò tutti i libri avranno lo stesso " +"nome. È corretto?" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template_ui.py:57 msgid "Save &template" @@ -15269,6 +15287,8 @@ msgid "" "Enter the names of any grouped search terms you wish\n" "to be shown as user categories" msgstr "" +"Digita i nomi dei termini di ricerca raggruppati che desideri\n" +"siano mostrati come categorie utente" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending.py:28 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:41 @@ -15646,6 +15666,10 @@ msgstr "" "Codice del &programma: (assicurati di utilizzare le regole di rientro di " "python)" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "Commuta tra visuale biblioteca e dispositivo" @@ -15996,7 +16020,7 @@ msgid "Nam&e/Description ..." msgstr "Nom&e/Descrizione..." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "Ricerca" @@ -16006,7 +16030,7 @@ msgid "Enable" msgstr "Abilita" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "Inverti" @@ -16033,6 +16057,8 @@ msgid "" "This store is currently disabled and cannot be used in other parts of " "calibre." msgstr "" +"Il negozio è attualmente disabilitato e non può essere utilizzato in altre " +"parti di calibre." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:131 msgid "" @@ -16062,7 +16088,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -16152,13 +16178,13 @@ msgid "Search:" msgstr "Cerca:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "Libri:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -16191,7 +16217,7 @@ msgstr "Scaricamento" msgid "Price" msgstr "Prezzo" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -16199,7 +16225,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -16207,7 +16233,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -16215,13 +16241,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "I formati seguenti possono essere scaricati direttamente: %s." @@ -16256,20 +16282,20 @@ msgstr "Impossibile trovare libri che corrispondano alla ricerca." msgid "Choose format to download to your library." msgstr "Scegli il formato da scaricare nella tua biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "Ottieni libri" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "Apri un libro selezionato nel browser web di sistema" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "Apri in un broser &esterno" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "Non disponibile" @@ -16632,12 +16658,12 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "Converti libro %(num)d di %(total)d (%(title)s)" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "Impossibile convertire alcuni libri" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " @@ -16646,28 +16672,28 @@ msgstr "" "Impossibile convertire %(num)d di %(tot)d libri, poiché non è stato trovato " "alcun formato appropriato." -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "Creazione dell'ordine dei libri per conversione di gruppo" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "Creazione ordine " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "Conversione libro %(num)d di %(tot)d (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Scarica notizie da " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "Converti i documenti presenti" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -16991,7 +17017,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opzioni per personalizzare il lettore di libri" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "Ricorda la dimensione della finestra usata l'ultima volta" @@ -17072,6 +17098,8 @@ msgid "" "You are in the middle of editing a keyboard shortcut first complete that, by " "clicking outside the shortcut editing box." msgstr "" +"Stai modificando una scorciatoia da tastiera, completa prima la modifica " +"facendo clic al di fuori della casella di modifica." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "&Lookup in dictionary" @@ -17247,30 +17275,36 @@ msgstr "Caricamento libro..." msgid "Could not open ebook" msgstr "Impossibile aprire il libro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Opzioni per controllare il visualizzatore di libri" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Se specificato, la finestra di visualizzazione tenterà di apparire in primo " "piano quando avviata." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Se selezionato, all'avvio la finestra del viewer si aprirà a pieno schermo." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" "Scrivi avvertenze dall'esecuzione e messaggi dal quadro di comando nella " "finestra del quadro di comando." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -17500,6 +17534,9 @@ msgid "" "<p>Choose a location for your books. When you add books to calibre, they " "will be copied here. Use an <b>empty folder</b> for a new calibre library:" msgstr "" +"<p>Scegli una posizione per i tuoi libri. I libri aggiunti a calibre saranno " +"copiati qui. Utilizza una <b>cartella vuota</b> per una nuova biblioteca di " +"calibre:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:59 msgid "&Change" @@ -17768,64 +17805,64 @@ msgstr "" "nome host completamente specificato che l'indirizzo IP del computer sul " "quale calibre è in esecuzione." -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "selezionato" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "sì" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "no" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "non selezionato" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "oggi" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "ieri" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "questomese" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "giornifa" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "vuota" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "vuoto" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "Ricerca booleana non valida \"{0}\"" @@ -19823,7 +19860,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -19846,67 +19883,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -19915,7 +19952,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -19923,7 +19960,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -19931,7 +19968,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -19939,7 +19976,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -19948,7 +19985,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -19957,14 +19994,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -19972,7 +20009,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -19980,7 +20017,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -20036,166 +20073,174 @@ msgid "English (Australia)" msgstr "Inglese (Australia)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 +msgid "English (Japan)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 msgid "English (Bulgaria)" msgstr "Inglese (Bulgaria)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "Inglese (Nuova Zelanda)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "Inglese (Canada)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "Inglese (Grecia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "Inglese (India)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "Inglese (Nepal)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "Inglese (Tailandia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "Inglese (Turchia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "Inglese (Cipro)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "Inglese (Pakistan)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "Inglese (Croazia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "Inglese (Indonesia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "Inglese (Israele)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "Inglese (Russia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "Inglese (Singapore)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "Inglese (Yemen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "English (Ireland)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "Inglese (Cina)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "Inglese (Sud Africa)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "Spagnolo (Paraguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "Spagnolo (Uruguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "Spagnolo (Argentina)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "Spagnolo (Messico)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "Spagnolo (Cuba)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "Spagnolo (Cile)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "Spagnolo (Ecuador)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "Spagnolo (Honduras)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "Spagnolo (Venezuela)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "Spagnolo (Bolivia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "Spagnolo (Nicaragua)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "Spagnolo (Colombia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "Tedesco (AT)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "Francese (BE)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "Olandese (Olanda)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "Olandese (Belgio)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "AM" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "PM" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "am" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "pm" @@ -20704,7 +20749,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:76 msgid "Splitting multiple author names" -msgstr "" +msgstr "Divisione dei nomi multipli degli autori" #: /home/kovid/work/calibre/resources/default_tweaks.py:77 msgid "" @@ -20718,7 +20763,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:84 msgid "Use author sort in Tag Browser" -msgstr "" +msgstr "Usa l'ordinamento autore nel navigatore dei tag" #: /home/kovid/work/calibre/resources/default_tweaks.py:85 msgid "" @@ -20759,7 +20804,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:108 msgid "Control partitioning of Tag Browser" -msgstr "" +msgstr "Controlla il partizionamento del navigatore dei tag" #: /home/kovid/work/calibre/resources/default_tweaks.py:109 msgid "" @@ -20842,10 +20887,47 @@ msgid "" "timestamp default if not set: dd MMM yyyy\n" "last_modified_display_format if not set: dd MMM yyyy" msgstr "" +"Formato da utilizzare per le date di pubblicazione e per le marche temporali " +"(data).\n" +"Una stringa che controlla la visualizzazione nell'interfaccia della data di " +"pubblicazione\n" +"g il giorno come numero senza uno zero iniziale (da 1 a 31)\n" +"dd il giorno come numero con uno zero iniziale (da 01 a 31)\n" +"ddd il nome localizzato del giorno in forma abbreviata (ad es. da 'Lun' a " +"'Dom').\n" +"dddd il nome localizzato del giorno in forma lunga (ad es. da 'Lunedì' a " +"'Domenica').\n" +"M il mese come numero senza uno zero iniziale (da 1 a 12)\n" +"MM il mese come numero con uno zero iniziale (da 01 a 12)\n" +"MMM il nome localizzato del mese in forma abbreviata (ad es. da 'Gen' a " +"'Dic').\n" +"MMMM il nome localizzato del mese in forma lunga (ad es. da 'Gennaio' a " +"'Dicembre').\n" +"yy l'anno come numero a due cifre (da 00 a 99)\n" +"yyyy l'anno come numero a quattro cifre\n" +"h le ore senza uno zero iniziale (da 0 a 11 o da 0 a 23, se am/pm) '\n" +"hh le ore con uno zero iniziale (da 00 a 11 o da 00 a 23, se am/pm) '\n" +"m i minuti senza uno zero iniziale (da 0 a 59) '\n" +"mm i minuti con uno zero iniziale (da 00 a 59) '\n" +"s i secondi senza uno zero iniziale (da 0 a 59) '\n" +"ss i secondi con uno zero iniziale (da 00 a 59) '\n" +"ap usa un orologio a 12 ore invece che uno a 24 ore, con \"ap\"\n" +"sostituito dalla stringa localizzata per am o pm '\n" +"AP usa un orologio a 12 ore invece che uno a 24 ore, con \"ap\"\n" +"sostituito dalla stringa localizzata per AM o PM '\n" +"iso la data con ora e fuso orario. Deve esere il solo formato presente\n" +"Ad esempio, con una data del tipo 9 Gen 2010, i seguenti formati mostrano\n" +"MMM yyyy ==> Gen 2010 yyyy ==> 2010 dd MMM yyyy ==> 09 Gen 2010\n" +"MM/yyyy ==> 01/2010 d/M/yy ==> 9/1/10 yy ==> 10\n" +"valore predefinito pubblicazione, se non impostato: MMM yyyy\n" +"marca temporale predefinita, se non impostata: dd MMM yyyy\n" +"last_modified_display_format, se non impostata: dd MMM yyyy" #: /home/kovid/work/calibre/resources/default_tweaks.py:174 msgid "Control sorting of titles and series in the library display" msgstr "" +"Controlla l'ordinamento di titolo e serie nella visualizzazione della " +"biblioteca" #: /home/kovid/work/calibre/resources/default_tweaks.py:175 msgid "" @@ -20870,6 +20952,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:188 msgid "Control formatting of title and series when used in templates" msgstr "" +"Controlla la formattazione di titolo e serie in caso di utilizzo nei modelli" #: /home/kovid/work/calibre/resources/default_tweaks.py:189 msgid "" @@ -21040,6 +21123,8 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:334 msgid "Control how tags are applied when copying books to another library" msgstr "" +"Controlla come i tag sono applicati quando si copiano libri in un'altra " +"biblioteca" #: /home/kovid/work/calibre/resources/default_tweaks.py:335 msgid "" diff --git a/src/calibre/translations/ja.po b/src/calibre/translations/ja.po index b731ad5958..396a1973ae 100644 --- a/src/calibre/translations/ja.po +++ b/src/calibre/translations/ja.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-12-03 11:54+0000\n" "Last-Translator: Ado Nishimura <Unknown>\n" "Language-Team: Japanese <ja@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2011-12-04 04:41+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:24+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "まったく何もしません" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "まったく何もしません" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "まったく何もしません" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "まったく何もしません" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "まったく何もしません" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -468,7 +468,7 @@ msgid "Change the way calibre behaves" msgstr "calibreの挙動を変更する" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "表示列の追加" @@ -898,7 +898,7 @@ msgstr "名付けたプラグインを無効にする" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -910,10 +910,10 @@ msgstr "ライブラリへのパスが長すぎます。%d文字以下でなけ #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "はい" @@ -942,17 +942,17 @@ msgstr "デバッグログ" msgid "Communicate with Android phones." msgstr "Androidフォンと通信します。" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "電子書籍を送るためのデバイス上のディレクトリ名。カンマ区切りのリストで、最初に見つかったものが利用される" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "電話機 S60 と通信します。" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "WebOSタブレットと通信します。" @@ -1083,8 +1083,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2950,13 +2950,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "。" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "HTMLファイルのリンク探索で、幅優先にする。通常は、深さを優先する。" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2966,7 +2966,7 @@ msgstr "" "HTMLファイルのリンクをたどる時の、最大のネスティングレベル。正の値でなければなりません。0にするとルートのHTMLファイルからリンクがたどられません。" "デフォルトは%defaultです。" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3365,7 +3365,7 @@ msgstr "テンプレートエラー" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "いいえ" @@ -3825,7 +3825,7 @@ msgstr "はじめに" msgid "Main Text" msgstr "本文" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "%s フォーマットはサポートしていません" @@ -4777,12 +4777,12 @@ msgstr "カタログ出力ディレクトリ" msgid "Select destination for %(title)s.%(fmt)s" msgstr "保存先を選択: %(title)s.%(fmt)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "ライブラリが見つかりません" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " @@ -4791,40 +4791,40 @@ msgstr "" "%sにcalibreのライブラリが見つかりません。もしライブラリを移動した場合には、下から新しい場所を選択してください。さもなくばcalibreはこのライ" "ブラリを忘れてしまいます。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "このライブラリの新しい場所:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "ライブラリが移動されました" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "ライブラリを忘れる" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "新しいライブラリの場所" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "calibreのライブラリが%sにありません" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "ライブラリを選択" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "使用するcalibreライブラリを選択" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "ライブラリの切り替え/作成..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4832,93 +4832,93 @@ msgstr "ライブラリの切り替え/作成..." msgid "%d books" msgstr "%d 冊" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "クイック・スイッチ" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "ライブラリの名前の変更" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "ライブラリを削除" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "ランダムに本を選択" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "ライブラリのメンテナンス" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "ライブラリの書誌情報バックアップステータス" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "すべての本のバックアップを開始" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "ライブラリをチェック" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "ライブラリを元に戻す" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "名前の変更" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "ライブラリの新しい名前を選択 <b>%s</b>. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "実際のライブラリのディレクトリも名前が変わることに注意してください。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "すでに存在します" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "ディレクトリ %s は、すでに存在しています。先に削除してください。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "長すぎます" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "名前の変更に失敗しました" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "%sのライブラリの名前の変更に失敗しました。これのよくある原因は、他のプログラムからライブラリ内のファイルが開かれていることです。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "ライブラリが削除されました。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " @@ -4927,30 +4927,30 @@ msgstr "" "ライブラリ %s " "はcalibreから削除されました。ファイルはコンピューター上に残っているので、もし完全に削除したい場合には、手動で削除する必要があります。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "なし" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "バックアップステータス" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "書誌情報ファイルを書き出す残りの数: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "書誌情報バックアップ" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "書誌情報は、calibreの実行中におよそ3秒あたり1本の速度でバックアップされます。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4960,7 +4960,7 @@ msgstr "" "ライブラリへのパスが長すぎます。%d文字以下でなければなりません。Windowsエクスプローラーを使ってパスが短くなるところへライブラリを移動し、その場所" "をcalibreに設定しなおしてみてください。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4969,14 +4969,14 @@ msgstr "" msgid "Success" msgstr "成功" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" "calibreライブラリのデータベースにエラーは見つかりませんでした。データベースの情報とライブラリ内のファイルの整合性をチェックしますか?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4987,33 +4987,37 @@ msgstr "" msgid "Failed" msgstr "失敗" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "データベースの整合性チェックに失敗しました。詳しくは「詳細を表示」をクリックしてください。" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "問題はありませんでした" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "ライブラリ内のファイルとデータベースの情報がマッチしました。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "許可されていません" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "環境変数CALIBRE_OVERRIDE_DATABASE_PATHを使っている時にはライブラリの変更はできません。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "ジョブが実行されているときにライブラリは変更できません。" @@ -5103,8 +5107,8 @@ msgstr "環境変数CALIBRE_OVERRIDE_DATABASE_PATHを使用中に他のライブ #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5767,7 +5771,7 @@ msgid "Search for this %s" msgstr "%sを検索" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "ストア" @@ -5924,76 +5928,76 @@ msgstr "この中を検索" msgid "Adding..." msgstr "追加中..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "すべてのサブディレクトリを検索..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "パスエラー" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "指定したディレクトリは処理できません。" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "本なし" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "本が見つかりません" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "許可がありません" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" "ファイルにアクセスする権限が無いので、ファイルを追加できませんでした。「詳細を表示」をクリックして問題のファイルのリストを参照してください。" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "追加された" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "追加に失敗" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "本追加の処理がおかしいようです。calibreを再起動して本をすこしづつ追加し、どの本が問題なのかを見つけてください。" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "重複するものを発見しました!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "同じタイトルの本がデータベース中にすでに存在します。追加しますか?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "重複するものを追加中..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "保存中..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "データを集めています。お待ちください..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "保存された" @@ -6127,8 +6131,8 @@ msgstr "このフォルダーとそのサブフォルダーからcalibreのラ #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6151,6 +6155,7 @@ msgstr "フォルダごとに複数の本。各電子書籍ファイルは異な #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "寄付" @@ -6693,18 +6698,22 @@ msgstr "通常表示" msgid "HTML Source" msgstr "HTML のソース" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "このダイアログで指定できない設定は、デフォルトの設定ではなく前回変換した時に使用された値(もしあれば)が使われます。" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "まとめて変換" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "出力フォーマットに関するオプション" @@ -7592,7 +7601,7 @@ msgstr "出現回数:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -8029,10 +8038,10 @@ msgstr "表紙ブラウザーがロードできません" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -8045,68 +8054,68 @@ msgid "Undefined" msgstr "未定義" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "星" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "未評価" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "'%s'を今日にする" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "'%s'をクリア" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " インデックス:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "\"{0}\"一覧に無効な値があるので、デフォルト値を使用します" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "変更を適用" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "シリーズを取り除く" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "本を自動的に番号付けする" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "強制的に番号を次からはじめる: " -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "\"{0}\"一覧に無効な値が入っているので、リストに表示しません。" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "すべてのタグを削除" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "追加するタグ" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "取り除くタグ" @@ -8404,7 +8413,7 @@ msgid "My Books" msgstr "My Books" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "カタログ生成" @@ -9706,7 +9715,7 @@ msgstr "%sのバージョン履歴" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "すべて" @@ -10055,7 +10064,7 @@ msgstr "項目" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -11381,42 +11390,42 @@ msgstr "一部のジョブは停止できません。「詳細を表示」をク msgid "Unavailable" msgstr "使用不可" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "ジョブ数:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "クリックでジョブのリストを表示" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - ジョブ" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "名前でジョブを検索" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 msgid "No job" msgstr "ジョブなし" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "選択されたジョブはありません" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "本当に選択したジョブを停止しますか?" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "本当にデバイス関連でないすべてのジョブを停止しますか?" @@ -11446,7 +11455,7 @@ msgstr "ショートカット(&S)" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11633,54 +11642,54 @@ msgstr "削除する、としてマーク" msgid "Double click to <b>edit</b> me<br><br>" msgstr "ダブルクリックで<b>編集</b><br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "列 %s を隠す" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "%s でソート" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "昇順" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "降順" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "テキスト配置を %s にする" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "左" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "右" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "中央" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "列を表示" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "列が広すぎる場合は縮める" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "デフォルトのレイアウトに戻す" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14668,6 +14677,10 @@ msgstr "作成(&R)" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "プログラムコード: (pythonのインデントルールを守ってください)(&P)" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "ライブラリビューとデバイスビューとの間を切り替え" @@ -15007,7 +15020,7 @@ msgid "Nam&e/Description ..." msgstr "名前/説明(&E)..." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "クエリ:" @@ -15017,7 +15030,7 @@ msgid "Enable" msgstr "有効にする" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "反転" @@ -15072,7 +15085,7 @@ msgstr "" "は限りません。" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "このストアからの購入はCalibreのデベロッパ %s をサポートします。" @@ -15161,13 +15174,13 @@ msgid "Search:" msgstr "検索:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "本:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -15200,7 +15213,7 @@ msgstr "ダウンロード" msgid "Price" msgstr "価格" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -15209,7 +15222,7 @@ msgid "" msgstr "" "見つかった価格:%s。この価格が正しいか購入する前にストアで確認してください。この価格には大抵の場合、ストアのプロモーション価格が入っていません。" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -15219,7 +15232,7 @@ msgstr "" "この本にはDRMがかかっているようです。この本はあなたの持っているリーダーで読めなかったり、本に対する色々な制限がある可能性があります。実際にこの書籍が読" "めるか、購入する前にストアで確認してください。" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -15229,13 +15242,13 @@ msgstr "" "この本にはDRMが掛かっていない事が見つかりました。Calibreがサポートしているフォーマット変換機能で、どのデバイスでもこの本が読めるはずです。しかし" "ながら、購入する前にもう一度ストアでDRMステータスをチェックしてください。ストアにはDRMの使用を明記していない所もあります。" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "この本のDRMステータスが判りませんでした。これは高い可能性で、この本はDRMが掛かっていると思われます。" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "次のフォーマットは直接ダウンロードすることができます: %s." @@ -15269,20 +15282,20 @@ msgstr "クエリにマッチした本が見つかりませんでした。" msgid "Choose format to download to your library." msgstr "ライブラリにダウンロードするフォーマットを選択" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "本を入手" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "選択した本をシステムのブラウザーで開く" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "外部ブラウザーで開く(&E)" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "利用不可" @@ -15644,40 +15657,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "%(num)d / %(total)d 本を変換 (%(title)s)" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "いくつかの本を変換できませんでした" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "%(tot)d 冊中 %(num)d 冊の本が、対応するフォーマットが無かったために変換できませんでした。" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "'まとめて変換'のキューに本を追加" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "待ち行列 " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "%(tot)d 冊中 %(num)d 冊目の本を変換 (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "ニュースを取得: " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "既存のものを再変換" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15990,7 +16003,7 @@ msgid "Options to customize the ebook viewer" msgstr "電子書籍ビューアーをカスタマイズするためのオプション" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "最後に使ったウィンドウのサイズを覚える" @@ -16242,25 +16255,31 @@ msgstr "電子書籍をロード中..." msgid "Could not open ebook" msgstr "電子書籍を開けませんでした" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "電子書籍ビューアーをコントロールするオプション" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "指定した場合は、ビューアーウィンドウは起動時に前面へ表示しようとします。" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "指定した場合は、ビューアーウィンドウは起動時に全画面表示しようとします。" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "Javascriptアラートとコンソールメッセージをコンソールへ表示" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -16728,64 +16747,64 @@ msgstr "" "http://myhostname:8080 を登録してください。myhostname " "はcalibreが稼働しているコンピュータのホスト名、もしくはIPアドレスです。" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "チェック" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "はい" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "いいえ" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "チェックなし" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "今日" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "昨日" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "今月" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "日前" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "空白" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "空" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "無効なブーリアンクエリ \"{0}\"" @@ -18891,7 +18910,7 @@ msgstr "" "D.E.F\" だとすると、{#genre:subitems(0,1)} は \"A, D\" を返します。{#genre:subitems(0,2)} " "は \"A.B, D.E\" を返します。" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -18914,39 +18933,39 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "uppercase(val) -- フィールドの値を大文字で返します。" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "lowercase(val) -- フィールドの値を小文字で返します。" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "titlecase(val) -- フィールドの値をタイトル文字で返します。" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "capitalize(val) -- フィールドの値をキャピタライズして返します。" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "booksize() -- サイズフィールドの値を返します。" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "ondevice() -- もしondeviceがセットされていたらYesを返します。それ以外では空文字列を返します。" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "has_cover() -- もし本が表紙を持っていればYesを返し、それ以外では空文字列を返す。" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " @@ -18955,7 +18974,7 @@ msgstr "" "first_non_empty(value, value, ...) -- " "空でない最初のvalueを返す。もし全てのvalueが空の場合、空の値が返されます。いくつでもvalueを追加できます。" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " @@ -18964,7 +18983,7 @@ msgstr "" "and(value, value, ...) -- 全てのvalueが空でない場合、文字列 \"1\" " "を返し、それ以外では空文字列を返す。この関数はtestやfirst_non_emptyと一緒に使うことができます。いくつでもvalueを追加できます。" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " @@ -18973,7 +18992,7 @@ msgstr "" "or(value, value, ...) -- もし一つでもvalueが殻でない場合、文字列\"1\" " "を返し、それ以外では空文字列を返します。この関数はtestやfirst_non_emptyと一緒に使うことができます。いくつでもvalueを追加できます。" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " @@ -18982,7 +19001,7 @@ msgstr "" "not(value) -- もしvalueが空の場合文字列\"1\" " "を返し、それ以外では空文字列を返します。この関数はtestやfirst_non_emptyと一緒に使うことができます。いくつでもvalueを追加できます。" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -18994,7 +19013,7 @@ msgstr "" "list1とlist2のアイテムをつなげて、大小文字無視の比較で同じアイテムを取り除いたリストを返します。もし大小文字が違う場合、list1の物が使われま" "す。list1とlist2、そして返されるリストのアイテムはseparatorで区切られます。" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -19005,7 +19024,7 @@ msgstr "" "大小文字無視の比較を使い、list1の中からlist2の中に該当する物を取り除いたリストを返します。list1とlist2、そして返されるリストのアイテム" "はseparatorで区切られます。" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -19016,7 +19035,7 @@ msgstr "" "大小文字無視の比較を使い、list1の中からlist2の中に該当しない物を取り除いたリストを返します。list1とlist2、そして返されるリストのアイテ" "ムはseparatorで区切られます。" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -19027,7 +19046,7 @@ msgstr "" "direction が0の場合、リストは昇順で、それ以外の時には降順でソートされます。listと返されるリストのアイテムはseparatorで区切られます" "。" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -19039,7 +19058,7 @@ msgstr "" "が同じアイテムを持っている場合yes_val を返し、それ以外の場合にはno_valを返す。アイテムは各リストを適切なセパレーター(sep1 と " "sep2)で分解した物です。リスト中のアイテムの順序は関係ありません。比較は大文字小文字を無視します。" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -19052,7 +19071,7 @@ msgstr "" "をアイテムに分解したリストを作ります。そして各アイテムにsearch_reにマッチするかチェックします。もしマッチするときにはこの関数から返されるリストに" "付け加えられます。もしopt_replace が空文字で無い場合には、返されるリストにアイテムが付け加えられる前に置換を行います。" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " @@ -19061,7 +19080,7 @@ msgstr "" "today() -- 今日の日付の文字列を返します。この値は format_date や days_between " "で使えるようにデザインされていますが、通常の文字列としても使用できます。日付はISOフォーマットです。" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -19072,7 +19091,7 @@ msgstr "" "date1とdate2の間の日数を返します。もしdate1がdate2より大きい場合、数は正になりますが、それ以外の時は負です。もしdate1やdate2" "が日付でない場合、関数は空文字列を返します。" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -19083,7 +19102,7 @@ msgstr "" "lang_codesで渡される言語コードに対応する文字列を返します。もし localize がゼロならば、文字列を英語で返します。もし localize " "がゼロでなければ、現在のローケールに従った言語の文字列で返します。Lang_codes はコンマ区切りのリストです。" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -19142,166 +19161,174 @@ msgid "English (Australia)" msgstr "英語 (オーストラリア)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 +msgid "English (Japan)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 msgid "English (Bulgaria)" msgstr "英語 (ブルガリア)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "英語 (ニュージーランド)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "英語 (カナダ)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "英語 (ギリシャ)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "英語 (インド)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "英語 (ネパール)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "英語 (タイ)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "英語 (トルコ)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "英語 (キプロス)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "英語 (チェコ共和国)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "英語 (パキスタン)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "英語 (クロアチア)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "英語 (インドネシア)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "英語 (イスラエル)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "英語 (ロシア)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "英語 (シンガポール)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "英語 (イエメン)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "英語 (アイルランド)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "英語 (中国)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "英語 (南アフリカ)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "スペイン語 (パラグアイ)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "スペイン語 (ウルグアイ)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "スペイン語 (アルゼンチン)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "スペイン語 (メキシコ)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "スペイン語 (キューバ)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "スペイン語 (チリ)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "スペイン語 (エクアドル)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "スペイン語 (ホンジュラス)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "スペイン語 (ベネズエラ)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "スペイン語 (ボリビア)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "スペイン語 (ニカラグア)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "スペイン語 (コロンビア)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "ドイツ語 (オーストリア)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "フランス語(ベラルーシ)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "ドイツ語 (オランダ)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "ドイツ語 (ベルギー)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "AM" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "PM" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "am" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "pm" diff --git a/src/calibre/translations/kn.po b/src/calibre/translations/kn.po index d05e6522f5..993337ef2f 100644 --- a/src/calibre/translations/kn.po +++ b/src/calibre/translations/kn.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-29 18:58+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Kannada <kn@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:00+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:24+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -464,7 +464,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -886,7 +886,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -898,10 +898,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -930,17 +930,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1052,8 +1052,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2768,13 +2768,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2782,7 +2782,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3154,7 +3154,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3592,7 +3592,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4468,52 +4468,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4521,123 +4521,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4645,7 +4645,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4654,13 +4654,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4671,33 +4671,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4787,8 +4791,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5433,7 +5437,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5584,75 +5588,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5782,8 +5786,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5806,6 +5810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6336,18 +6341,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7214,7 +7223,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7637,10 +7646,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7653,68 +7662,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8002,7 +8011,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9223,7 +9232,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9563,7 +9572,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10842,43 +10851,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10908,7 +10917,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11095,54 +11104,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13932,6 +13941,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14266,7 +14279,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14276,7 +14289,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14328,7 +14341,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14417,13 +14430,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14456,7 +14469,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14464,7 +14477,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14472,7 +14485,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14480,13 +14493,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14520,20 +14533,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14883,40 +14896,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15219,7 +15232,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15469,25 +15482,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15926,64 +15945,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17740,7 +17759,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17763,67 +17782,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17832,7 +17851,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17840,7 +17859,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17848,7 +17867,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17856,7 +17875,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17865,7 +17884,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17874,14 +17893,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17889,7 +17908,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17897,7 +17916,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17953,166 +17972,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/ko.po b/src/calibre/translations/ko.po index c651ed05b7..72c93e1de5 100644 --- a/src/calibre/translations/ko.po +++ b/src/calibre/translations/ko.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 16:02+0000\n" "Last-Translator: Kovid Goyal <Unknown>\n" "Language-Team: Korean <ko@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:01+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:25+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "아무 것도 안함" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "아무 것도 안함" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "아무 것도 안함" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "아무 것도 안함" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "아무 것도 안함" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -466,7 +466,7 @@ msgid "Change the way calibre behaves" msgstr "Calibre가 동작하는 방식을 변경합니다" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "사용자 정의 열 추가" @@ -896,7 +896,7 @@ msgstr "주어진 이름의 플러그인을 사용하지 않습니다" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -908,10 +908,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "예" @@ -940,17 +940,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "안드로이드폰과 통신합니다." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "장치에 전자책을 전송할 디렉토리의 목록입니다. 쉼표(,)로 구분합니다. 먼저 기존의 디렉토리를 사용됩니다." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "S60 휴대폰과 통신합니다." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1069,8 +1069,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2843,13 +2843,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2859,7 +2859,7 @@ msgstr "" "HTML 파일 내의 링크들을 따라갈 때 반복할 최대 수준입니다. 양수여야 합니다. 0은 루트 HTML 파일내의 링크를 따라가지 않음을 " "암시합니다. 기본값은 %default 입니다." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3242,7 +3242,7 @@ msgstr "템플릿 오류" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "아니오" @@ -3687,7 +3687,7 @@ msgstr "서문" msgid "Main Text" msgstr "본문" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "%s 형식의 책은 지원하지 않습니다" @@ -4614,52 +4614,52 @@ msgstr "분류 디렉토리 내보내기" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "발견된 라이브러리가 없음" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "라이브러리 전환/생성..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4667,123 +4667,123 @@ msgstr "라이브러리 전환/생성..." msgid "%d books" msgstr "%d 권의 책" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "빠른 전환" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "라이브러리 이름 변경" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "무작위로 책 선택" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "라이브러리 관리" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "라이브러리 메타정보 백업 상태" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "모든 책의 메타정보 백업을 시작" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "라이브러리 검사" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "이름 변경" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "<b>%s</b> 라이브러리의 새로운 이름을 선택하세요. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "이미 존재함" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "%s 폴더는 이미 존재합니다. 삭제를 먼저 하세요." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "이름 변경 실패" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "없음" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "백업 상태" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "메타정보 백업" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4791,7 +4791,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4800,13 +4800,13 @@ msgstr "" msgid "Success" msgstr "성공" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4817,33 +4817,37 @@ msgstr "" msgid "Failed" msgstr "실패" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "데이터베이스 무결성 검사가 실패했으며, 자세한 사항은 상세히 보기를 누르세요." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "문제가 발견되지 않음" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "허용안함" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "작업이 실행중이면 라이브러리를 변경할 수 없습니다." @@ -4933,8 +4937,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5579,7 +5583,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5730,75 +5734,75 @@ msgstr "" msgid "Adding..." msgstr "추가하는중..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "모든 하위 디렉토리에서 추가..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "경로 오류" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "지정한 디렉토리는 처리할 수 없습니다." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "책 없음" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "발견된 책이 없습니다" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "권한 없음" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "추가됨" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "추가하기 실패" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "중복 파일이 존재합니다!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "중복 파일 추가..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "저장하는 중..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "저장됨" @@ -5928,8 +5932,8 @@ msgstr "이 폴더와 하위폴더에서 Calibre의 라이브러리로 가져올 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5952,6 +5956,7 @@ msgstr "폴더마다 여러권의 책, 모든 전자책 파일은 다른 책이 #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6482,18 +6487,22 @@ msgstr "일반 보기" msgid "HTML Source" msgstr "HTML 소스" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "단체로 변환하기" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "출력 형식 특유의 옵션입니다." @@ -7363,7 +7372,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7791,10 +7800,10 @@ msgstr "표지 탐색기를 불러올 수 없습니다" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7807,68 +7816,68 @@ msgid "Undefined" msgstr "정의되지 않음" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "별" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "별점 지정 안함" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " 색인:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "변경사항 적용" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "시리즈 제거" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "모든 태그 지우기" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "추가할 태그" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "제거할 태그" @@ -8156,7 +8165,7 @@ msgid "My Books" msgstr "나의 책" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "분류를 생성합니다." @@ -9380,7 +9389,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9720,7 +9729,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10999,43 +11008,43 @@ msgstr "" msgid "Unavailable" msgstr "이용할 수 없음" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "작업:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "작업 목록을 보려면 클릭하세요" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - 작업" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -11065,7 +11074,7 @@ msgstr "단축키(&S):" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11252,54 +11261,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "<b>편집</b>하려면 더블클릭하세요<br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "%s 열을 숨김" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "%s순으로 정렬" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "오름차순" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "내림차순" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "%s에 대한 문자열 정렬을 변경" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "왼쪽" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "오른쪽" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "중앙" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "열 표시" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "기본 배치로 복원" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14106,6 +14115,10 @@ msgstr "생성(&R)" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "프로그램 코드(&P): (be sure to follow python indenting rules)" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14440,7 +14453,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14450,7 +14463,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14502,7 +14515,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14591,13 +14604,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14630,7 +14643,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14638,7 +14651,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14646,7 +14659,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14654,13 +14667,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14694,20 +14707,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -15059,40 +15072,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "일부 책들을 변환할 수 없음" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "단체로 변환하기 위해 책을 대기시킵니다" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "뉴스 가져오기: " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15395,7 +15408,7 @@ msgid "Options to customize the ebook viewer" msgstr "전자책 뷰어 사용자 정의 옵션" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "최근 사용된 창 크기를 기억" @@ -15645,25 +15658,31 @@ msgstr "책 불러오는중..." msgid "Could not open ebook" msgstr "전자책을 열 수 없음" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "전자책 뷰어를 제어하는 옵션" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "콘솔에 자바스크립트 경고와 콘솔 메시지를 출력합니다" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -16113,64 +16132,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "체크됨" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "예" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "아니오" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "체크 안 됨" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "오늘" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "어제" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "이번달" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "일 전" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "빈 칸" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "비어 있음" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17957,7 +17976,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17980,67 +17999,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -18049,7 +18068,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -18057,7 +18076,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -18065,7 +18084,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -18073,7 +18092,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -18082,7 +18101,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -18091,14 +18110,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -18106,7 +18125,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -18114,7 +18133,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -18170,166 +18189,174 @@ msgid "English (Australia)" msgstr "영어 (오스트레일리아)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +msgid "English (Bulgaria)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "영어 (뉴질랜드)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "영어 (캐나다)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "영어 (인도)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "영어 (태국)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "영어 (키프로스)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "영어 (파키스탄)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "영어 (이스라엘)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "영어 (싱가포르)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "영어 (예멘)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "영어 (아일랜드)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "영우 (중국)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "스페인어 (파라과이)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "독일어 (AT)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "독일어 (네덜란드)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "독일어 (BE)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/ku.po b/src/calibre/translations/ku.po new file mode 100644 index 0000000000..c3bbbf3893 --- /dev/null +++ b/src/calibre/translations/ku.po @@ -0,0 +1,19163 @@ +# Kurdish translation for calibre +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the calibre package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: calibre\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" +"PO-Revision-Date: 2011-12-12 17:33+0000\n" +"Last-Translator: Erdal Ronahi <erdal.ronahi@gmail.com>\n" +"Language-Team: Kurdish <ku@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Launchpad-Export-Date: 2011-12-13 04:53+0000\n" +"X-Generator: Launchpad (build 14458)\n" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 +msgid "Does absolutely nothing" +msgstr "Tiştek nake" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:105 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:108 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:119 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 +#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:79 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:593 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 +#: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 +#: /home/kovid/work/calibre/src/calibre/ebooks/chm/metadata.py:56 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:443 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:34 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:36 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:98 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:484 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:714 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:752 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/extz.py:23 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:39 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:64 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:66 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:120 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:122 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1118 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1228 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:41 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/plucker.py:25 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:23 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:49 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:88 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:91 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rtf.py:101 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:49 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:318 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:79 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/covers.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:80 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:82 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:363 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:365 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/identify.py:466 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:125 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:18 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:43 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:85 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:169 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:748 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:1004 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:1006 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:1008 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/utils.py:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer2/indexer.py:496 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:145 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:147 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1008 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1013 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1085 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:144 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:151 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:66 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:113 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:120 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:173 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:174 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/palmdoc/writer.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ztxt/writer.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:82 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:83 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:73 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:74 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:63 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:64 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:52 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:65 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:66 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:63 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:64 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:62 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:63 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:102 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:103 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:320 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:580 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1173 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1176 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:811 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1045 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1225 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1228 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1231 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:220 +#: /home/kovid/work/calibre/src/calibre/library/database.py:914 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:548 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:556 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:567 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2057 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2209 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3264 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3266 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3399 +#: /home/kovid/work/calibre/src/calibre/library/server/content.py:240 +#: /home/kovid/work/calibre/src/calibre/library/server/content.py:241 +#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:243 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 +#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 +#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 +#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:46 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:54 +msgid "Unknown" +msgstr "Nayê zanîn" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:77 +msgid "Base" +msgstr "Bingeh" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/to_zip.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:397 +msgid "Customize" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:57 +msgid "Cannot configure" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:318 +msgid "File type" +msgstr "Cureyê pelî" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:354 +msgid "Metadata reader" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:384 +msgid "Metadata writer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:414 +msgid "Catalog generator" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:523 +msgid "User Interface Action" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:287 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:309 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:206 +msgid "Preferences" +msgstr "Vebijêrk" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:41 +msgid "Store" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:613 +msgid "An ebook store." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:20 +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:50 +msgid "" +"Create a TXTZ archive when a TXT file is imported containing Markdown or " +"Textile references to images. The referenced images as well as the TXT file " +"are added to the archive." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:127 +msgid "Extract cover from comic files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:164 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:175 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:187 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:197 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:207 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:218 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:229 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:239 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:249 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:259 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:269 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:279 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:289 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:300 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:312 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:333 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:344 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:354 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:365 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:375 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:386 +#, python-format +msgid "Read metadata from %s files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:323 +msgid "Read metadata from ebooks in RAR archives" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:397 +msgid "Read metadata from ebooks in ZIP archives" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:410 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:431 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:441 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:463 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:474 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:484 +#, python-format +msgid "Set metadata in %s files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:420 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:452 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:495 +#, python-format +msgid "Set metadata from %s files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:729 +msgid "Add books to calibre or the connected device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:734 +msgid "Fetch annotations from a connected Kindle (experimental)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:739 +msgid "Generate a catalog of the books in your calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:744 +msgid "Convert books to various ebook formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 +msgid "Delete books from your calibre library or connected device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:754 +msgid "Edit the metadata of books in your calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 +msgid "Read books in your calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:764 +msgid "Download news from the internet in ebook form" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:769 +msgid "Show a list of related books quickly" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:774 +msgid "Export books from your calibre library to the hard disk" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:779 +msgid "Show book details in a separate popup" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:784 +msgid "Restart calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:789 +msgid "Open the folder that contains the book files in your calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 +msgid "Send books to the connected device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +msgid "" +"Send books via email or the web also connect to iTunes or folders on your " +"computer as if they are devices" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 +msgid "Browse the calibre User Manual" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:811 +msgid "Customize calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 +msgid "Easily find books similar to the currently selected one" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:821 +msgid "" +"Switch between different calibre libraries and perform maintenance on them" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 +msgid "Copy books from the devce to your calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 +msgid "Edit the collections in which books are placed on your device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 +msgid "Copy a book from one calibre library to another" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 +msgid "Make small tweaks to epub files in your calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:847 +msgid "" +"Find the next or previous match when searching in your calibre library in " +"highlight mode" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 +msgid "Choose a random book from your calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:860 +msgid "Search for books from different book sellers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 +msgid "Get new calibre plugins or update your existing ones" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 +msgid "Look and Feel" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:897 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:909 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:920 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:931 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:943 +msgid "Interface" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:901 +msgid "Adjust the look and feel of the calibre interface to suit your tastes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:907 +msgid "Behavior" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:913 +msgid "Change the way calibre behaves" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 +msgid "Add your own columns" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:924 +msgid "Add/remove your own columns to the calibre book list" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:929 +msgid "Toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:935 +msgid "" +"Customize the toolbars and context menus, changing which actions are " +"available in each" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:941 +msgid "Searching" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:947 +msgid "Customize the way searching for books works in calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 +msgid "Input Options" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:954 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:965 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:976 +msgid "Conversion" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 +msgid "Set conversion options specific to each input format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:963 +msgid "Common Options" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 +msgid "Set conversion options common to all formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:974 +msgid "Output Options" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 +msgid "Set conversion options specific to each output format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:985 +msgid "Adding books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:987 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:999 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1023 +msgid "Import/Export" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:991 +msgid "Control how calibre reads metadata from files when adding books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:997 +msgid "Saving books to disk" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 +msgid "" +"Control how calibre exports files from its database to disk when using Save " +"to disk" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +msgid "Sending books to devices" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1015 +msgid "Control how calibre transfers files to your ebook reader" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1021 +msgid "Metadata plugboards" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 +msgid "Change metadata fields before saving/sending" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1032 +msgid "Template Functions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1034 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1081 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1093 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1104 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1115 +msgid "Advanced" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 +msgid "Create your own template functions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1043 +msgid "Sharing books by email" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1045 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1057 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1070 +msgid "Sharing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1049 +msgid "" +"Setup sharing of books via email. Can be used for automatic sending of " +"downloaded news to your devices" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1055 +msgid "Sharing over the net" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1061 +msgid "" +"Setup the calibre Content Server which will give you access to your calibre " +"library from anywhere, on any device, over the internet" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1068 +msgid "Metadata download" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 +msgid "Control how calibre downloads ebook metadata from the net" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1079 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:276 +msgid "Plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 +msgid "Add/remove/customize various bits of calibre functionality" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 +msgid "Tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1097 +msgid "Fine tune how calibre behaves in various contexts" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1102 +msgid "Keyboard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 +msgid "Customize the keyboard shortcuts used by calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1113 +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 +msgid "Miscellaneous" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 +msgid "Miscellaneous advanced configuration" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:102 +msgid "Conversion Input" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:134 +msgid "" +"Specify the character encoding of the input document. If set this option " +"will override any encoding declared by the document itself. Particularly " +"useful for documents that do not declare an encoding or that have erroneous " +"encoding declarations." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:234 +msgid "Conversion Output" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:248 +msgid "" +"If specified, the output plugin will try to create output that is as human " +"readable as possible. May not have any effect for some output plugins." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:264 +#, python-format +msgid "Convert ebooks to the %s format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:48 +msgid "Input profile" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:52 +msgid "" +"This profile tries to provide sane defaults and is useful if you know " +"nothing about the input document." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:60 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:453 +msgid "" +"This profile is intended for the SONY PRS line. The 500/505/600/700 etc." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:72 +msgid "This profile is intended for the SONY PRS 300." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:81 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:493 +msgid "This profile is intended for the SONY PRS-900." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:89 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:538 +msgid "This profile is intended for the Microsoft Reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:100 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:549 +msgid "This profile is intended for the Mobipocket books." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:113 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:562 +msgid "This profile is intended for the Hanlin V3 and its clones." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:574 +msgid "This profile is intended for the Hanlin V5 and its clones." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:135 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:582 +msgid "This profile is intended for the Cybook G3." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:148 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:596 +msgid "This profile is intended for the Cybook Opus." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:160 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:609 +msgid "This profile is intended for the Amazon Kindle." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:172 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:669 +msgid "This profile is intended for the Irex Illiad." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:184 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:682 +msgid "This profile is intended for the IRex Digital Reader 1000." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:197 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:696 +msgid "This profile is intended for the IRex Digital Reader 800." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:209 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:710 +msgid "This profile is intended for the B&N Nook." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:231 +msgid "Output profile" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:235 +msgid "" +"This profile tries to provide sane defaults and is useful if you want to " +"produce a document intended to be read at a computer or on a range of " +"devices." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:277 +msgid "" +"Intended for the iPad and similar devices with a resolution of 768x1024" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:437 +msgid "Intended for generic tablet devices, does no resizing of images" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:445 +msgid "" +"Intended for the Samsung Galaxy and similar tablet devices with a resolution " +"of 600x1280" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:471 +msgid "This profile is intended for the Kobo Reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:484 +msgid "This profile is intended for the SONY PRS-300." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:502 +msgid "Suitable for use with any e-ink device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:509 +msgid "Suitable for use with any large screen e-ink device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:518 +msgid "This profile is intended for the 5-inch JetBook." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:527 +msgid "" +"This profile is intended for the SONY PRS line. The 500/505/700 etc, in " +"landscape mode. Mainly useful for comics." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:635 +msgid "This profile is intended for the Amazon Kindle DX." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:659 +msgid "This profile is intended for the Amazon Kindle Fire." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:722 +msgid "This profile is intended for the B&N Nook Color." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:733 +msgid "This profile is intended for the Sanda Bambook." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:748 +msgid "" +"This profile is intended for the PocketBook Pro 900 series of devices." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 +msgid "Installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:32 +msgid "Mapping for filetype plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:33 +msgid "Local plugin customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:34 +msgid "Disabled plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:35 +msgid "Enabled plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:493 +#, python-format +msgid "Initialization of plugin %s failed with traceback:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:540 +msgid "" +" %prog options\n" +"\n" +" Customize calibre by loading external plugins.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:546 +msgid "Add a plugin by specifying the path to the zip file containing it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:548 +msgid "Remove a custom plugin by name. Has no effect on builtin plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:550 +msgid "" +"Customize plugin. Specify name of plugin and customization string separated " +"by a comma." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:552 +msgid "List all installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:554 +msgid "Enable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:556 +msgid "Disable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/backend.py:272 +#: /home/kovid/work/calibre/src/calibre/db/backend.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:133 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:142 +#, python-format +msgid "Path to library too long. Must be less than %d characters." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/cache.py:139 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:995 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 +msgid "Yes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/fields.py:163 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1123 +msgid "Main" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/fields.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1125 +msgid "Card A" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/db/fields.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1127 +msgid "Card B" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/debug.py:154 +msgid "Debug log" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:17 +msgid "Communicate with Android phones." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 +msgid "" +"Comma separated list of directories to send e-books to on the device. The " +"first one that exists will be used" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 +msgid "Communicate with S60 phones." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 +msgid "Communicate with WebOS tablets." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:47 +msgid "" +"<p>If you do not want calibre to recognize your Apple iDevice when it is " +"connected to your computer, click <b>Disable Apple Driver</b>.</p><p>To " +"transfer books to your iDevice, click <b>Disable Apple Driver</b>, then use " +"the 'Connect to iTunes' method recommended in the <a " +"href=\"http://www.mobileread.com/forums/showthread.php?t=118559\">Calibre + " +"iDevices FAQ</a>, using the <em>Connect/Share</em>|<em>Connect to " +"iTunes</em> menu item.</p><p>Enabling the Apple driver for direct connection " +"to iDevices is an unsupported advanced user mode.</p><p></p>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:64 +msgid "Disable Apple driver" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:68 +msgid "Enable Apple driver" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:118 +msgid "Use Series as Category in iTunes/iBooks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:119 +msgid "Enable to use the series name as the iTunes Genre, iBooks Category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:121 +msgid "Cache covers from iTunes/iBooks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:123 +msgid "Enable to cache and display covers from iTunes/iBooks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:124 +#, python-format +msgid "" +"\"Copy files to iTunes Media folder %s\" is enabled in iTunes " +"Preferences|Advanced" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:126 +msgid "" +"<p>This setting should match your iTunes <i>Preferences</i>|<i>Advanced</i> " +"setting.</p><p>Disabling will store copies of books transferred to iTunes in " +"your calibre configuration directory.</p><p>Enabling indicates that iTunes " +"is configured to store copies in your iTunes Media folder.</p>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:190 +msgid "Apple device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:192 +msgid "Communicate with iTunes/iBooks." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:206 +msgid "Apple device detected, launching iTunes, please wait ..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:208 +msgid "" +"Cannot copy books directly from iDevice. Drag from iTunes Library to " +"desktop, then add to calibre's Library window." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:371 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:374 +msgid "Updating device metadata listing..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:451 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:490 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1082 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1126 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3124 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3164 +#, python-format +msgid "%(num)d of %(tot)d" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:498 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1131 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3171 +#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:110 +msgid "finished" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:683 +msgid "" +"Some books not found in iTunes database.\n" +"Delete using the iBooks app.\n" +"Click 'Show Details' for a list." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:1045 +msgid "" +"Some cover art could not be converted.\n" +"Click 'Show Details' for a list." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2687 +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1148 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1150 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:341 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:354 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3125 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:187 +msgid "News" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2688 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:65 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:663 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3084 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3102 +msgid "Catalog" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3025 +msgid "Communicate with iTunes." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:24 +msgid "Communicate with the Sanda Bambook eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:25 +msgid "Li Fanxi" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:42 +msgid "Device IP Address (restart calibre after changing)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:48 +msgid "" +"Unable to add book to library directly from Bambook. Please save the book to " +"disk and add the file to library from disk." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:67 +msgid "" +"Unable to connect to Bambook, you need to install Bambook library first." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:75 +msgid "" +"Unable to connect to Bambook. \n" +"If you are trying to connect via Wi-Fi, please make sure the IP address of " +"Bambook has been correctly configured." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:112 +msgid "Bambook" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:234 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:95 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:98 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:101 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:155 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:214 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:244 +msgid "Getting list of books on device..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:264 +#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:324 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:273 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:275 +msgid "Transferring books to device..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:330 +#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:344 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:451 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:486 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:297 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:328 +msgid "Adding books to device metadata listing..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:352 +#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:354 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:125 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:403 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:435 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:334 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:352 +msgid "Removing books from device..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:369 +#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:374 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:439 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:446 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:364 +msgid "Removing books from device metadata listing..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:442 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:394 +msgid "Sending metadata to device..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/bambook/libbambookcore.py:129 +msgid "Bambook SDK has not been installed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/binatone/driver.py:17 +msgid "Communicate with the Binatone Readme eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:13 +msgid "Communicate with the Blackberry smart phone." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:14 +#: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:37 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:263 +#: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:18 +#: /home/kovid/work/calibre/src/calibre/devices/prs500/driver.py:90 +msgid "Kovid Goyal" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:36 +msgid "Communicate with the Blackberry playbook." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/boeye/driver.py:14 +msgid "Communicate with BOEYE BEX Serial eBook readers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/boeye/driver.py:35 +msgid "Communicate with BOEYE BDX serial eBook readers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:22 +msgid "Communicate with the Cybook Gen 3 / Opus eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:64 +msgid "Communicate with the Cybook Orizon eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:25 +msgid "Communicate with the EB600 eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:192 +msgid "Communicate with the Astak Mentor EB600" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:215 +msgid "Communicate with the PocketBook 301 reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:232 +msgid "Communicate with the PocketBook 602/603/902/903 reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:252 +msgid "Communicate with the PocketBook 360+ reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:262 +msgid "Communicate with the PocketBook 701" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/edge/driver.py:17 +msgid "Entourage Edge" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/edge/driver.py:18 +msgid "Communicate with the Entourage Edge." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/eslick/driver.py:16 +msgid "Communicate with the ESlick eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/eslick/driver.py:49 +msgid "Communicate with the Sigmatek eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:33 +msgid "Use an arbitrary folder as a device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:29 +#: /home/kovid/work/calibre/src/calibre/devices/interface.py:14 +msgid "Device Interface" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:19 +msgid "Communicate with Hanlin V3 eBook readers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:96 +msgid "Communicate with Hanlin V5 eBook readers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:114 +msgid "Communicate with the BOOX eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:133 +msgid "" +"Comma separated list of directories to send e-books to on the device. The " +"first one that exists will be used." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:22 +msgid "Communicate with the Hanvon N520 eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:47 +msgid "Communicate with The Book reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:58 +msgid "Communicate with the Libre Air reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:71 +msgid "Communicate with the SpringDesign Alex eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:131 +msgid "Communicate with the Azbooka" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:150 +msgid "Communicate with the Elonex EB 511 eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:170 +msgid "Communicate with the Cybook Odyssey eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/iliad/driver.py:16 +msgid "Communicate with the IRex Iliad eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/iliad/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:18 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:43 +msgid "John Schember" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/interface.py:57 +msgid "Cannot get files from this device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:16 +msgid "Communicate with the IRex Digital Reader 1000 eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:42 +msgid "Communicate with the IRex Digital Reader 800" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/iriver/driver.py:15 +msgid "Communicate with the Iriver Story reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:20 +msgid "Communicate with the JetBook eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:88 +msgid "Communicate with the MiBuk Wolder reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:116 +msgid "Communicate with the JetBook Mini reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kindle/apnx.py:28 +#, python-format +msgid "Not a valid MOBI file. Reports identity of %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kindle/apnx.py:44 +msgid "Could not generate page mapping." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:46 +msgid "Communicate with the Kindle eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:186 +#, python-format +msgid "%(time)s<br />Last Page Read: %(loc)d (%(pr)d%%)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:192 +#, python-format +msgid "%(time)s<br />Last Page Read: Location %(loc)d (%(pr)d%%)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:211 +#, python-format +msgid "<b>Location %(dl)d • %(typ)s</b><br />%(text)s<br />" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:220 +#, python-format +msgid "<b>Page %(dl)d • %(typ)s</b><br />" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:225 +#, python-format +msgid "<b>Location %(dl)d • %(typ)s</b><br />" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:288 +msgid "Communicate with the Kindle 2/3 eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:297 +msgid "Send page number information when sending books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:299 +msgid "" +"The Kindle 3 and newer versions can use page number information in MOBI " +"files. With this option, calibre will calculate and send this information to " +"the Kindle when uploading MOBI files by USB. Note that the page numbers do " +"not correspond to any paper book." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:304 +msgid "Use slower but more accurate page number generation" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:306 +msgid "" +"There are two ways to generate the page number information. Using the more " +"accurate generator will produce pages that correspond better to a printed " +"book. However, this method is slower and will slow down sending files to the " +"Kindle." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:374 +msgid "Communicate with the Kindle DX eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:383 +msgid "Communicate with the Kindle Fire" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:26 +msgid "Communicate with the Kobo Reader" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:56 +msgid "The Kobo supports several collections including " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:58 +msgid "Create tags for automatic management" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:59 +msgid "Upload covers for books (newer readers)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:60 +msgid "" +"Normally, the KOBO readers get the cover image from the ebook file itself. " +"With this option, calibre will send a separate cover image to the reader, " +"useful if you have modified the cover." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:64 +msgid "Upload Black and White Covers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:65 +msgid "Show expired books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:66 +msgid "" +"A bug in an earlier version left non kepubs book records in the datbase. " +"With this option Calibre will show the expired records and allow you to " +"delete them with the new delete logic." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:573 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:381 +msgid "Not Implemented" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:574 +msgid "" +"\".kobo\" files do not exist on the device as books instead, they are rows " +"in the sqlite database. Currently they cannot be exported or viewed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1003 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1009 +#, python-format +msgid "" +"<hr /><b>Book Last Read:</b> %(time)s<br /><b>Percentage Read:</b> " +"%(pr)d%%<hr />" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1027 +#, python-format +msgid "" +"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br " +"/><b>Chapter Progress:</b> %(chapter_progress)s%%<br />%(annotation)s<br " +"/><hr />" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1036 +#, python-format +msgid "" +"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br " +"/><b>Chapter Progress:</b> %(chapter_progress)s%%<br /><b>Highlight:</b> " +"%(text)s<br /><hr />" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1045 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:1055 +#, python-format +msgid "" +"<b>Chapter %(chapter)d:</b> %(chapter_title)s<br /><b>%(typ)s</b><br " +"/><b>Chapter Progress:</b> %(chapter_progress)s%%<br /><b>Highlight:</b> " +"%(text)s<br /><b>Notes:</b> %(annotation)s<br /><hr />" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:19 +msgid "Communicate with the Palm Pre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:39 +msgid "Communicate with the Bq Avant" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:60 +msgid "Communicate with the Sweex/Kogan/Q600/Wink" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:81 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:108 +msgid "Communicate with the Pandigital Novel" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:127 +msgid "Communicate with the VelocityMicro" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:145 +msgid "Communicate with the GM2000" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:165 +msgid "Communicate with the Acer Lumiread" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:199 +msgid "Communicate with the Aluratek Color" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:219 +msgid "Communicate with the Trekstor" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:242 +msgid "Communicate with the EEE Reader" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:263 +msgid "Communicate with the Adam tablet" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:284 +msgid "Communicate with the Nextbook Reader" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:336 +msgid "Communicate with the Moovybook Reader" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:358 +msgid "Communicate with the COBY" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:384 +msgid "Communicate with the Ex124G" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:17 +msgid "Communicate with the Nokia 770 internet tablet." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:40 +msgid "Communicate with the Nokia 810/900 internet tablet." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:74 +msgid "Communicate with the Nokia E52" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:20 +msgid "The Nook" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:21 +msgid "Communicate with the Nook eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:84 +msgid "Communicate with the Nook Color, TSR and Tablet eBook readers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:17 +msgid "Communicate with the Nuut2 eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs500/driver.py:89 +msgid "Communicate with the Sony PRS-500 eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:22 +msgid "Communicate with Sony eBook readers older than the PRST1." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:60 +msgid "Comments have been removed as the SONY reader chokes on them" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:66 +msgid "All by title" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:67 +msgid "All by author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:70 +msgid "" +"Comma separated list of metadata fields to turn into collections on the " +"device. Possibilities include: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:73 +#, python-format +msgid "" +". Two special collections are available: %(abt)s:%(abtv)s and " +"%(aba)s:%(abav)s. Add these values to the list to enable them. The " +"collections will be given the name provided after the \":\" character." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:77 +msgid "Upload separate cover thumbnails for books (newer readers)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:78 +msgid "" +"Normally, the SONY readers get the cover image from the ebook file itself. " +"With this option, calibre will send a separate cover image to the reader, " +"useful if you are sending DRMed books in which you cannot change the cover. " +"WARNING: This option should only be used with newer SONY readers: 350, 650, " +"950 and newer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:84 +msgid "" +"Refresh separate covers when using automatic management (newer readers)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:86 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:80 +msgid "" +"Set this option to have separate book covers uploaded every time you connect " +"your device. Unset this option if you have so many books on the reader that " +"performance is unacceptable." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:90 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:84 +msgid "Preserve cover aspect ratio when building thumbnails" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:92 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:86 +msgid "" +"Set this option if you want the cover thumbnails to have the same aspect " +"ratio (width to height) as the cover. Unset it if you want the thumbnail to " +"be the maximum size, ignoring aspect ratio." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:96 +msgid "Search for books in all folders" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:98 +msgid "" +"Setting this option tells calibre to look for books in all folders on the " +"device and its cards. This permits calibre to find books put on the device " +"by other software and by wireless download." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:190 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/structure.py:69 +msgid "Unnamed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:38 +msgid "Communicate with the PRST1 and newer SONY eBook readers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:73 +msgid "Upload separate cover thumbnails for books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:74 +msgid "" +"Normally, the SONY readers get the cover image from the ebook file itself. " +"With this option, calibre will send a separate cover image to the reader, " +"useful if you are sending DRMed books in which you cannot change the cover." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:78 +msgid "Refresh separate covers when using automatic management" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:90 +msgid "Use SONY Author Format (First Author Only)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:92 +msgid "" +"Set this option if you want the author on the Sony to appear the same way " +"the T1 sets it. This means it will only show the first author for books with " +"multiple authors. Leave this disabled if you use Metadata Plugboards." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/sne/driver.py:17 +msgid "Communicate with the Samsung SNE eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:11 +msgid "Communicate with the Teclast K3/K5 reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:37 +msgid "Communicate with the Newsmy reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:48 +msgid "Communicate with the Archos reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:58 +msgid "Communicate with the Pico reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:68 +msgid "Communicate with the iPapyrus reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:79 +msgid "Communicate with the Sovos reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:89 +msgid "Communicate with the Sunstech EB700 reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:100 +msgid "Communicate with the Stash W950 reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:112 +msgid "Communicate with the Wexler reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:285 +#, python-format +msgid "Unable to detect the %s disk drive. Try rebooting." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:466 +#, python-format +msgid "Unable to detect the %s mount point. Try rebooting." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:534 +#, python-format +msgid "Unable to detect the %s disk drive." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:632 +#, python-format +msgid "" +"Unable to detect the %s disk drive. Either the device has already been " +"ejected, or your kernel is exporting a deprecated version of SYSFS." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:641 +#, python-format +msgid "Unable to mount main memory (Error code: %d)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:692 +#, python-format +msgid "" +"The main memory of %s is read only. This usually happens because of file " +"system errors." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:778 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:821 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:831 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:841 +#, python-format +msgid "Could not find mount helper: %s." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:979 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:981 +msgid "The reader has no storage card in this slot." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:983 +#, python-format +msgid "Selected slot: %s is not supported." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1012 +msgid "There is insufficient free space in main memory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1014 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1016 +msgid "There is insufficient free space on the storage card" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:12 +msgid "Configure Device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:57 +msgid "settings for device drivers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:59 +msgid "Ordered list of formats the device will accept" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:61 +msgid "Place files in sub directories if the device supports them" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:81 +msgid "Read metadata from files on device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:65 +msgid "Use author sort instead of author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:67 +msgid "Template to control how books are saved" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:70 +msgid "Extra customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:42 +msgid "Communicate with an eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:94 +msgid "Get device information..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:100 +#, python-format +msgid "" +"Failed to access files in the main memory of your device. You should contact " +"the device manufacturer for support. Common fixes are: try a different USB " +"cable/USB port on your computer. If you device has a \"Reset to factory " +"defaults\" type of setting somewhere, use it. Underlying error: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:113 +#, python-format +msgid "" +"Failed to access files on the SD card in your device. This can happen for " +"many reasons. The SD card may be corrupted, it may be too large for your " +"device, it may be write-protected, etc. Try a different SD card, or reformat " +"your SD card using the FAT32 filesystem. Also make sure there are not too " +"many files in the root of your SD card. Underlying error: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:68 +msgid "USB Vendor ID (in hex)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:38 +#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:41 +#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:44 +msgid "" +"Get this ID using Preferences -> Misc -> Get information to set up the user-" +"defined device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:70 +msgid "USB Product ID (in hex)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:72 +msgid "USB Revision ID (in hex)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:79 +msgid "Windows main memory vendor string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:48 +#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:52 +#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:56 +#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:60 +msgid "" +"This field is used only on windows. Get this ID using Preferences -> Misc -> " +"Get information to set up the user-defined device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:81 +msgid "Windows main memory ID string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:84 +msgid "Windows card A vendor string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:86 +msgid "Windows card A ID string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:63 +msgid "Main memory folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:64 +#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:67 +msgid "" +"Enter the folder where the books are to be stored. This folder is prepended " +"to any send_to_device template" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:66 +msgid "Card A folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:207 +#, python-format +msgid "Rendered %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 +#, python-format +msgid "Failed %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:264 +#, python-format +msgid "" +"Failed to process comic: \n" +"\n" +"%s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#, python-format +msgid "" +"Number of colors for grayscale image conversion. Default: %default. Values " +"of less than 256 may result in blurred text on your device if you are " +"creating your comics in EPUB format." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:287 +msgid "" +"Disable normalize (improve contrast) color range for pictures. Default: False" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 +msgid "Maintain picture aspect ratio. Default is to fill the screen." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:292 +msgid "Disable sharpening." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:294 +msgid "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:297 +msgid "Don't split landscape images into two portrait images" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:299 +msgid "" +"Keep aspect ratio and scale image using screen height as image width for " +"viewing in landscape mode." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:302 +msgid "" +"Used for right-to-left publications like manga. Causes landscape pages to be " +"split into portrait pages from right to left." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:306 +msgid "" +"Enable Despeckle. Reduces speckle noise. May greatly increase processing " +"time." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:309 +msgid "" +"Don't sort the files found in the comic alphabetically by name. Instead use " +"the order they were added to the comic." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:313 +msgid "" +"The format that images in the created ebook are converted to. You can " +"experiment to see which format gives you optimal size and look on your " +"device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:317 +msgid "Apply no processing to the image" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:319 +msgid "Do not convert the image to grayscale (black and white)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:321 +msgid "" +"Specify the image size as widthxheight pixels. Normally, an image size is " +"automatically calculated from the output profile, this option overrides it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:325 +msgid "" +"When converting a CBC do not add links to each page to the TOC. Note this " +"only applies if the TOC has more than one section" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:467 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:479 +msgid "Page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:19 +msgid "" +"input_file output_file [options]\n" +"\n" +"Convert an ebook from one format to another.\n" +"\n" +"input_file is the input and output_file is the output. Both must be " +"specified as the first two arguments to the command.\n" +"\n" +"The output ebook format is guessed from the file extension of output_file. " +"output_file can also be of the special format .EXT where EXT is the output " +"file extension. In this case, the name of the output file is derived the " +"name of the input file. Note that the filenames must not start with a " +"hyphen. Finally, if output_file has no extension, then it is treated as a " +"directory and an \"open ebook\" (OEB) consisting of HTML files is written to " +"that directory. These files are the files that would normally have been " +"passed to the output plugin.\n" +"\n" +"After specifying the input and output file you can customize the conversion " +"by specifying various options. The available options depend on the input and " +"output file types. To get help on them specify the input and output file and " +"then use the -h option.\n" +"\n" +"For full documentation of the conversion system see\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:109 +msgid "INPUT OPTIONS" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:110 +#, python-format +msgid "Options to control the processing of the input %s file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:116 +msgid "OUTPUT OPTIONS" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:117 +#, python-format +msgid "Options to control the processing of the output %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:131 +msgid "Options to control the look and feel of the output" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:149 +#, python-format +msgid "" +"Modify the document text and structure using common patterns. Disabled by " +"default. Use %(en)s to enable. Individual actions can be disabled with the " +"%(dis)s options." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:18 +msgid "Modify the document text and structure using user defined patterns." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:166 +msgid "Control auto-detection of document structure." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:176 +msgid "" +"Control the automatic generation of a Table of Contents. By default, if the " +"source file has a Table of Contents, it will be used in preference to the " +"automatically generated one." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:186 +msgid "Options to set metadata in the output" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:189 +msgid "Options to help with debugging the conversion" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:217 +msgid "" +"List builtin recipe names. You can create an ebook from a builtin recipe " +"like this: ebook-convert \"Recipe Name.recipe\" output.epub" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:289 +msgid "Output saved to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:105 +msgid "Level of verbosity. Specify multiple times for greater verbosity." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:112 +msgid "" +"Save the output from different stages of the conversion pipeline to the " +"specified directory. Useful if you are unsure at which stage of the " +"conversion process a bug is occurring." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:121 +msgid "" +"Specify the input profile. The input profile gives the conversion system " +"information on how to interpret various information in the input document. " +"For example resolution dependent lengths (i.e. lengths in pixels). Choices " +"are:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:132 +msgid "" +"Specify the output profile. The output profile tells the conversion system " +"how to optimize the created document for the specified device. In some " +"cases, an output profile is required to produce documents that will work on " +"a device. For example EPUB on the SONY reader. Choices are:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:143 +msgid "" +"The base font size in pts. All font sizes in the produced book will be " +"rescaled based on this size. By choosing a larger size you can make the " +"fonts in the output bigger and vice versa. By default, the base font size is " +"chosen based on the output profile you chose." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:153 +msgid "" +"Mapping from CSS font names to font sizes in pts. An example setting is " +"12,12,14,16,18,20,22,24. These are the mappings for the sizes xx-small to xx-" +"large, with the final size being for huge fonts. The font rescaling " +"algorithm uses these sizes to intelligently rescale fonts. The default is to " +"use a mapping based on the output profile you chose." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:165 +msgid "Disable all rescaling of font sizes." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:172 +msgid "" +"The minimum line height, as a percentage of the element's calculated font " +"size. calibre will ensure that every element has a line height of at least " +"this setting, irrespective of what the input document specifies. Set to zero " +"to disable. Default is 120%. Use this setting in preference to the direct " +"line height specification, unless you know what you are doing. For example, " +"you can achieve \"double spaced\" text by setting this to 240." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:187 +msgid "" +"The line height in pts. Controls spacing between consecutive lines of text. " +"Only applies to elements that do not define their own line height. In most " +"cases, the minimum line height option is more useful. By default no line " +"height manipulation is performed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:197 +msgid "" +"Some badly designed documents use tables to control the layout of text on " +"the page. When converted these documents often have text that runs off the " +"page and other artifacts. This option will extract the content from the " +"tables and present it in a linear fashion." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:207 +msgid "" +"XPath expression that specifies all tags that should be added to the Table " +"of Contents at level one. If this is specified, it takes precedence over " +"other forms of auto-detection." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:216 +msgid "" +"XPath expression that specifies all tags that should be added to the Table " +"of Contents at level two. Each entry is added under the previous level one " +"entry." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:224 +msgid "" +"XPath expression that specifies all tags that should be added to the Table " +"of Contents at level three. Each entry is added under the previous level two " +"entry." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:232 +msgid "" +"Normally, if the source file already has a Table of Contents, it is used in " +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:240 +msgid "Don't add auto-detected chapters to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:248 +#, python-format +msgid "" +"If fewer than this number of chapters is detected, then links are added to " +"the Table of Contents. Default: %default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:254 +#, python-format +msgid "" +"Maximum number of links to insert into the TOC. Set to 0 to disable. Default " +"is: %default. Links are only added to the TOC if less than the threshold " +"number of chapters were detected." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:262 +msgid "" +"Remove entries from the Table of Contents whose titles match the specified " +"regular expression. Matching entries and all their children are removed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:270 +msgid "" +"When creating a TOC from links in the input document, allow duplicate " +"entries, i.e. allow more than one entry with the same text, provided that " +"they point to a different location." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:281 +msgid "" +"An XPath expression to detect chapter titles. The default is to consider " +"<h1> or <h2> tags that contain the words \"chapter\",\"book\",\"section\" or " +"\"part\" as chapter titles as well as any tags that have class=\"chapter\". " +"The expression used must evaluate to a list of elements. To disable chapter " +"detection, use the expression \"/\". See the XPath Tutorial in the calibre " +"User Manual for further help on using this feature." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:295 +msgid "" +"Specify how to mark detected chapters. A value of \"pagebreak\" will insert " +"page breaks before chapters. A value of \"rule\" will insert a line before " +"chapters. A value of \"none\" will disable chapter marking and a value of " +"\"both\" will use both page breaks and lines to mark chapters." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:305 +msgid "" +"Either the path to a CSS stylesheet or raw CSS. This CSS will be appended to " +"the style rules from the source file, so it can be used to override those " +"rules." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:313 +msgid "" +"A comma separated list of CSS properties that will be removed from all CSS " +"style rules. This is useful if the presence of some style information " +"prevents it from being overridden on your device. For example: font-" +"family,color,margin-left,margin-right" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:324 +msgid "" +"An XPath expression. Page breaks are inserted before the specified elements." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:330 +msgid "" +"Some documents specify page margins by specifying a left and right margin on " +"each individual paragraph. calibre will try to detect and remove these " +"margins. Sometimes, this can cause the removal of margins that should not " +"have been removed. In this case you can disable the removal." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:341 +#, python-format +msgid "" +"Set the top margin in pts. Default is %default. Note: 72 pts equals 1 inch" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:346 +#, python-format +msgid "" +"Set the bottom margin in pts. Default is %default. Note: 72 pts equals 1 inch" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:351 +#, python-format +msgid "" +"Set the left margin in pts. Default is %default. Note: 72 pts equals 1 inch" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:356 +#, python-format +msgid "" +"Set the right margin in pts. Default is %default. Note: 72 pts equals 1 inch" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:362 +msgid "" +"Change text justification. A value of \"left\" converts all justified text " +"in the source to left aligned (i.e. unjustified) text. A value of " +"\"justify\" converts all unjustified text to justified. A value of " +"\"original\" (the default) does not change justification in the source file. " +"Note that only some output formats support justification." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:372 +msgid "" +"Remove spacing between paragraphs. Also sets an indent on paragraphs of " +"1.5em. Spacing removal will not work if the source file does not use " +"paragraphs (<p> or <div> tags)." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:379 +msgid "" +"When calibre removes blank lines between paragraphs, it automatically sets a " +"paragraph indent, to ensure that paragraphs can be easily distinguished. " +"This option controls the width of that indent (in em). If you set this value " +"negative, then the indent specified in the input document is used, that is, " +"calibre does not change the indentation." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:388 +msgid "" +"Use the cover detected from the source file in preference to the specified " +"cover." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:394 +msgid "" +"Insert a blank line between paragraphs. Will not work if the source file " +"does not use paragraphs (<p> or <div> tags)." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:401 +msgid "" +"Set the height of the inserted blank lines (in em). The height of the lines " +"between paragraphs will be twice the value set here." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:408 +msgid "" +"Remove the first image from the input ebook. Useful if the input document " +"has a cover image that is not identified as a cover. In this case, if you " +"set a cover in calibre, the output document will end up with two cover " +"images if you do not specify this option." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:417 +msgid "" +"Insert the book metadata at the start of the book. This is useful if your " +"ebook reader does not support displaying/searching metadata directly." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:425 +msgid "" +"Convert plain quotes, dashes and ellipsis to their typographically correct " +"equivalents. For details, see http://daringfireball.net/projects/smartypants" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:433 +msgid "Convert fancy quotes, dashes and ellipsis to their plain equivalents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:441 +msgid "" +"Read metadata from the specified OPF file. Metadata read from this file will " +"override any metadata in the source file." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:448 +#, python-format +msgid "" +"Transliterate unicode characters to an ASCII representation. Use with care " +"because this will replace unicode characters with ASCII. For instance it " +"will replace \"%s\" with \"Mikhail Gorbachiov\". Also, note that in cases " +"where there are multiple representations of a character (characters shared " +"by Chinese and Japanese for instance) the representation based on the " +"current calibre interface language will be used." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:463 +msgid "" +"Preserve ligatures present in the input document. A ligature is a special " +"rendering of a pair of characters like ff, fi, fl et cetera. Most readers do " +"not have support for ligatures in their default fonts, so they are unlikely " +"to render correctly. By default, calibre will turn a ligature into the " +"corresponding pair of normal characters. This option will preserve them " +"instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:475 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:38 +msgid "Set the title." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:479 +msgid "Set the authors. Multiple authors should be separated by ampersands." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:484 +msgid "The version of the title to be used for sorting. " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:488 +msgid "String to be used when sorting by author. " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:492 +msgid "Set the cover to the specified file or URL" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:496 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:54 +msgid "Set the ebook description." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:500 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:56 +msgid "Set the ebook publisher." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:60 +msgid "Set the series this ebook belongs to." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:508 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:62 +msgid "Set the index of the book in this series." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:512 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:64 +msgid "Set the rating. Should be a number between 1 and 5." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:516 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:66 +msgid "Set the ISBN of the book." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:520 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:68 +msgid "Set the tags for the book. Should be a comma separated list." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:524 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:70 +msgid "Set the book producer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:528 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:72 +msgid "Set the language." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:532 +msgid "Set the publication date." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:536 +msgid "Set the book timestamp (used by the date column in calibre)." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:540 +msgid "" +"Enable heuristic processing. This option must be set for any heuristic " +"processing to take place." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:545 +msgid "" +"Detect unformatted chapter headings and sub headings. Change them to h2 and " +"h3 tags. This setting will not create a TOC, but can be used in conjunction " +"with structure detection to create one." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:552 +msgid "" +"Look for common words and patterns that denote italics and italicize them." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:557 +msgid "" +"Turn indentation created from multiple non-breaking space entities into CSS " +"indents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:562 +msgid "" +"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.4, just below " +"the median line length. If only a few lines in the document require " +"unwrapping this value should be reduced" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:570 +msgid "Unwrap lines using punctuation and other formatting clues." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:574 +msgid "" +"Remove empty paragraphs from the document when they exist between every " +"other paragraph" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:579 +msgid "" +"Left aligned scene break markers are center aligned. Replace soft scene " +"breaks that use multiple blank lines with horizontal rules." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:585 +msgid "" +"Replace scene breaks with the specified text. By default, the text from the " +"input document is used." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:590 +msgid "" +"Analyze hyphenated words throughout the document. The document itself is " +"used as a dictionary to determine whether hyphens should be retained or " +"removed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:596 +msgid "" +"Looks for occurrences of sequential <h1> or <h2> tags. The tags are " +"renumbered to prevent splitting in the middle of chapter headings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:602 +msgid "Search pattern (regular expression) to be replaced with sr1-replace." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:607 +msgid "Replacement to replace the text found with sr1-search." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:611 +msgid "Search pattern (regular expression) to be replaced with sr2-replace." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:616 +msgid "Replacement to replace the text found with sr2-search." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:620 +msgid "Search pattern (regular expression) to be replaced with sr3-replace." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:625 +msgid "Replacement to replace the text found with sr3-search." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:729 +msgid "Could not find an ebook inside the archive" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:787 +msgid "Values of series index and rating must be numbers. Ignoring" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:794 +msgid "Failed to parse date/time" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:953 +msgid "Converting input to HTML..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:980 +msgid "Running transforms on ebook..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:1084 +msgid "Creating" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/djvu/input.py:26 +msgid "" +"Try to use the djvutxt program and fall back to pure python implementation " +"if it fails or is not available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:20 +#, python-format +msgid "Failed to parse: %(name)s with error: %(err)s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:27 +msgid "ePub Fixer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/epubcheck.py:18 +msgid "Workaround epubcheck bugs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/epubcheck.py:22 +msgid "" +"Workarounds for bugs in the latest release of epubcheck. epubcheck reports " +"many things as errors that are not actually errors. epub-fix will try to " +"detect these and replace them with constructs that epubcheck likes. This may " +"cause significant changes to your epub, complain to the epubcheck project." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:22 +msgid "" +"%prog [options] file.epub\n" +"\n" +"Fix common problems in EPUB files that can cause them to be rejected by " +"poorly designed publishing services.\n" +"\n" +"By default, no fixing is done and messages are printed out for each error " +"detected. Use the options to control which errors are automatically fixed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:52 +msgid "You must specify an epub file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/unmanifested.py:17 +msgid "Fix unmanifested files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/unmanifested.py:21 +msgid "" +"Fix unmanifested files. epub-fix can either add them to the manifest or " +"delete them as specified by the delete unmanifested option." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/unmanifested.py:36 +msgid "Delete unmanifested files instead of adding them to the manifest" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:56 +msgid "" +"Extract the contents of the generated EPUB file to the specified directory. " +"The contents of the directory are first deleted, so be careful." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:62 +msgid "" +"Turn off splitting at page breaks. Normally, input files are automatically " +"split at every page break into two files. This gives an output ebook that " +"can be parsed faster and with less resources. However, splitting is slow and " +"if your source file contains a very large number of page breaks, you should " +"turn off splitting on page breaks." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:73 +#, python-format +msgid "" +"Split all HTML files larger than this size (in KB). This is necessary as " +"most EPUB readers cannot handle large file sizes. The default of %defaultKB " +"is the size required for Adobe Digital Editions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:80 +msgid "" +"Normally, if the input file has no cover and you don't specify one, a " +"default cover is generated with the title, authors, etc. This option " +"disables the generation of this cover." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:86 +msgid "" +"Do not use SVG for the book cover. Use this option if your EPUB is going to " +"be used on a device that does not support SVG, like the iPhone or the " +"JetBook Lite. Without this option, such devices will display the cover as a " +"blank page." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:95 +msgid "" +"When using an SVG cover, this option will cause the cover to scale to cover " +"the available screen area, but still preserve its aspect ratio (ratio of " +"width to height). That means there may be white borders at the sides or top " +"and bottom of the image, but the image will never be distorted. Without this " +"option the image may be slightly distorted, but there will be no borders." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:105 +msgid "" +"This option is needed only if you intend to use the EPUB with FBReaderJ. It " +"will flatten the file system inside the EPUB, putting all files into the top " +"level." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:186 +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:206 +msgid "Start" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:125 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:108 +msgid "All articles" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:32 +msgid "Do not insert a Table of Contents at the beginning of the book." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/output.py:149 +msgid "" +"Specify the sectionization of elements. A value of \"nothing\" turns the " +"book into a single section. A value of \"files\" turns each file into a " +"separate section; use this if your device is having trouble. A value of " +"\"Table of Contents\" turns the entries in the Table of Contents into titles " +"and creates sections; if it fails, adjust the \"Structure Detection\" and/or " +"\"Table of Contents\" settings (turn on \"Force use of auto-generated Table " +"of Contents)." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/output.py:158 +#, python-format +msgid "" +"Genre for the book. Choices: %s\n" +"\n" +" See: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/output.py:159 +msgid "for a complete list with descriptions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 +msgid "" +"Traverse links in HTML files breadth first. Normally, they are traversed " +"depth first." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 +#, python-format +msgid "" +"Maximum levels of recursion when following links in HTML files. Must be non-" +"negative. 0 implies that no links in the root HTML file are followed. " +"Default is %default." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 +msgid "" +"Normally this input plugin re-arranges all the input files into a standard " +"folder hierarchy. Only use this option if you know what you are doing as it " +"can result in various nasty side effects in the rest of of the conversion " +"pipeline." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:32 +msgid "CSS file used for the output instead of the default file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:35 +msgid "" +"Template used for generation of the html index file instead of the default " +"file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:38 +msgid "" +"Template used for the generation of the html contents of the book instead of " +"the default file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:41 +msgid "" +"Extract the contents of the generated ZIP file to the specified directory. " +"WARNING: The contents of the directory will be deleted." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/html/to_zip.py:18 +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/ebooks/html/to_zip.py:60 +msgid "" +"Character encoding for the input HTML files. Common choices include: cp1252, " +"cp1251, latin1 and utf-8." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/html/to_zip.py:91 +msgid "Add linked files in breadth first order" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/html/to_zip.py:92 +msgid "" +"Normally, when following links in HTML files calibre does it depth first, " +"i.e. if file A links to B and C, but B links to D, the files are added in " +"the order A, B, D, C. With this option, they will instead be added as A, B, " +"C, D" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/htmlz/input.py:62 +#, python-format +msgid "Multiple HTML files found in the archive. Only %s will be used." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/htmlz/input.py:68 +msgid "No top level HTML file found." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/htmlz/input.py:71 +#, python-format +msgid "Top level HTML file %s is empty" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/htmlz/output.py:30 +msgid "" +"Specify the handling of CSS. Default is class.\n" +"class: Use CSS classes and have elements reference them.\n" +"inline: Write the CSS as an inline style attribute.\n" +"tag: Turn as many CSS styles as possible into HTML tags." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/htmlz/output.py:38 +msgid "" +"How to handle the CSS when using css-type = 'class'.\n" +"Default is external.\n" +"external: Use an external CSS file that is linked in the document.\n" +"inline: Place the CSS in the head section of the document." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/from_any.py:47 +msgid "Creating LIT file from EPUB..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 +msgid "\tBook Designer file detected." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:322 +msgid "\tParsing HTML..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:345 +msgid "\tBaen file detected. Re-parsing..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:361 +msgid "Written preprocessed HTML to " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:379 +#, python-format +msgid "Processing %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:393 +msgid "\tConverting to BBeB..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:552 +#, python-format +msgid "Could not parse file: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:544 +#, python-format +msgid "%s is an empty file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 +#, python-format +msgid "Failed to parse link %(tag)s %(children)s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:610 +#, python-format +msgid "Cannot add link %s to TOC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:960 +#, python-format +msgid "Unable to process image %(path)s. Error: %(err)s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1006 +#, python-format +msgid "Unable to process interlaced PNG %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1776 +#, python-format +msgid "" +"An error occurred while processing a table: %s. Ignoring table markup." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1778 +#, python-format +msgid "" +"Bad table:\n" +"%s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1800 +msgid "Table has cell that is too large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1866 +#, python-format +msgid "Could not read cover image: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1869 +#, python-format +msgid "Cannot read from: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1998 +msgid "Failed to process opf file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:137 +msgid "" +"%prog book.lrf\n" +"Convert an LRF file into an LRS (XML UTF-8 encoded) file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:138 +msgid "Output LRS file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:140 +msgid "Do not save embedded image and font files to disk" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:159 +msgid "Parsing LRF..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:162 +msgid "Creating XML..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:164 +msgid "LRS written to " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:267 +msgid "Could not read from thumbnail file:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 +msgid "" +"%prog [options] file.lrs\n" +"Compile an LRS file into an LRF file." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:288 +msgid "Path to output file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:290 +msgid "Verbose processing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:292 +msgid "Convert LRS to LRS, useful for debugging." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:457 +msgid "Invalid LRF file. Could not set metadata." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:582 +msgid "" +"%prog [options] mybook.lrf\n" +"\n" +"\n" +"Show/edit the metadata in an LRF file.\n" +"\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:589 +msgid "Set the book title" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:591 +msgid "Set sort key for the title" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:593 +msgid "Set the author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:595 +msgid "Set sort key for the author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:597 +msgid "The category this book belongs to. E.g.: History" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:600 +msgid "Path to a graphic that will be set as this files' thumbnail" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:603 +msgid "" +"Path to a txt file containing the comment to be stored in the lrf file." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:607 +msgid "Extract thumbnail from LRF file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:608 +msgid "Set the publisher" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:609 +msgid "Set the book classification" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:610 +msgid "Set the book creator" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:611 +msgid "Set the book producer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:613 +msgid "" +"Extract cover from LRF file. Note that the LRF format has no defined cover, " +"so we use some heuristics to guess the cover." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:615 +msgid "Set book ID" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:90 +msgid "Enable autorotation of images that are wider than the screen width." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:94 +#, python-format +msgid "Set the space between words in pts. Default is %default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:97 +msgid "Add a header to all the pages with title and author." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:100 +msgid "" +"Set the format of the header. %a is replaced by the author and %t by the " +"title. Default is %default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:104 +#, python-format +msgid "Add extra spacing below the header. Default is %default pt." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:107 +#, python-format +msgid "" +"Minimum paragraph indent (the indent of the first line of a paragraph) in " +"pts. Default: %default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:112 +msgid "" +"Render tables in the HTML as images (useful if the document has large or " +"complex tables)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:117 +#, python-format +msgid "" +"Multiply the size of text in rendered tables by this factor. Default is " +"%default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:121 +msgid "The serif family of fonts to embed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:124 +msgid "The sans-serif family of fonts to embed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:127 +msgid "The monospace family of fonts to embed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:152 +msgid "Comic" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 +msgid "" +"Extract common e-book formats from archives (zip/rar) files. Also try to " +"autodetect if they are actually cbz/cbr files." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:58 +msgid "Value: unknown field " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:162 +msgid "TEMPLATE ERROR" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 +msgid "No" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:751 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1050 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:365 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:578 +msgid "Title" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:752 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1051 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 +msgid "Author(s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:753 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:159 +msgid "Publisher" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:754 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49 +msgid "Producer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:755 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:931 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:157 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:245 +msgid "Comments" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:757 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:161 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:201 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:766 +msgid "Tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:759 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:163 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:140 +msgid "Series" +msgid_plural "Series" +msgstr[0] "" +msgstr[1] "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:760 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:164 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:127 +msgid "Languages" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:762 +msgid "Timestamp" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:764 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:134 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:305 +msgid "Published" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:766 +msgid "Rights" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:20 +msgid "options" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:21 +#, python-format +msgid "" +"\n" +"Read/Write metadata from/to ebook files.\n" +"\n" +"Supported formats for reading metadata: %(read)s\n" +"\n" +"Supported formats for writing metadata: %(write)s\n" +"\n" +"Different file types support different kinds of metadata. If you try to set\n" +"some metadata on a file type that does not support it, the metadata will be\n" +"silently ignored.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:40 +msgid "" +"Set the authors. Multiple authors should be separated by the & character. " +"Author names should be in the order Firstname Lastname." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:44 +msgid "" +"The version of the title to be used for sorting. If unspecified, and the " +"title is specified, it will be auto-generated from the title." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:48 +msgid "" +"String to be used when sorting by author. If unspecified, and the author(s) " +"are specified, it will be auto-generated from the author(s)." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:52 +msgid "Set the cover to the specified file." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:58 +msgid "Set the book category." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:74 +msgid "Set the published date." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:77 +msgid "Get the cover from the ebook and save it at as the specified file." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:80 +msgid "" +"Specify the name of an OPF file. The metadata will be written to the OPF " +"file." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:83 +msgid "" +"Read metadata from the specified OPF file and use it to set metadata in the " +"ebook. Metadata specified on the command line will override metadata read " +"from the OPF file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:88 +msgid "Set the BookID in LRF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:153 +msgid "No file specified" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:168 +msgid "Original metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:185 +msgid "Changed metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:197 +msgid "OPF created in" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:203 +msgid "Cover saved to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:205 +msgid "No cover found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:64 +msgid "" +"\n" +"%prog [options] ISBN\n" +"\n" +"Fetch a cover image/social metadata for the book identified by ISBN from " +"LibraryThing.com\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1417 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1505 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:41 +msgid "Cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:437 +msgid "Downloads metadata and covers from Amazon" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:447 +msgid "US" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:448 +msgid "France" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:449 +msgid "Germany" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:450 +msgid "UK" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:451 +msgid "Italy" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:452 +msgid "Japan" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:453 +msgid "Spain" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:457 +msgid "Amazon website to use:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:458 +msgid "" +"Metadata from Amazon will be fetched using this country's Amazon website." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:611 +msgid "Amazon timed out. Try again later." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/base.py:177 +msgid "Metadata source" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/douban.py:156 +msgid "" +"Downloads metadata and covers from Douban.com. Useful only for chinese " +"language books." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/google.py:163 +msgid "Downloads metadata and covers from Google Books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:27 +msgid "Downloads metadata from isbndb.com" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:37 +msgid "IsbnDB key:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:38 +msgid "" +"To use isbndb.com you have to sign up for a free account at isbndb.com and " +"get an access key." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:42 +msgid "" +"To use metadata from isbndb.com you must sign up for a free account and get " +"an isbndb key and enter it below. Instructions to get the key are <a " +"href=\"http://isbndb.com/docs/api/30-keys.html\">here</a>." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/openlibrary.py:15 +msgid "Downloads covers from The Open Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/overdrive.py:33 +msgid "Downloads metadata and covers from Overdrive's Content Reserve" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/overdrive.py:45 +msgid "Download all metadata (slow)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/overdrive.py:46 +msgid "Enable this option to gather all metadata available from Overdrive." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/overdrive.py:49 +msgid "" +"Additional metadata can be taken from Overdrive's book detail page. This " +"includes a limited set of tags used by libraries, comments, language, and " +"the ebook ISBN. Collecting this data is disabled by default due to the extra " +"time required. Check the download all metadata option below to enable " +"downloading this data." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/ozon.py:24 +msgid "Downloads metadata and covers from OZON.ru" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:22 +msgid "Modify images to meet Palm device size limitations." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:26 +msgid "When present, use author sort field as author." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:30 +msgid "" +"Don't add Table of Contents to the book. Useful if the book has its own " +"table of contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:57 +msgid "Title for any generated in-line table of contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:37 +msgid "Disable compression of the file contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:40 +msgid "Tag marking book to be filed with Personal Docs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:44 +msgid "" +"Ignore margins in the input document. If False, then the MOBI output plugin " +"will try to convert margins specified in the input document, otherwise it " +"will ignore them." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:50 +msgid "" +"When adding the Table of Contents to the book, add it at the start of the " +"book instead of the end. Not recommended." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:54 +msgid "" +"Extract the contents of the MOBI file to the specified directory. If the " +"directory already exists, it will be deleted." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:59 +msgid "" +"Enable sharing of book content via Facebook etc. on the Kindle. WARNING: " +"Using this feature means that the book will not auto sync its last read " +"position on multiple devices. Complain to Amazon." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:284 +msgid "This is an Amazon Topaz book. It cannot be processed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer2/indexer.py:497 +msgid "No details available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1506 +msgid "Title Page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1507 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:199 +msgid "Table of Contents" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1508 +msgid "Index" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1509 +msgid "Glossary" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1510 +msgid "Acknowledgements" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1511 +msgid "Bibliography" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1512 +msgid "Colophon" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1513 +msgid "Copyright" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1514 +msgid "Dedication" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1515 +msgid "Epigraph" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1516 +msgid "Foreword" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1517 +msgid "List of Illustrations" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1518 +msgid "List of Tables" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1519 +msgid "Notes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1520 +msgid "Preface" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1521 +msgid "Main Text" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 +#, python-format +msgid "%s format books are not supported" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:970 +#, python-format +msgid "Book %(sidx)s of %(series)s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:55 +msgid "HTML TOC generation options." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:160 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:764 +msgid "Rating" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/split.py:34 +#, python-format +msgid "" +"Could not find reasonable point at which to split: %(path)s Sub-tree size: " +"%(size)d KB" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/writer.py:32 +msgid "OPF/NCX/etc. generation options." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/writer.py:35 +#, python-format +msgid "OPF version to generate. Default is %default." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/writer.py:37 +msgid "" +"Generate an Adobe \"page-map\" file if pagination information is available." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:128 +msgid "Footnotes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:139 +msgid "Sidebar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/output.py:23 +msgid "Format to use inside the pdb container. Choices are:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/output.py:27 +msgid "" +"Specify the character encoding of the output document. The default is " +"cp1252. Note: This option is not honored by all formats." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/output.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/pml/output.py:36 +#: /home/kovid/work/calibre/src/calibre/ebooks/rb/output.py:21 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:40 +msgid "Add Table of Contents to beginning of the book." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:24 +msgid "Do not extract images from the document" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:26 +msgid "" +"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.45, just below " +"the median line length." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:30 +msgid "Use the new PDF conversion engine." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/cli.py:31 +msgid "" +"command ...\n" +"\n" +"command can be one of the following:\n" +"[%%commands]\n" +"\n" +"Use %prog command --help to get more information about a specific command\n" +"\n" +"Manipulate a PDF.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:29 +msgid "" +"[options] file.pdf\n" +"\n" +"Crop a PDF file.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:38 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:34 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:36 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:34 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:41 +msgid "" +"Path to output file. By default a file is created in the current directory." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:41 +#, python-format +msgid "Number of pixels to crop from the left most x (default is %s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:44 +#, python-format +msgid "Number of pixels to crop from the left most y (default is %s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:47 +#, python-format +msgid "Number of pixels to crop from the right most x (default is %s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:50 +#, python-format +msgid "Number of pixels to crop from the right most y (default is %s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:53 +msgid "" +"A file generated by ghostscript which allows each page to be individually " +"cropped `gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=bbox file.pdf 2> bounding`" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:73 +msgid "Crop Options:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:73 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:60 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:54 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:56 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:54 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:53 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:61 +msgid "Options to control the transformation of pdf" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:23 +msgid "" +"[options] file.pdf password\n" +"\n" +"Decrypt a PDF.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:60 +msgid "Decrypt Options:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:25 +msgid "" +"[options] file.pdf password\n" +"\n" +"Encrypt a PDF.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:54 +msgid "Encrypt Options:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:21 +msgid "" +"file.pdf ...\n" +"\n" +"Get info about a PDF.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:303 +msgid "Author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:27 +msgid "Subject" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:48 +msgid "Creator" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:50 +msgid "Pages" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:51 +msgid "File Size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:52 +msgid "PDF Version" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:25 +msgid "" +"[options] file1.pdf file2.pdf ...\n" +"\n" +"Metadata will be used from the first PDF specified.\n" +"\n" +"Merges individual PDFs.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:56 +msgid "Merge Options:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:25 +msgid "" +"[options] file.pdf\n" +"\n" +"Reverse a PDF.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:54 +msgid "Reverse Options:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:24 +msgid "" +"file.pdf degrees\n" +"\n" +"Rotate pages of a PDF clockwise.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:53 +msgid "Rotate Options:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:25 +msgid "" +"\n" +"%prog %%name [options] file.pdf page_to_split_on ...\n" +"%prog %%name [options] file.pdf page_range_to_split_on ...\n" +"\t\n" +"Ex.\n" +"\t\n" +"%prog %%name file.pdf 6\n" +"%prog %%name file.pdf 6-12\n" +"%prog %%name file.pdf 6-12 8 10 9-20\n" +"\n" +"Split a PDF.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:61 +msgid "Split Options:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:30 +#, python-format +msgid "" +"The unit of measure. Default is inch. Choices are %s Note: This does not " +"override the unit for margins!" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:35 +#, python-format +msgid "" +"The size of the paper. This size will be overridden when an output profile " +"is used. Default is letter. Choices are %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:39 +msgid "" +"Custom size of the document. Use the form widthxheight EG. `123x321` to " +"specify the width and height. This overrides any specified paper-size." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:44 +#, python-format +msgid "The orientation of the page. Default is portrait. Choices are %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:48 +msgid "" +"Preserve the aspect ratio of the cover, instead of stretching it to fill the " +"full first page of the generated pdf." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftohtml.py:57 +msgid "Could not find pdftohtml, check it is in your PATH" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pml/output.py:32 +msgid "" +"Specify the character encoding of the output document. The default is cp1252." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pml/output.py:39 +msgid "" +"Do not reduce the size or bit depth of images. Images have their size and " +"depth reduced by default to accommodate applications that can not convert " +"images on their own such as Dropbook." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:97 +msgid "Table of Contents:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:277 +#, python-format +msgid "" +"This RTF file has a feature calibre does not support. Convert it to HTML " +"first and then try it.\n" +"%s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:25 +#: /home/kovid/work/calibre/src/calibre/ebooks/tcr/output.py:23 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:36 +msgid "" +"Specify the character encoding of the output document. The default is utf-8." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:43 +msgid "" +"The maximum number of characters per line. This splits on the first space " +"before the specified value. If no space is found the line will be broken at " +"the space after and will exceed the specified value. Also, there is a " +"minimum of 25 characters. Use 0 to disable line splitting." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:36 +msgid "" +"Specify whether or not to insert an empty line between two paragraphs." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:40 +msgid "" +"Specify whether or not to insert two space characters to indent the first " +"line of each paragraph." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:44 +msgid "" +"Specify whether or not to hide the chapter title for each chapter. Useful " +"for image-only output (eg. comics)." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:48 +msgid "Resize all the images for full screen view. " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:125 +msgid "Start Page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:135 +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:137 +msgid "Cover Pages" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:150 +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:153 +msgid " (Preface)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:30 +msgid "" +"Paragraph structure.\n" +"choices are ['auto', 'block', 'single', 'print', 'unformatted', 'off']\n" +"* auto: Try to auto detect paragraph type.\n" +"* block: Treat a blank line as a paragraph break.\n" +"* single: Assume every line is a paragraph.\n" +"* print: Assume every line starting with 2+ spaces or a tab starts a " +"paragraph.\n" +"* unformatted: Most lines have hard line breaks, few/no blank lines or " +"indents. Tries to determine structure and reformat the differentiate " +"elements.\n" +"* off: Don't modify the paragraph structure. This is useful when combined " +"with Markdown or Textile formatting to ensure no formatting is lost." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:43 +msgid "" +"Formatting used within the document.* auto: Automatically decide which " +"formatting processor to use.\n" +"* plain: Do not process the document formatting. Everything is a paragraph " +"and no styling is applied.\n" +"* heuristic: Process using heuristics to determine formatting such as " +"chapter headings and italic text.\n" +"* textile: Processing using textile formatting.\n" +"* markdown: Processing using markdown formatting. To learn more about " +"markdown see" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:53 +msgid "" +"Normally extra spaces are condensed into a single space. With this option " +"all spaces will be displayed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:56 +msgid "" +"Normally extra space at the beginning of lines is retained. With this option " +"they will be removed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:59 +msgid "Do not insert a Table of Contents into the output text." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:30 +#, python-format +msgid "" +"Type of newline to use. Options are %s. Default is 'system'. Use 'old_mac' " +"for compatibility with Mac OS 9 and earlier. For Mac OS X use 'unix'. " +"'system' will default to the newline type used by this OS." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:50 +msgid "" +"Force splitting on the max-line-length value when no space is present. Also " +"allows max-line-length to be below the minimum" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:55 +msgid "" +"Formatting used within the document.\n" +"* plain: Produce plain text.\n" +"* markdown: Produce Markdown formatted text.\n" +"* textile: Produce Textile formatted text." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:61 +msgid "" +"Do not remove links within the document. This is only useful when paired " +"with a txt-output-formatting option that is not none because links are " +"always removed with plain text output." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:66 +msgid "" +"Do not remove image references within the document. This is only useful when " +"paired with a txt-output-formatting option that is not none because links " +"are always removed with plain text output." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:71 +msgid "" +"Do not remove font color from output. This is only useful when txt-output-" +"formatting is set to textile. Textile is the only formatting that supports " +"setting font color. If this option is not specified font color will not be " +"set and default to the color displayed by the reader (generally this is " +"black)." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:115 +msgid "Send file to storage card instead of main memory by default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:117 +msgid "Confirm before deleting" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:119 +msgid "Main window geometry" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:121 +msgid "Notify when a new version is available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:123 +msgid "Use Roman numerals for series number" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:125 +msgid "Sort tags list by name, popularity, or rating" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:127 +msgid "Match tags by any or all." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:129 +msgid "Number of covers to show in the cover browsing mode" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:131 +msgid "Defaults for conversion to LRF" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:133 +msgid "Options for the LRF ebook viewer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:136 +msgid "Formats that are viewed using the internal viewer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:138 +msgid "Columns to be displayed in the book list" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:139 +msgid "Automatically launch content server on application startup" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:140 +msgid "Oldest news kept in database" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:141 +msgid "Show system tray icon" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:143 +msgid "Upload downloaded news to device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:145 +msgid "Delete news books from library after uploading to device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:147 +msgid "" +"Show the cover flow in a separate window instead of in the main calibre " +"window" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:149 +msgid "Disable notifications from the system tray icon" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:151 +msgid "Default action to perform when send to device button is clicked" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:156 +msgid "" +"Start searching as you type. If this is disabled then search will only take " +"place when the Enter or Return key is pressed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:159 +msgid "" +"When searching, show all books with search results highlighted instead of " +"showing only the matches. You can use the N or F3 keys to go to the next " +"match." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:184 +msgid "" +"Maximum number of simultaneous conversion/news download jobs. This number is " +"twice the actual value for historical reasons." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 +msgid "Download social metadata (tags/rating/etc.)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:189 +msgid "Overwrite author and title with new metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:191 +msgid "Automatically download the cover, if available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:193 +msgid "Limit max simultaneous jobs to number of CPUs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:195 +msgid "" +"The layout of the user interface. Wide has the book details panel on the " +"right and narrow has it at the bottom." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:199 +msgid "Show the average rating per item indication in the tag browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:201 +msgid "Disable UI animations" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:206 +msgid "tag browser categories not to display" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:506 +msgid "Choose Files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:766 +msgid "Books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:29 +msgid "EPUB Books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:30 +msgid "LRF Books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:31 +msgid "HTML Books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:32 +msgid "LIT Books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:33 +msgid "MOBI Books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:34 +msgid "Topaz books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:35 +msgid "Text books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:36 +msgid "PDF Books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:37 +msgid "SNB Books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:38 +msgid "Comics" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:39 +msgid "Archives" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:46 +msgid "Add books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:47 +msgid "Add books to the calibre library/device from files on your computer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:48 +msgid "A" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:51 +msgid "Add books from a single directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:57 +msgid "" +"Add books from directories, including sub-directories (One book per " +"directory, assumes every ebook file is the same book in a different format)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:61 +msgid "" +"Add books from directories, including sub directories (Multiple books per " +"directory, assumes every ebook file is a different book)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:66 +msgid "Add Empty book. (Book entry with no formats)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:67 +msgid "Shift+Ctrl+E" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:68 +msgid "Add from ISBN" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:70 +msgid "Add files to selected book records" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:71 +msgid "Shift+A" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:260 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:91 +msgid "No books selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:87 +msgid "Cannot add files as no books are selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:91 +msgid "Are you sure" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:92 +#, python-format +msgid "" +"Are you sure you want to add the same files to all %d books? If the " +"formatalready exists for a book, it will be replaced." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:98 +msgid "Select book files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:169 +msgid "Adding" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:170 +msgid "Creating book records from ISBNs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:310 +msgid "Uploading books to device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:281 +msgid "Supported books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:284 +msgid "Select books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:322 +msgid "Merged some books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:323 +msgid "" +"The following duplicate books were found and incoming book formats were " +"processed and merged into your Calibre database according to your automerge " +"settings:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:342 +msgid "Failed to read metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:343 +msgid "Failed to read metadata from the following" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:388 +msgid "Add to library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 +msgid "No book selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:382 +msgid "" +"The following books are virtual and cannot be added to the calibre library:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:388 +msgid "No book files found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add_to_library.py:13 +msgid "Add books to library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add_to_library.py:14 +msgid "Add books to your calibre library from the connected device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:26 +msgid "Merging user annotations into database" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:595 +msgid "Fetch annotations (experimental)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:107 +msgid "Not supported" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:108 +msgid "Fetching annotations is not supported for this device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:136 +msgid "Use library only" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:137 +msgid "User annotations generated from main library only" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:121 +msgid "No books selected to fetch annotations from" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:156 +msgid "Some errors" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:157 +msgid "" +"Could not fetch annotations for some books. Click show details to see which " +"ones." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:20 +msgid "Create catalog" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:38 +msgid "No books selected for catalog generation" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:61 +#, python-format +msgid "Generating %s catalog..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:85 +msgid "Catalog generated." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:88 +msgid "Export Catalog Directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:89 +#, python-format +msgid "Select destination for %(title)s.%(fmt)s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +msgid "No library found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 +#, python-format +msgid "" +"No existing calibre library was found at %s. If the library was moved, " +"select its new location below. Otherwise calibre will forget this library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 +msgid "New location of this library:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 +msgid "Library moved" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 +msgid "Forget library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 +msgid "New library location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 +#, python-format +msgid "No existing calibre library found at %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +msgid "Choose Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 +msgid "Choose calibre library to work with" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 +msgid "Switch/create library..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 +#, python-format +msgid "%d books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 +msgid "Quick switch" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 +msgid "Rename library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 +msgid "Remove library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 +msgid "Pick a random book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +msgid "Library Maintenance" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 +msgid "Library metadata backup status" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 +msgid "Start backing up metadata of all books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 +msgid "Check library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 +msgid "Restore database" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +msgid "Rename" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#, python-format +msgid "Choose a new name for the library <b>%s</b>. " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 +msgid "Note that the actual library folder will be renamed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 +msgid "Already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 +#, python-format +msgid "The folder %s already exists. Delete it first." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 +msgid "Too long" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +msgid "Rename failed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 +#, python-format +msgid "" +"Failed to rename the library at %s. The most common cause for this is if one " +"of the files in the library is open in another program." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +msgid "Library removed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 +#, python-format +msgid "" +"The library %s has been removed from calibre. The files remain on your " +"computer, if you want to delete them, you will have to do so manually." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +msgid "none" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +msgid "Backup status" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 +#, python-format +msgid "Book metadata files remaining to be written: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +msgid "Backup metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 +msgid "" +"Metadata will be backed up while calibre is running, at the rate of " +"approximately 1 book every three seconds." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 +#, python-format +msgid "" +"Path to library too long. Must be less than %d characters. Move your library " +"to a location with a shorter path using Windows Explorer, then point calibre " +"to the new location and try again." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:352 +msgid "Success" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 +msgid "" +"Found no errors in your calibre library database. Do you want calibre to " +"check if the files in your library match the information in the database?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:377 +msgid "Failed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 +msgid "Database integrity check failed, click Show details for details." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 +msgid "No problems found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 +msgid "The files in your library match the information in the database." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 +msgid "Not allowed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 +msgid "" +"You cannot change libraries while using the environment variable " +"CALIBRE_OVERRIDE_DATABASE_PATH." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 +msgid "You cannot change libraries while jobs are running." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:22 +msgid "C" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:22 +msgid "Convert books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:30 +msgid "Convert individually" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:33 +msgid "Bulk convert" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:37 +msgid "Create a catalog of the books in your calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:591 +msgid "Cannot convert" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:117 +#, python-format +msgid "Starting conversion of %d book(s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:177 +msgid "Empty output file, probably the conversion process crashed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:127 +msgid "Copy to library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:128 +msgid "Copy selected books to the specified library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:161 +msgid "(delete after copy)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:170 +msgid "Cannot copy" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:175 +msgid "No library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:176 +#, python-format +msgid "No library found at %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:183 +msgid "Copying" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 +msgid "Could not copy books: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:198 +#, python-format +msgid "Copied %(num)d books to %(loc)s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:213 +msgid "" +"You cannot use other libraries while using the environment variable " +"CALIBRE_OVERRIDE_DATABASE_PATH." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:674 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:242 +msgid "Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:31 +#, python-format +msgid "" +"You are trying to delete %d books. Sending so many files to the Recycle Bin " +"<b>can be slow</b>. Should calibre skip the Recycle Bin? If you click Yes " +"the files will be <b>permanently deleted</b>." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:42 +msgid "Deleting..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:65 +msgid "Deleted" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:77 +msgid "Failed to delete" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:78 +msgid "" +"Failed to delete some books, click the Show Details button for details." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:85 +msgid "Remove books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:88 +msgid "Remove selected books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:95 +msgid "Remove files of a specific format from selected books.." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:98 +msgid "Remove all formats from selected books, except..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:101 +msgid "Remove all formats from selected books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:104 +msgid "Remove covers from selected books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:108 +msgid "Remove matching books from device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:131 +msgid "Cannot delete" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:144 +msgid "Choose formats to be deleted" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:162 +msgid "" +"Choose formats <b>not</b> to be deleted.<p>Note that this will never remove " +"all formats from a book." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:188 +msgid "" +"<b>All formats</b> for the selected books will be <b>deleted</b> from your " +"library.<br>The book metadata will be kept. Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:208 +msgid "Cannot delete books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:209 +msgid "No device is connected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:219 +msgid "Main memory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:529 +msgid "Storage Card A" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:531 +msgid "Storage Card B" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:226 +msgid "No books to delete" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:227 +msgid "None of the selected books are on the device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:244 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:335 +msgid "Deleting books from device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:290 +msgid "" +"Some of the selected books are on the attached device. <b>Where</b> do you " +"want the selected files deleted from?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:302 +msgid "" +"The selected books will be <b>permanently deleted</b> and the files removed " +"from your calibre library. Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:327 +msgid "" +"The selected books will be <b>permanently deleted</b> from your device. Are " +"you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:31 +msgid "Connect to folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:36 +msgid "Connect to iTunes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:42 +msgid "Connect to Bambook" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:77 +msgid "Start Content Server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:73 +msgid "Start/stop content server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:79 +msgid "Stop Content Server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:109 +msgid "Email to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:94 +msgid "Email to and delete from library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:103 +msgid "(delete from library)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:118 +msgid "Setup email based sharing of books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:136 +msgid "D" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:136 +msgid "Send to device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:154 +msgid "Connect/share" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:191 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:79 +msgid "Stopping" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:80 +msgid "Stopping server, this could take upto a minute, please wait..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_collections.py:13 +msgid "Manage collections" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_collections.py:14 +msgid "Manage the collections on this device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:25 +msgid "E" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:25 +msgid "Edit metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:32 +msgid "Edit metadata individually" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:35 +msgid "Edit metadata in bulk" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:38 +msgid "Download metadata and covers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:45 +msgid "Merge into first selected book - delete others" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:48 +msgid "Merge into first selected book - keep others" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:52 +msgid "Merge only formats into first selected book - delete others" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:57 +msgid "Merge book records" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:58 +msgid "M" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:73 +msgid "Cannot download metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:84 +msgid "Failed to download metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:741 +msgid "Download failed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:91 +#, python-format +msgid "Failed to download metadata or covers for any of the %d book(s)." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:94 +msgid "Metadata download completed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 +#, python-format +msgid "" +"Finished downloading metadata for <b>%d book(s)</b>. Proceed with updating " +"the metadata in your library?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:103 +#, python-format +msgid "" +"Could not download metadata and/or covers for %d of the books. Click \"Show " +"details\" to see which books." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:110 +msgid "Download complete" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:803 +msgid "Download log" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:139 +msgid "Some books changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:140 +msgid "" +"The metadata for some books in your library has changed since you started " +"the download. If you proceed, some of those changes may be overwritten. " +"Click \"Show details\" to see the list of changed books. Do you want to " +"proceed?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:222 +msgid "Cannot edit metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:262 +msgid "Cannot merge books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:263 +msgid "At least two books must be selected for merging" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:266 +msgid "" +"You are about to merge more than 5 books. Are you <b>sure</b> you want to " +"proceed?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:275 +#, python-format +msgid "" +"Book formats and metadata from the selected books will be added to the " +"<b>first selected book</b> (%s). ISBN will <i>not</i> be merged.<br><br> The " +"second and subsequently selected books will not be deleted or " +"changed.<br><br>Please confirm you want to proceed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:287 +#, python-format +msgid "" +"Book formats from the selected books will be merged into the <b>first " +"selected book</b> (%s). Metadata in the first selected book will not be " +"changed. Author, Title, ISBN and all other metadata will <i>not</i> be " +"merged.<br><br>After merger the second and subsequently selected books, with " +"any metadata they have will be <b>deleted</b>. <br><br>All book formats of " +"the first selected book will be kept and any duplicate formats in the second " +"and subsequently selected books will be permanently <b>deleted</b> from your " +"calibre library.<br><br> Are you <b>sure</b> you want to proceed?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:303 +#, python-format +msgid "" +"Book formats and metadata from the selected books will be merged into the " +"<b>first selected book</b> (%s). ISBN will <i>not</i> be " +"merged.<br><br>After merger the second and subsequently selected books will " +"be <b>deleted</b>. <br><br>All book formats of the first selected book will " +"be kept and any duplicate formats in the second and subsequently selected " +"books will be permanently <b>deleted</b> from your calibre library.<br><br> " +"Are you <b>sure</b> you want to proceed?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:473 +msgid "Applying changed metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:546 +msgid "Some failures" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 +msgid "" +"Failed to apply updated metadata for some books in your library. Click " +"\"Show Details\" to see details." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:19 +msgid "F" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:19 +msgid "Fetch news" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:54 +msgid "Fetching news from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:83 +msgid " fetched." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 +msgid "F1" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:66 +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:670 +msgid "Help" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:12 +msgid "Move to next match" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:204 +msgid "F3" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:13 +msgid "Move to next highlighted match" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:435 +msgid "N" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:25 +msgid "Move to previous item" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:26 +msgid "Move to previous highlighted item" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:26 +msgid "Shift+N" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/next_match.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:213 +msgid "Shift+F3" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/open.py:14 +msgid "Open containing folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/open.py:15 +msgid "O" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/plugin_updates.py:18 +msgid "Plugin Updater" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:20 +msgid "Ctrl+P" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:22 +msgid "Change calibre behavior" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:208 +msgid "Run welcome wizard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:31 +msgid "Get plugins to enhance calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:35 +msgid "Restart in debug mode" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:53 +msgid "Cannot configure while there are running jobs." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:58 +msgid "Cannot configure before calibre is restarted." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 +#: /home/kovid/work/calibre/src/calibre/utils/pyconsole/main.py:59 +msgid "Ctrl+R" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 +msgid "Restart" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:24 +msgid "Save single format to disk..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:39 +msgid "S" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:39 +msgid "Save to disk" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:48 +msgid "Save to disk in a single directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:68 +#, python-format +msgid "Save only %s format to disk" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:71 +#, python-format +msgid "Save only %s format to disk in a single directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:90 +msgid "Cannot save to disk" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:93 +msgid "Choose destination directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:101 +msgid "" +"You are trying to save files into the calibre library. This can cause " +"corruption of your library. Save to disk is meant to export files from your " +"calibre library elsewhere." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:132 +msgid "Error while saving" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:133 +msgid "There was an error while saving." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:141 +msgid "Could not save some books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:142 +msgid "Click the show details button to see which ones." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:771 +msgid "Show book details" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:17 +msgid "I" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:26 +msgid "No detailed info available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:27 +msgid "No detailed information is available for books on the device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_quickview.py:16 +msgid "Q" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_quickview.py:16 +msgid "Show quickview" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_quickview.py:31 +msgid "No quickview available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/show_quickview.py:32 +msgid "Quickview is not available for books on the device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:17 +msgid "Similar books..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 +msgid "Alt+A" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:25 +msgid "Books by same author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:26 +msgid "Books in this series" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:27 +msgid "Alt+Shift+S" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:28 +msgid "Alt+P" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:28 +msgid "Books by this publisher" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:29 +msgid "Alt+T" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/similar_books.py:29 +msgid "Books with the same tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:20 +msgid "G" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:20 +msgid "Get books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:22 +msgid "Search for ebooks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:28 +msgid "author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:28 +msgid "title" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:29 +msgid "book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:32 +#, python-format +msgid "Search for this %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 +msgid "Stores" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_dialog.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:285 +msgid "Choose stores" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:115 +msgid "Cannot search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:134 +msgid "" +"Calibre helps you find the ebooks you want by searching the websites of " +"various commercial and public domain book sources for you." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 +msgid "" +"Using the integrated search you can easily find which store has the book you " +"are looking for, at the best price. You also get DRM status and other useful " +"information." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:142 +msgid "" +"All transactions (paid or otherwise) are handled between you and the book " +"seller. Calibre is not part of this process and any issues related to a " +"purchase should be directed to the website you are buying from. Be sure to " +"double check that any books you get will work with your e-book reader, " +"especially if the book you are buying has <a href=\"http://drmfree.calibre-" +"ebook.com/about#drm\">DRM</a>." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:152 +msgid "Show this message again" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:153 +msgid "About Get Books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:60 +msgid "Tweak ePub" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:18 +msgid "Make small changes to ePub format books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:19 +msgid "T" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:41 +msgid "Cannot tweak ePub" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:42 +msgid "No ePub available. First convert the book to ePub." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:37 +msgid "V" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:37 +msgid "View" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:48 +msgid "View specific format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:50 +msgid "Read a random book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:55 +msgid "Clear recently viewed list" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:224 +msgid "Cannot view" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:164 +msgid "Format unavailable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:151 +msgid "Selected books have no formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:128 +msgid "Choose the format to view" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:165 +#, python-format +msgid "" +"Not all the selected books were available in the %s format. You should " +"convert them first." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:172 +msgid "Multiple Books Selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:173 +#, python-format +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 " +"started the process cannot be stopped until complete. Do you wish to " +"continue?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:182 +msgid "Cannot open folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:218 +msgid "This book no longer exists in your library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:225 +#, python-format +msgid "%s has no available formats." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:69 +msgid "Searching in" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:246 +msgid "Adding..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 +msgid "Searching in all sub-directories..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +msgid "Path error" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 +msgid "The specified directory could not be processed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 +msgid "No books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 +msgid "No books found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 +msgid "No permission" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 +msgid "" +"Cannot add some files as you do not have permission to access them. Click " +"Show Details to see the list of such files." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 +msgid "Added" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +msgid "Adding failed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 +msgid "" +"The add books process seems to have hung. Try restarting calibre and adding " +"the books in smaller increments, until you find the problem book." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +msgid "Duplicates found!" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 +msgid "" +"Books with the same title as the following already exist in the database. " +"Add them anyway?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 +msgid "Adding duplicates..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 +msgid "Saving..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 +msgid "Collecting data, please wait..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 +msgid "Saved" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:56 +msgid "Searching for sub-folders" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:61 +msgid "Searching for books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:73 +msgid "Looking for duplicates based on file hash" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:70 +msgid "Choose root folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:135 +msgid "Invalid root folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:136 +msgid "is not a valid root folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/__init__.py:146 +msgid "Add books to calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:46 +msgid "WizardPage" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:27 +msgid "Scanning root folder for books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:28 +msgid "This may take a few minutes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:63 +msgid "Choose the location to add books from" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:64 +msgid "Select a folder on your hard disk" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:65 +msgid "" +"<p>calibre can scan your computer for existing books automatically. These " +"books will then be <b>copied</b> into the calibre library. This wizard will " +"help you customize the scanning and import process for your existing book " +"collection.</p>\n" +"<p>Choose a root folder. Books will be searched for only inside this folder " +"and any sub-folders.</p>\n" +"<p>Make sure that the folder you chose for your calibre library <b>is " +"not</b> under the root folder you choose.</p>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:68 +msgid "&Root folder:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:69 +msgid "" +"This folder and its sub-folders will be scanned for books to import into " +"calibre's library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:277 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 +msgid "..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:72 +msgid "Handle multiple files per book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:73 +msgid "" +"&One book per folder, assumes every ebook file in a folder is the same book " +"in a different format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:74 +msgid "" +"&Multiple books per folder, assumes every ebook file is a different book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 +msgid "Donate" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:121 +msgid "Click to open" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:136 +msgid "Ids" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:174 +#, python-format +msgid "Book %(sidx)s of <span class=\"series_name\">%(series)s</span>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1054 +msgid "Collections" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:256 +msgid "Paste Cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:257 +msgid "Copy Cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:294 +msgid "Remove Cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:336 +msgid "Double-click to open Book Details window" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295 +msgid "Path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:109 +#, python-format +msgid "Cover size: %(width)d x %(height)d" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 +msgid "BibTeX Options" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:19 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/djvu_input.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/htmlz_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output.py:14 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txtz_output.py:13 +msgid "Options specific to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:19 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/htmlz_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:20 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output.py:14 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txtz_output.py:13 +msgid "output" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/djvu_input_ui.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/htmlz_output_ui.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/conversion_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template_ui.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/saving_ui.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 +msgid "Form" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:25 +msgid "Bib file encoding:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:43 +msgid "Fields to include in output:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:46 +msgid "Encoding configuration (change if you have errors) :" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:55 +msgid "BibTeX entry type:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:62 +msgid "Create a citation tag?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:66 +msgid "Add files path with formats?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:70 +msgid "Expression to form the BibTeX citation tag:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:77 +msgid "" +"Some explanation about this template:\n" +" -The fields availables are 'author_sort', 'authors', 'id',\n" +" 'isbn', 'pubdate', 'publisher', 'series_index', 'series',\n" +" 'tags', 'timestamp', 'title', 'uuid', 'title_sort'\n" +" -For list types ie authors and tags, only the first element\n" +" will be selected.\n" +" -For time field, only the date will be used. " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml.py:16 +msgid "CSV/XML Options" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:18 +msgid "E-book options" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:296 +msgid "Sections to include in catalog." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:297 +msgid "Included sections" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:298 +msgid "Books by &Genre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:299 +msgid "Recently &Added" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:300 +msgid "&Descriptions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:301 +msgid "Books by &Series" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:302 +msgid "Books by &Title" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:303 +msgid "Books by Author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:304 +msgid "" +"<p>Default pattern \n" +"\\[.+\\]\n" +"excludes tags of the form [tag], \n" +"e.g., [Project Gutenberg]</p>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:308 +msgid "Excluded genres" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:309 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:312 +msgid "Tags to &exclude" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:310 +msgid "" +"Books matching either pattern will not be included in generated catalog. " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:311 +msgid "Excluded books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:313 +msgid "" +"<p>Comma-separated list of tags to exclude.\n" +"Default: ~,Catalog" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:315 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:320 +msgid "&Column/value" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:316 +msgid "Column containing additional exclusion criteria" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:317 +msgid "Exclusion pattern" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:318 +msgid "Matching books will be displayed with a check mark" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:319 +msgid "Read books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:321 +msgid "Column containing 'read' status" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:322 +msgid "'read book' pattern" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:323 +msgid "Other options" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:324 +msgid "&Wishlist tag" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:325 +msgid "Books tagged as Wishlist items will be displayed with an X" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:326 +msgid "&Thumbnail width" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:327 +msgid "Size hint for Description cover thumbnails" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:328 +msgid " inch" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:329 +msgid "&Description note" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:330 +msgid "Custom column source for note to include in Description header area" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:331 +msgid "&Merge with Comments" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:332 +msgid "Additional content merged with Comments during catalog generation" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:333 +msgid "Merge additional content before Comments" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:334 +msgid "&Before" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:335 +msgid "Merge additional content after Comments" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:336 +msgid "&After" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:337 +msgid "Separate Comments and additional content with horizontal rule" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:338 +msgid "&Separator" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 +msgid "Tab template for catalog.ui" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:69 +msgid "Bold" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:70 +msgid "Italic" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:73 +msgid "Underline" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:75 +msgid "Strikethrough" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:77 +msgid "Superscript" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:79 +msgid "Subscript" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:81 +msgid "Ordered list" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:83 +msgid "Unordered list" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:86 +msgid "Align left" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:88 +msgid "Align center" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:90 +msgid "Align right" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:92 +msgid "Align justified" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:93 +msgid "Undo" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:94 +msgid "Redo" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:95 +msgid "Remove formatting" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:174 +msgid "Copy" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:176 +msgid "Paste" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:98 +msgid "Cut" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:100 +msgid "Increase Indentation" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:102 +msgid "Decrease Indentation" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:104 +msgid "Select all" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:109 +msgid "Foreground color" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:114 +msgid "Background color" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:118 +msgid "Style text block" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:120 +msgid "Style the selected text block" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:158 +msgid "Normal" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:131 +msgid "Heading" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:132 +msgid "Pre-formatted" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:133 +msgid "Blockquote" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:134 +msgid "Address" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:141 +msgid "Insert link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:84 +msgid "Clear" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:161 +msgid "Choose foreground color" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:167 +msgid "Choose background color" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:172 +msgid "Create link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:173 +msgid "Enter URL" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:523 +msgid "Normal view" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:524 +msgid "HTML Source" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 +msgid "" +"For settings that cannot be specified in this dialog, use the values saved " +"in a previous conversion (if they exist) instead of using the defaults " +"specified in the Preferences" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 +msgid "Bulk Convert" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 +msgid "Options specific to the output format." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input.py:15 +msgid "Comic Input" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input.py:16 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/djvu_input.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input.py:13 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input.py:13 +msgid "input" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +msgid "&Number of Colors:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 +msgid "Disable &normalize" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 +msgid "Keep &aspect ratio" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 +msgid "Disable &Sharpening" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:109 +msgid "Disable &Trimming" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:108 +msgid "&Wide" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "&Landscape" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:106 +msgid "&Right to left" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:105 +msgid "Don't so&rt" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:107 +msgid "De&speckle" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:114 +msgid "&Disable comic processing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:120 +msgid "&Output format:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:116 +msgid "Disable conversion of images to &black and white" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:117 +msgid "Override image &size:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:118 +msgid "Don't add links to &pages to the Table of Contents for CBC files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 +msgid "Debug" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:21 +msgid "Debug the conversion process." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:56 +msgid "Choose debug folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:58 +msgid "Invalid debug directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:59 +msgid "Failed to create debug directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:55 +msgid "" +"Choose a folder to put the debug output into. If you specify a folder, " +"calibre will place a lot of debug output into it. This will be useful in " +"understanding the conversion process and figuring out the correct values for " +"conversion parameters like Table of Contents and Chapter Detection." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:59 +msgid "" +"The debug process outputs the intermediate HTML generated at various stages " +"of the conversion process. This HTML can sometimes serve as a good starting " +"point for hand editing a conversion." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/djvu_input.py:14 +msgid "DJVU Input" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/djvu_input_ui.py:25 +msgid "Use &djvutxt, if available, for faster processing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output.py:15 +msgid "EPUB Output" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:57 +msgid "Do not &split on page breaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:58 +msgid "No default &cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:59 +msgid "No &SVG cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:60 +msgid "Preserve cover &aspect ratio" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:61 +msgid "Split files &larger than:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:62 +msgid " KB" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:63 +msgid "&Flatten EPUB file structure" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input.py:12 +msgid "FB2 Input" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:34 +msgid "Do not insert a &Table of Contents at the beginning of the book." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output.py:14 +msgid "FB2 Output" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:45 +msgid "Sectionize:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:46 +msgid "Genre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:104 +msgid "Font rescaling wizard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:105 +msgid "" +"<p>This wizard will help you choose an appropriate font size key for your " +"needs. Just enter the base font size of the input document and then enter an " +"input font size. The wizard will display what font size it will be mapped " +"to, by the font rescaling algorithm. You can adjust the algorithm by " +"adjusting the output base font size and font key below. When you find values " +"suitable for you, click OK.</p>\n" +"<p>By default, if the output base font size is zero and/or no font size key " +"is specified, calibre will use the values from the current Output Profile. " +"</p>\n" +"<p>See the <a href=\"http://manual.calibre-ebook.com/conversion.html#font-" +"size-rescaling\">User Manual</a> for a discussion of how font size rescaling " +"works.</p>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:108 +msgid "&Output document" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:114 +msgid "&Base font size:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:42 +msgid "Font size &key:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:132 +msgid " pt" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:112 +msgid "Use &default values" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:113 +msgid "&Input document" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:116 +msgid "&Font size: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:118 +msgid " will map to size: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:119 +msgid "0.0 pt" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics.py:15 +msgid "" +"Heuristic\n" +"Processing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics.py:16 +msgid "Modify the document text and structure using common patterns." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:113 +msgid "" +"<b>Heuristic processing</b> means that calibre will scan your book for " +"common patterns and fix them. As the name implies, this involves guesswork, " +"which means that it could end up worsening the result of a conversion, if " +"calibre guesses wrong. Therefore, it is disabled by default. Often, if a " +"conversion does not turn out as you expect, turning on heuristics can " +"improve matters. Read more about the various heuristic processing options in " +"the <a href=\"http://manual.calibre-ebook.com/conversion.html#heuristic-" +"processing\">User Manual</a>." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:114 +msgid "Enable &heuristic processing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:115 +msgid "Heuristic Processing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:116 +msgid "Unwrap lines" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:117 +msgid "Line &un-wrap factor :" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:118 +msgid "Detect and markup unformatted chapter headings and sub headings" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:119 +msgid "Renumber sequences of <h1> or <h2> tags to prevent splitting" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:120 +msgid "Delete blank lines between paragraphs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:121 +msgid "Ensure scene breaks are consistently formatted" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:122 +msgid "Replace soft scene &breaks:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:123 +msgid "Remove unnecessary hyphens" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:124 +msgid "Italicize common words and patterns" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:125 +msgid "Replace entity indents with CSS indents" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/htmlz_output.py:14 +msgid "HTMLZ Output" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/htmlz_output_ui.py:45 +msgid "How to handle CSS" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/htmlz_output_ui.py:46 +msgid "How to handle class based CSS" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:16 +msgid "Look & Feel" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:18 +msgid "Control the look and feel of the output" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:45 +msgid "Original" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:46 +msgid "Left align" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:47 +msgid "Justify text" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:25 +msgid "&Disable font size rescaling" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:29 +msgid "Base &font size:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:56 +msgid "Wizard to help you choose an appropriate font size key" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:66 +msgid "Minimum &line height:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:70 +msgid " %" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:76 +msgid "Line &height:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:85 +msgid "Input character &encoding:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:93 +msgid "Remove &spacing between paragraphs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:97 +msgid "&Indent size:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:102 +msgid "" +"<p>When calibre removes inter paragraph spacing, it automatically sets a " +"paragraph indent, to ensure that paragraphs can be easily distinguished. " +"This option controls the width of that indent." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:87 +msgid "No change" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:120 +msgid " em" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:111 +msgid "Insert &blank line between paragraphs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:115 +msgid "&Line size:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:125 +msgid "Text &justification:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:132 +msgid "Smarten &punctuation" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:136 +msgid "&Transliterate unicode characters to ASCII" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:140 +msgid "&UnSmarten punctuation" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:144 +msgid "Keep &ligatures" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:148 +msgid "&Linearize tables" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:166 +msgid "Select what style information you want completely removed:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:171 +msgid "Removes the font-family CSS property" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:172 +msgid "&Fonts" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:176 +msgid "" +"Removes the margin CSS properties. Note that page margins are not affected " +"by this setting." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:177 +msgid "&Margins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:181 +msgid "Removes the padding CSS properties" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:182 +msgid "&Padding" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:186 +msgid "Convert floating images/text into static images/text" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:187 +msgid "F&loats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:191 +msgid "Removes foreground and background colors" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:192 +msgid "&Colors" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:198 +msgid "&Other CSS Properties:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:202 +msgid "" +"Comma separated list of CSS properties to remove. For example: display, " +"color, font-family" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:227 +msgid "&Extra CSS" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:228 +msgid "&Filter Style Information" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:19 +msgid "LRF Output" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:121 +msgid "Enable &autorotation of wide images" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:122 +msgid "&Wordspace:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:124 +msgid "Minimum para. &indent:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:126 +msgid "Render &tables as images" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:127 +msgid "Text size multiplier for text in rendered tables:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:128 +msgid "Add &header" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:129 +msgid "Header &separation:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:131 +msgid "Header &format:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:132 +msgid "&Embed fonts" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:133 +msgid "&Serif font family:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:134 +msgid "S&ans-serif font family:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:135 +msgid "&Monospaced font family:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:200 +msgid "Metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:49 +msgid "" +"Set the metadata. The output file will contain as much of this metadata as " +"possible." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:913 +msgid "Choose cover for " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:921 +msgid "Cannot read" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:922 +msgid "You do not have permission to read the file: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:930 +msgid "Error reading file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:931 +msgid "<p>There was an error reading from file: <br /><b>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:941 +msgid " is not a valid picture" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:159 +msgid "Book Cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:160 +msgid "Change &cover image:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:161 +msgid "Browse for an image to use as the cover of this book." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:163 +msgid "Use cover from &source file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:164 +msgid "&Title: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:74 +msgid "Change the title of this book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:50 +msgid "&Author(s): " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:167 +msgid "Author So&rt:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:168 +msgid "" +"Change the author(s) of this book. Multiple authors should be separated by a " +"comma" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:95 +msgid "&Publisher: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:170 +msgid "Ta&gs: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1104 +msgid "" +"Tags categorize the book. This is particularly useful while searching. " +"<br><br>They can be any words or phrases, separated by commas." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:458 +msgid "&Series:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:457 +msgid "List of known series. You can add new series." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:175 +msgid "Book " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output.py:17 +msgid "MOBI Output" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:25 +msgid "&Title for Table of Contents:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:32 +msgid "Rescale images for &Palm devices" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:36 +msgid "Use author &sort for author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:40 +msgid "Disable compression of the file contents" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:44 +msgid "Do not add Table of Contents to book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:48 +msgid "Kindle options" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:55 +msgid "Personal Doc tag:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:63 +msgid "" +"Enable sharing of book content via Facebook, etc. WARNING: Disables last " +"read syncing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:72 +msgid "Put generated Table of Contents at &start of book instead of end" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:76 +msgid "Ignore &margins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup.py:35 +msgid "Page Setup" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:121 +msgid "&Output profile:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:122 +msgid "Profile description" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:123 +msgid "&Input profile:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 +msgid "Margins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:125 +msgid "&Left:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:127 +msgid "&Top:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:129 +msgid "&Right:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:131 +msgid "&Bottom:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:37 +msgid "Treat each &line as a paragraph" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:38 +msgid "Assume print formatting" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output.py:14 +msgid "PDB Output" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:186 +msgid "&Format:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:95 +msgid "&Inline TOC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:49 +msgid "Output Encoding:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input.py:12 +msgid "PDF Input" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:44 +msgid "Line &Un-Wrapping Factor:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:45 +msgid "No &Images" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output.py:15 +msgid "PDF Output" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:48 +msgid "&Paper Size:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:49 +msgid "&Orientation:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:50 +msgid "Preserve &aspect ratio of cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 +msgid "PMLZ Output" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:48 +msgid "Do not reduce image size and depth" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output.py:14 +msgid "RB Output" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:134 +msgid "No formats available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:135 +msgid "Cannot build regex using the GUI builder without a book." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:144 +msgid "Could not open file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:145 +msgid "Could not open the file, do you have it open in another program?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:175 +msgid "Open book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:90 +msgid "Regex Builder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:91 +msgid "Regex:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:136 +msgid "Test" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:93 +msgid "Occurrences:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 +msgid "0" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:95 +msgid "Goto:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:114 +msgid "&Previous" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:610 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:107 +msgid "&Next" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:98 +msgid "Preview" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:17 +msgid "" +"Search\n" +"&\n" +"Replace" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:36 +msgid "&Search Regular Expression" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:111 +msgid "Invalid regular expression" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:112 +#, python-format +msgid "Invalid regular expression: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:148 +msgid "First expression" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:153 +msgid "&Replacement Text" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:150 +msgid "Second Expression" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:152 +msgid "Third expression" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace_ui.py:154 +msgid "" +"<p>Search and replace uses <i>regular expressions</i>. See the <a " +"href=\"http://manual.calibre-ebook.com/regexp.html\">regular expressions " +"tutorial</a> to get started with regular expressions. Also clicking the " +"wizard buttons below will allow you to test your regular expression against " +"the current input document." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:173 +msgid "Convert" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:200 +msgid "Options specific to the input format." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/cache_progress_dialog_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:73 +msgid "Dialog" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:118 +msgid "&Input format:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:119 +msgid "Use &saved conversion settings for individual books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output.py:14 +msgid "SNB Output" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output_ui.py:43 +msgid "Hide chapter name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output_ui.py:44 +msgid "Don't indent the first line for each paragraph" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output_ui.py:45 +msgid "Insert empty line between paragraphs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output_ui.py:46 +msgid "Optimize for full-sceen view " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:15 +msgid "" +"Structure\n" +"Detection" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 +msgid "" +"Fine tune the detection of chapter headings and other document structure." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:31 +msgid "Detect chapters at (XPath expression):" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:32 +msgid "Insert page breaks before (XPath expression):" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:39 +msgid "Invalid XPath" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:40 +#, python-format +msgid "The XPath expression %s is invalid." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:60 +msgid "Chapter &mark:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:61 +msgid "Remove first &image" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:62 +msgid "Insert &metadata as page at start of book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:63 +msgid "" +"The header and footer removal options have been replaced by the Search & " +"Replace options. Click the Search & Replace category in the bar to the left " +"to use these options. Leave the replace field blank and enter your " +"header/footer removal regexps into the search field." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:64 +msgid "Remove &fake margins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:16 +msgid "" +"Table of\n" +"Contents" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:18 +msgid "Control the creation/conversion of the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:30 +msgid "Level &1 TOC (XPath expression):" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:31 +msgid "Level &2 TOC (XPath expression):" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:32 +msgid "Level &3 TOC (XPath expression):" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:71 +msgid "Do not add &detected chapters to the Table of Contents" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:72 +msgid "Number of &links to add to Table of Contents" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:73 +msgid "Chapter &threshold" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:74 +msgid "&Force use of auto-generated Table of Contents" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:75 +msgid "TOC &Filter:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:76 +msgid "Allow &duplicate links when creating the Table of Contents" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input.py:12 +msgid "TXT Input" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:92 +msgid "Structure" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:93 +msgid "Paragraph style:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:94 +msgid "Formatting style:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:95 +msgid "Common" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:96 +msgid "Preserve &spaces" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:97 +msgid "Remove indents at the beginning of lines" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:98 +msgid "Markdown" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:99 +msgid "" +"<p>Markdown is a simple markup language for text files, that allows for " +"advanced formatting. To learn more visit <a " +"href=\"http://daringfireball.net/projects/markdown\">markdown</a>." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:100 +msgid "Do not insert Table of Contents into output text when using markdown" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output.py:13 +msgid "TXT Output" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:88 +msgid "General" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:89 +msgid "Output &Encoding:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:90 +msgid "&Line ending style:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:91 +msgid "&Formatting:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:92 +msgid "Plain" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:93 +msgid "&Maximum line length:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:94 +msgid "Force maximum line length" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:96 +msgid "Markdown, Textile" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:97 +msgid "Do not remove links (<a> tags) before processing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:98 +msgid "Do not remove image references before processing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:99 +msgid "Keep text color, when possible" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txtz_output.py:12 +msgid "TXTZ Output" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:55 +msgid "TextLabel" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:56 +msgid "Use a wizard to help construct the Regular expression" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:73 +msgid "Match HTML &tags with tag name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:74 +msgid "*" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:75 +msgid "a" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:76 +msgid "br" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:77 +msgid "div" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:78 +msgid "h1" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:79 +msgid "h2" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:80 +msgid "h3" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:81 +msgid "h4" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:82 +msgid "h5" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:83 +msgid "h6" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:84 +msgid "hr" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:85 +msgid "span" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:86 +msgid "Having the &attribute:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:87 +msgid "With &value:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:88 +msgid "(A regular expression)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:89 +msgid "" +"<p>For example, to match all h2 tags that have class=\"chapter\", set tag to " +"<i>h2</i>, attribute to <i>class</i> and value to " +"<i>chapter</i>.</p><p>Leaving attribute blank will match any attribute and " +"leaving value blank will match any value. Setting tag to * will match any " +"tag.</p><p>To learn more advanced usage of XPath see the <a " +"href=\"http://manual.calibre-ebook.com/xpath.html\">XPath Tutorial</a>." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:145 +msgid "Browse by covers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:217 +msgid "Cover browser could not be loaded" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1410 +msgid "Undefined" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +msgid "star(s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 +msgid "Unrated" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 +#, python-format +msgid "Set '%s' to today" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 +#, python-format +msgid "Clear '%s'" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 +msgid " index:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 +msgid "" +"The enumeration \"{0}\" contains an invalid value that will be set to the " +"default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 +msgid "Apply changes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 +msgid "Remove series" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 +msgid "Automatically number books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 +msgid "Force numbers to start with " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 +msgid "" +"The enumeration \"{0}\" contains invalid values that will not appear in the " +"list" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 +msgid "Remove all tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 +msgid "tags to add" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 +msgid "tags to remove" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:48 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:148 +msgid "No details available." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 +msgid "Device no longer connected." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:325 +msgid "Get device information" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:340 +msgid "Get list of books on device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:350 +msgid "Get annotations from device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:362 +msgid "Send metadata to device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:367 +msgid "Send collections to device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:417 +#, python-format +msgid "Upload %d books to device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:433 +msgid "Delete books from device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:451 +msgid "Download books from device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:462 +msgid "View book on device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:503 +msgid "Set default send to device action" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:509 +msgid "Send to main memory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:511 +msgid "Send to storage card A" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:513 +msgid "Send to storage card B" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:518 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:527 +msgid "Main Memory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:539 +msgid "Send specific format to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:540 +msgid "Send and delete from library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:583 +msgid "Eject device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:664 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:316 +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:58 +msgid "Error" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:665 +msgid "Error communicating with device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:684 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1223 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:254 +msgid "No suitable formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:700 +msgid "Select folder to open as device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:751 +msgid "Error talking to device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:752 +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/device.py:795 +msgid "Device: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:797 +msgid " detected." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:900 +msgid "selected to send" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:919 +#, python-format +msgid "%(num)i of %(total)i Books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:923 +#, python-format +msgid "0 of %i Books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:924 +msgid "Choose format to send to device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:932 +msgid "No device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:933 +msgid "Cannot send: No device is connected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:940 +msgid "No card" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:937 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:941 +msgid "Cannot send: Device has no storage card" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1002 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1085 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1217 +msgid "Auto convert the following books before uploading to the device?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1031 +msgid "Sending catalogs to device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1130 +msgid "Sending news to device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1184 +msgid "Sending books to device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1224 +msgid "" +"Could not upload the following books to the device, as no suitable formats " +"were found. Convert the book(s) to a format supported by your device first." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1297 +msgid "No space on device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1298 +msgid "" +"<p>Cannot upload books to device there is no more free space available " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget.py:135 +msgid "Unknown formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget.py:136 +msgid "" +"You have enabled the <b>{0}</b> formats for your {1}. The {1} may not " +"support them. If you send these formats to your {1} they may not work. Are " +"you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template.py:70 +msgid "Invalid template" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template.py:71 +#, python-format +msgid "The template %s is invalid:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:78 +msgid "Select available formats and their order for this device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:82 +msgid "" +"If checked, books are placed into sub directories based on their metadata on " +"the device. If unchecked, books are all put into the top level directory." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:83 +msgid "Use sub directories" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:84 +msgid "Use author sort for author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:85 +msgid "Save &template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:20 +msgid "How many empty books?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:25 +msgid "How many empty books should be added?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:33 +msgid "Set the author of the new books to:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_empty_book.py:45 +msgid "Reset author to Unknown" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:63 +msgid "Add books by ISBN" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:64 +msgid "&Paste from clipboard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:65 +#, python-format +msgid "" +"<p>Enter a list of ISBNs in the box to the left, one per line. calibre will " +"automatically create entries for books based on the ISBN and download " +"metadata and covers for them.</p>\n" +"<p>Any invalid ISBNs in the list will be ignored.</p>\n" +"<p>You can also specify a file that will be added with each ISBN. To do this " +"enter the full path to the file after a <code>>></code>. For example:</p>\n" +"<p><code>9788842915232 >> %s</code></p>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:69 +msgid "&Tags to set on created book entries:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:71 +msgid "Fit &cover within view" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog.py:33 +msgid "My Books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 +msgid "Generate catalog" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:93 +msgid "Generate catalog for {0} books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:94 +msgid "Catalog &format:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:95 +msgid "" +"Catalog &title (existing catalog with the same title will be replaced):" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:96 +msgid "&Send catalog to device automatically" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:97 +msgid "Catalog options" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:26 +msgid "Checking database integrity" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:55 +msgid "Dumping database to SQL" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:81 +msgid "Loading database from SQL" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:148 +msgid "Check Library -- Problems Found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:158 +msgid "" +" <h1>Help</h1>\n" +"\n" +" <p>calibre stores the list of your books and their metadata in a\n" +" database. The actual book files and covers are stored as normal\n" +" files in the calibre library folder. The database contains a list of " +"the files\n" +" and covers belonging to each book entry. This tool checks that the\n" +" actual files in the library folder on your computer match the\n" +" information in the database.</p>\n" +"\n" +" <p>The result of each type of check is shown to the left. The " +"various\n" +" checks are:\n" +" </p>\n" +" <ul>\n" +" <li><b>Invalid titles</b>: These are files and folders appearing\n" +" in the library where books titles should, but that do not have the\n" +" correct form to be a book title.</li>\n" +" <li><b>Extra titles</b>: These are extra files in your calibre\n" +" library that appear to be correctly-formed titles, but have no " +"corresponding\n" +" entries in the database</li>\n" +" <li><b>Invalid authors</b>: These are files appearing\n" +" in the library where only author folders should be.</li>\n" +" <li><b>Extra authors</b>: These are folders in the\n" +" calibre library that appear to be authors but that do not have " +"entries\n" +" in the database</li>\n" +" <li><b>Missing book formats</b>: These are book formats that are in\n" +" the database but have no corresponding format file in the book's " +"folder.\n" +" <li><b>Extra book formats</b>: These are book format files found in\n" +" the book's folder but not in the database.\n" +" <li><b>Unknown files in books</b>: These are extra files in the\n" +" folder of each book that do not correspond to a known format or " +"cover\n" +" file.</li>\n" +" <li><b>Missing cover files</b>: These represent books that are " +"marked\n" +" in the database as having covers but the actual cover files are\n" +" missing.</li>\n" +" <li><b>Cover files not in database</b>: These are books that have\n" +" cover files but are marked as not having covers in the " +"database.</li>\n" +" <li><b>Folder raising exception</b>: These represent folders in the\n" +" calibre library that could not be processed/understood by this\n" +" tool.</li>\n" +" </ul>\n" +"\n" +" <p>There are two kinds of automatic fixes possible: <i>Delete\n" +" marked</i> and <i>Fix marked</i>.</p>\n" +" <p><i>Delete marked</i> is used to remove extra files/folders/covers " +"that\n" +" have no entries in the database. Check the box next to the item you " +"want\n" +" to delete. Use with caution.</p>\n" +"\n" +" <p><i>Fix marked</i> is applicable only to covers and missing " +"formats\n" +" (the three lines marked 'fixable'). In the case of missing cover " +"files,\n" +" checking the fixable box and pushing this button will tell calibre " +"that\n" +" there is no cover for all of the books listed. Use this option if " +"you\n" +" are not going to restore the covers from a backup. In the case of " +"extra\n" +" cover files, checking the fixable box and pushing this button will " +"tell\n" +" calibre that the cover files it found are correct for all the books\n" +" listed. Use this when you are not going to delete the file(s). In " +"the\n" +" case of missing formats, checking the fixable box and pushing this\n" +" button will tell calibre that the formats are really gone. Use this " +"if\n" +" you are not going to restore the formats from a backup.</p>\n" +"\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:226 +msgid "&Run the check again" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:229 +msgid "Copy &to clipboard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:232 +msgid "&Done" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:235 +msgid "Delete &marked" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:236 +msgid "Delete marked files (checked subitems)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:239 +msgid "&Fix marked" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:242 +msgid "Fix marked sections (checked fixable items)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:252 +msgid "Names to ignore:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:257 +msgid "" +"Enter comma-separated standard file name wildcards, such as synctoy*.dat" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:260 +msgid "Extensions to ignore" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:265 +msgid "" +"Enter comma-separated extensions without a leading dot. Used only in book " +"folders" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:314 +msgid "(fixable)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:89 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:257 +msgid "Name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:337 +msgid "Path from library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:366 +msgid "" +"The marked files and folders will be <b>permanently deleted</b>. Are you " +"sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:45 +msgid "Choose Format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/models.py:23 +msgid "Format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:50 +msgid "Existing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_device_ui.py:51 +msgid "Convertible" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:43 +msgid "Choose location for calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:50 +msgid "Same as current" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:51 +#, python-format +msgid "The location %s contains the current calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:56 +msgid "No existing library found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:57 +#, python-format +msgid "There is no existing calibre library at %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:62 +msgid "Not empty" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:63 +#, python-format +msgid "The folder %s is not empty. Please choose an empty folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:94 +msgid "No location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:94 +msgid "No location selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:710 +msgid "Bad location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:99 +#, python-format +msgid "%s is not an existing folder" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:77 +msgid "Choose your calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:78 +msgid "Your calibre library is currently located at {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:79 +msgid "New &Location:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:80 +msgid "Use the previously &existing library at the new location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:81 +msgid "&Create an empty library at the new location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:82 +msgid "&Copy structure from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:83 +msgid "" +"Copy the custom columns, saved searches, column widths, plugboards,\n" +"user categories, and other information from the old to the new library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:85 +msgid "&Move current library to new location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_plugin_toolbars.py:23 +#, python-format +msgid "Add \"%s\" to toolbars or menus" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_plugin_toolbars.py:29 +#, python-format +msgid "Select the toolbars and/or menus to add <b>%s</b> to:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_plugin_toolbars.py:45 +msgid "" +"You can also customise the plugin locations using <b>Preferences -> " +"Customise the toolbar</b>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:33 +msgid "Set defaults for conversion of comics (CBR/CBZ files)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 +#, python-format +msgid "Set options for converting %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:181 +msgid "&Title:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:210 +msgid "&Author(s):" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +msgid "&Profile:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:241 +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:649 +msgid "&OK" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:233 +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:658 +msgid "&Cancel" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:26 +msgid "Edit Comments" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:76 +msgid "Where do you want to delete from?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:68 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:232 +msgid "Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:70 +msgid "Device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_location_ui.py:79 +msgid "Library and Device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:55 +msgid "&Show this warning again" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:47 +msgid "ERROR" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:67 +msgid "" +"All checked books will be <b>permanently deleted</b> from your device. " +"Please verify the list." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 +msgid "Location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1052 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:355 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:577 +msgid "Date" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device_ui.py:55 +msgid "Delete from device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:21 +#, python-format +msgid "%(curr)s (was %(initial)s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:882 +msgid "Item is blank" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:883 +msgid "An item cannot be set to nothing. Delete it instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:204 +msgid "No item selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:205 +msgid "You must select one item from the list of Available items." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:212 +msgid "No items selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:213 +msgid "You must select at least one item from the list." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:217 +msgid "Are you sure you want to delete the following items?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:70 +msgid "Category Editor" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor_ui.py:78 +msgid "Items in use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:71 +msgid "" +"Delete item from database. This will unapply the item from all books and " +"then remove it from the database." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:73 +msgid "Rename the item in every book where it is used." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:119 +msgid "Ctrl+S" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/drm_error_ui.py:54 +msgid "This book is DRMed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/drm_error_ui.py:55 +msgid "" +"<p>This book is locked by <b>DRM</b>. To learn more about DRM and why you " +"cannot read or convert this book in calibre, \n" +" <a href=\"http://drmfree.calibre-ebook.com/about#drm\">click " +"here</a>.<p>A large number of recent, DRM free releases are \n" +" available at <a href=\"http://drmfree.calibre-ebook.com\">Open " +"Books</a>." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:52 +msgid "Author sort" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:55 +msgid "Link" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:517 +msgid "No matches found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:437 +msgid "Change Case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:438 +msgid "Upper Case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:439 +msgid "Lower Case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:440 +msgid "Swap Case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:297 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:441 +msgid "Title Case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:442 +msgid "Capitalize" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:181 +msgid "Copy to author sort" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:184 +msgid "Copy to author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:932 +msgid "Invalid author name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:933 +msgid "Author names cannot contain & characters." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:138 +msgid "Manage authors" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:404 +msgid "&Search for:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:316 +msgid "F&ind" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:91 +msgid "Sort by author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:92 +msgid "Sort by author sort" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:93 +msgid "" +"Reset all the author sort values to a value automatically\n" +"generated from the author. Exactly how this value is automatically\n" +"generated can be controlled via Preferences->Advanced->Tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:96 +msgid "Recalculate all author sort values" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:97 +msgid "" +"Copy author sort to author for every author. You typically use this button\n" +"after changing Preferences->Advanced->Tweaks->Author sort name algorithm" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:99 +msgid "Copy all author sort values to author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/job_view_ui.py:45 +msgid "Details of job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:21 +msgid "Active Jobs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:33 +msgid "Find next match" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:34 +msgid "&Search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:38 +msgid "Find previous match" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:54 +msgid "&Stop selected jobs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:58 +msgid "&Hide selected jobs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:62 +msgid "Show job &details" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:66 +msgid "Show &all jobs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:70 +msgid "Stop &all non device jobs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:74 +msgid "&Hide all jobs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:49 +msgid "&Copy to clipboard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:53 +msgid "Show &details" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:54 +msgid "Hide &details" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:58 +msgid "Show detailed information about this error" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:552 +msgid "Copied" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205 +msgid "Copy to clipboard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/message_box.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:860 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:961 +msgid "View log" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:60 +msgid "Title/Author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:61 +msgid "Standard metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:912 +msgid "Custom metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:63 +msgid "Search/Replace" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:83 +msgid "Working" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:301 +msgid "Character match" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:302 +msgid "Regular Expression" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:305 +msgid "Replace field" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:306 +msgid "Prepend to field" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:307 +msgid "Append to field" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:317 +#, python-format +msgid "Editing meta information for <b>%d books</b>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:362 +msgid "" +"Immediately make all changes without closing the dialog. This operation " +"cannot be canceled or undone" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:424 +#, python-format +msgid "Book %d:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:442 +msgid "Enter an identifier type" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:448 +msgid "" +"<b>You can destroy your library using this feature.</b> Changes are " +"permanent. There is no undo function. You are strongly encouraged to back up " +"your library before proceeding.<p>Search and replace in text fields using " +"character matching or regular expressions. " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:456 +msgid "" +"In character mode, the field is searched for the entered search text. The " +"text is replaced by the specified replacement text everywhere it is found in " +"the specified field. After replacement is finished, the text can be changed " +"to upper-case, lower-case, or title-case. If the case-sensitive check box is " +"checked, the search text must match exactly. If it is unchecked, the search " +"text will match both upper- and lower-case letters" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:467 +msgid "" +"In regular expression mode, the search text is an arbitrary python-" +"compatible regular expression. The replacement text can contain " +"backreferences to parenthesized expressions in the pattern. The search is " +"not anchored, and can match and replace multiple times on the same string. " +"The modification functions (lower-case etc) are applied to the matched text, " +"not to the field as a whole. The destination box specifies the field where " +"the result after matching and replacement is to be assigned. You can replace " +"the text in the field, or prepend or append the matched text. See <a " +"href=\"http://docs.python.org/library/re.html\"> this reference</a> for more " +"information on python's regular expressions, and in particular the 'sub' " +"function." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:544 +msgid "S/R TEMPLATE ERROR" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:692 +msgid "You must specify a destination when source is a composite field" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:698 +msgid "You must specify a destination identifier type" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:935 +msgid "Search/replace invalid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:936 +#, python-format +msgid "Search pattern is invalid: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:992 +#, python-format +msgid "" +"Applying changes to %d books.\n" +"Phase {0} {1}%%." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1022 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:349 +msgid "Delete saved search/replace" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1023 +msgid "The selected saved search/replace will be deleted. Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1040 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1048 +msgid "Save search/replace" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1041 +msgid "Search/replace name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1049 +msgid "" +"That saved search/replace already exists and will be overwritten. Are you " +"sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:21 +msgid "Edit Meta information" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:61 +msgid "A&utomatically set author sort" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:65 +msgid "&Swap title and author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:70 +msgid "Author s&ort: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:75 +msgid "" +"Specify how the author(s) of this book should be sorted. For example Charles " +"Dickens should be sorted as Dickens, Charles." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1062 +msgid "&Rating:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1063 +msgid "Rating of this book. 0-5 stars" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:88 +msgid " stars" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:104 +msgid "Add ta&gs: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:189 +msgid "Open Tag Editor" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:121 +msgid "&Remove tags:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:126 +msgid "Comma separated list of tags to remove from the books. " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:130 +msgid "Check this box to remove all tags from the books." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:242 +msgid "Remove &all" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:155 +msgid "If checked, the series will be cleared" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:156 +msgid "&Clear series" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:163 +msgid "" +"If not checked, the series number for the books will be set to 1.\n" +"If checked, selected books will be automatically numbered, in the order\n" +"you selected them. So if you selected Book A and then Book B,\n" +"Book A will have series number 1 and Book B series number 2." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:167 +msgid "&Automatically number books in this series" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:172 +msgid "" +"Series will normally be renumbered from the highest number in the database\n" +"for that series. Checking this box will tell calibre to start numbering\n" +"from the value in the box" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:175 +msgid "&Force numbers to start with:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1395 +msgid "&Date:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:194 +msgid "d MMM yyyy" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:230 +msgid "&Apply date" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:211 +msgid "&Published:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:223 +msgid "Clear published date" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:234 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1167 +msgid "&Languages:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:246 +msgid "Remove &format:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:258 +msgid "" +"When doing a same format to same format conversion, for e.g., EPUB to EPUB, " +"calibre saves the original EPUB as ORIGINAL_EPUB. This option tells calibre " +"to restore the EPUB from ORIGINAL_EPUB. Useful if you did a bulk conversion " +"of a large number of books and something went wrong." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:259 +msgid "Restore pre conversion &originals, if available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:268 +msgid "" +"Force the title to be in title case. If both this and swap authors are " +"checked,\n" +"title and author are swapped before the title case is set" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:270 +msgid "Change title to title &case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:274 +msgid "" +"Update title sort based on the current title. This will be applied only " +"after other changes to title." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:275 +msgid "Update &title sort" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:281 +msgid "" +"Remove stored conversion settings for the selected books.\n" +"\n" +"Future conversion of these books will use the default settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:284 +msgid "Remove &stored conversion settings for the selected books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:289 +msgid "Change &cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:294 +msgid "&Generate default cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:298 +msgid "&Remove cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:302 +msgid "Set from &ebook file(s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:332 +msgid "Load searc&h/replace:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:336 +msgid "Select saved search/replace to load." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:344 +msgid "Save current search/replace" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:345 +msgid "Sa&ve" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:64 +msgid "Delete" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:357 +msgid "Search &field:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:361 +msgid "The name of the field that you want to search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:367 +msgid "Search &mode:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:371 +msgid "" +"Choose whether to use basic text matching or advanced regular expression " +"matching" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:475 +msgid "Identifier type:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:484 +msgid "Choose which identifier type to operate upon" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:391 +msgid "Te&mplate:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:400 +msgid "Enter a template to be used as the source for the search/replace" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:413 +msgid "" +"Enter the what you are looking for, either plain text or a regular " +"expression, depending on the mode" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:417 +msgid "" +"Check this box if the search string must match exactly upper and lower case. " +"Uncheck it if case is to be ignored" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:418 +msgid "Cas&e sensitive" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:423 +msgid "&Replace with:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:427 +msgid "" +"The replacement text. The matched search text will be replaced with this " +"string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:433 +msgid "&Apply function after replace:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:437 +msgid "" +"Specify how the text is to be processed after matching and replacement. In " +"character mode, the entire\n" +"field is processed. In regular expression mode, only the matched text is " +"processed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:445 +msgid "&Destination field:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:449 +msgid "" +"The field that the text will be put into after all replacements.\n" +"If blank, the source field is used if the field is modifiable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:456 +msgid "M&ode:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:460 +msgid "Specify how the text should be copied into the destination." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:464 +msgid "" +"Specifies whether result items should be split into multiple values or\n" +"left as single values. This option has the most effect when the source field " +"is\n" +"not multiple and the destination field is multiple" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:467 +msgid "Split &result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:492 +msgid "For multiple-valued fields, sho&w" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:503 +msgid "values starting a&t" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:514 +msgid "with values separated b&y" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:518 +msgid "" +"Used when displaying test results to separate values in multiple-valued " +"fields" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:532 +msgid "Test text" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:536 +msgid "Test result" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:540 +msgid "Your test:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:717 +msgid "&Basic metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:650 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:558 +msgid "&Custom metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:651 +msgid "&Search and replace" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:61 +msgid "Password needed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:214 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 +msgid "&Username:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:135 +msgid "&Password:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:81 +msgid "&Show password" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:122 +msgid "Restart required" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:123 +msgid "You must restart Calibre before using this plugin!" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:164 +#, python-format +msgid "Version History for %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 +msgid "All" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +msgid "Installed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:397 +msgid "Not installed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 +msgid "Update available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +msgid "Plugin Name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:68 +msgid "Status" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:303 +msgid "Available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:303 +msgid "Calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:303 +msgid "Released" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:328 +msgid "PayPal" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:352 +msgid "" +"This plugin is FREE but you can reward the developer for their effort\n" +"by donating to them via PayPal.\n" +"\n" +"Right-click and choose Donate to reward: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:387 +msgid "Platform unavailable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:389 +msgid "Calibre upgrade required" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:392 +msgid "Plugin deprecated" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:394 +msgid "New version available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:396 +msgid "Latest version installed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:427 +msgid "This plugin has been deprecated and should be uninstalled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:432 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:445 +msgid "Right-click to see more options" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:430 +#, python-format +msgid "This plugin can only be installed on: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:434 +#, python-format +msgid "You must upgrade to at least Calibre %s before installing this plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:439 +msgid "You can install this plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:442 +msgid "A new version of this plugin is available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:444 +msgid "This plugin is installed and up-to-date" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:473 +msgid "Update Check Failed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:474 +msgid "Unable to reach the MobileRead plugins forum index page." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:481 +msgid "User plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:486 +msgid "User Plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:494 +msgid "Filter list of plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:512 +msgid "Description" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:523 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:535 +msgid "&Install" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:524 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:536 +msgid "Install the selected plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:527 +msgid "&Customize plugin " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:580 +msgid "Customize the options for this plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:540 +msgid "Version &History" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:541 +msgid "Show history of changes to this plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:545 +msgid "Plugin &Forum Thread" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:554 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:109 +msgid "Enable/&Disable plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:555 +msgid "Enable or disable this plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:111 +msgid "&Remove plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:560 +msgid "Uninstall the selected plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:569 +msgid "Donate to developer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:570 +msgid "Donate to the developer of this plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:579 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:110 +msgid "&Customize plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:675 +#, python-format +msgid "Are you sure you want to uninstall the <b>%s</b> plugin?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:687 +#, python-format +msgid "Install %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:688 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:283 +msgid "" +"Installing plugins is a <b>security risk</b>. Plugins can contain a " +"virus/malware. Only install it if you got it from a trusted source. Are you " +"sure you want to proceed?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:705 +#, python-format +msgid "Locating zip file for %(name)s: %(link)s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:709 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:746 +msgid "Install Plugin Failed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:710 +#, python-format +msgid "Unable to locate a plugin zip file for <b>%s</b>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:715 +#, python-format +msgid "Downloading plugin zip attachment: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:720 +#, python-format +msgid "Installing plugin: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:732 +#, python-format +msgid "Plugin installed: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:734 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:299 +msgid "" +"Plugin <b>{0}</b> successfully installed under <b> {1} plugins</b>. You may " +"have to restart calibre for the plugin to take effect." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:747 +msgid "" +"A problem occurred while installing this plugin. This plugin will now be " +"uninstalled. Please post the error message in details below into the forum " +"thread for this plugin and restart Calibre." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:772 +msgid "Version history missing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:773 +#, python-format +msgid "Unable to find the version history for %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:780 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:334 +msgid "Plugin not customizable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:781 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:335 +#, python-format +msgid "Plugin: %s does not need customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:785 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:341 +msgid "Must restart" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:786 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:342 +#, python-format +msgid "" +"You must restart calibre before you can configure the <b>%s</b> plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:794 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:323 +msgid "Plugin cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:795 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:324 +#, python-format +msgid "The plugin: %s cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:66 +msgid "Aborting..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:156 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:113 +msgid "Authors" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:188 +msgid "**No items found**" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:189 +msgid "" +"Click in a column in the library view to see the information for that book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:205 +msgid "Books with selected item \"{0}\": {1}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:211 +msgid "" +"Double-click on a book to change the selection in the library view. Shift- " +"or control-double-click to edit the metadata of a book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 +msgid "Quickview" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:74 +msgid "Items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:281 +msgid "Search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:76 +msgid "Search in the library view for the selected item" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:25 +msgid "" +"Restoring database from backups, do not interrupt, this will happen in three " +"stages" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:27 +msgid "Restoring database" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:80 +#, python-format +msgid "The old database was saved as: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:84 +#, python-format +msgid "" +"Restoring the database succeeded with some warnings click Show details to " +"see the details. %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:89 +#, python-format +msgid "Restoring database was successful. %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:94 +msgid "" +"Your list of books, with all their metadata is stored in a single file, " +"called a database. In addition, metadata for each individual book is stored " +"in that books' folder, as a backup.<p>This operation will rebuild the " +"database from the individual book metadata. This is useful if the database " +"has been corrupted and you get a blank list of books. Note that restoring " +"only restores books, not any settings stored in the database, or any custom " +"recipes.<p>Do you want to restore the database?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:131 +msgid "Restoring database failed, click Show details to see details" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:75 +msgid "Saved search already exists" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:76 +#, python-format +msgid "The saved search %s already exists, perhaps with different case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:62 +msgid "" +"The current saved search will be <b>permanently deleted</b>. Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:94 +msgid "Saved Search Editor" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:95 +msgid "Saved Search: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:96 +msgid "Select a saved search to edit" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:97 +msgid "Delete this selected saved search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:99 +msgid "Enter a new saved search name." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:100 +msgid "Add the new saved search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:102 +msgid "Rename the current search to what is in the box" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:104 +msgid "Change the contents of the saved search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:42 +msgid "" +" Download this periodical every week on the specified days " +"after\n" +" the specified time. For example, if you choose: Monday " +"after\n" +" 9:00 AM, then the periodical will be download every Monday " +"as\n" +" soon after 9:00 AM as possible.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:61 +msgid "&Download after:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:91 +msgid "" +" Download this periodical every month, on the specified " +"days.\n" +" The download will happen as soon after the specified time " +"as\n" +" possible on the specified days of each month. For example,\n" +" if you choose the 1st and the 15th after 9:00 AM, the\n" +" periodical will be downloaded on the 1st and 15th of every\n" +" month, as soon after 9:00 AM as possible.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:103 +msgid "&Days of the month:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:105 +msgid "Comma separated list of days of the month. For example: 1, 15" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:109 +msgid "Download &after:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:142 +msgid "" +" Download this periodical every x days. For example, if you\n" +" choose 30 days, the periodical will be downloaded every 30\n" +" days. Note that you can set periods of less than a day, " +"like\n" +" 0.1 days to download a periodical more than once a day.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:151 +msgid "&Download every:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:154 +msgid "every hour" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:157 +msgid "days" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:161 +msgid "" +"Note: You can set intervals of less than a day, by typing the value manually." +msgstr "" + +#. NOTE: Number of news sources +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:197 +#, python-format +msgid "%s news sources" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:311 +msgid "Need username and password" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:312 +msgid "You must provide a username and/or password to use this news source." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:352 +msgid "Account" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:353 +msgid "(optional)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:354 +msgid "(required)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:371 +msgid "Created by: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:378 +msgid "Last downloaded: never" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:379 +msgid "never" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:385 +#, python-format +msgid "%(days)d days, %(hours)d hours and %(mins)d minutes ago" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:401 +msgid "Last downloaded:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:206 +msgid "Schedule news download" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:432 +msgid "Add a custom news source" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:437 +msgid "Download all scheduled new sources" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:542 +msgid "No internet connection" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:543 +msgid "Cannot download news as no internet connection is active" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:207 +msgid "Go" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:208 +msgid "blurb" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:209 +msgid "&Schedule for download:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:210 +msgid "Days of week" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:211 +msgid "Days of month" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:212 +msgid "Every x days" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:213 +msgid "&Account" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 +msgid "For the scheduling to work, you must leave calibre running." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 +msgid "&Schedule" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 +msgid "Add &title as tag" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:220 +msgid "&Extra tags:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:221 +msgid "" +"Maximum number of copies (issues) of this recipe to keep. Set to 0 to keep " +"all (disable)." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:222 +msgid "&Keep at most:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:223 +msgid "" +"<p>When set, this option will cause calibre to keep, at most, the specified " +"number of issues of this periodical. Every time a new issue is downloaded, " +"the oldest one is deleted, if the total is larger than this number.\n" +"<p>Note that this feature only works if you have the option to add the title " +"as tag checked, above.\n" +"<p>Also, the setting for deleting periodicals older than a number of days, " +"below, takes priority over this setting." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:226 +msgid "all issues" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:227 +msgid " issues" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:228 +msgid "&Advanced" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:229 +msgid "&Download now" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:230 +msgid "&Delete downloaded news older than:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:231 +msgid "" +"<p>Delete downloaded news older than the specified number of days. Set to " +"zero to disable.\n" +"<p>You can also control the maximum number of issues of a specific " +"periodical that are kept by clicking the Advanced tab for that periodical " +"above." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:233 +msgid "never delete" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:234 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:273 +msgid " days" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:235 +msgid "Download all scheduled news sources at once" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:236 +msgid "Download &all scheduled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:41 +msgid "contains" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:42 +msgid "The text to search for. It is interpreted as a regular expression." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:43 +msgid "" +"<p>Negate this match. That is, only return results that <b>do not</b> match " +"this query." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:44 +msgid "Negate" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:168 +msgid "Advanced Search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:169 +msgid "&What kind of match to use:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:170 +msgid "Contains: the word or phrase matches anywhere in the metadata field" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:171 +msgid "Equals: the word or phrase must match the entire metadata field" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:172 +msgid "" +"Regular expression: the expression must match anywhere in the metadata field" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:173 +msgid "Find entries that have..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:174 +msgid "&All these words:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:175 +msgid "This exact &phrase:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:214 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:176 +msgid "&One or more of these words:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:177 +msgid "But dont show entries that have..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:178 +msgid "Any of these &unwanted words:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:99 +msgid "" +"See the <a href=\"http://manual.calibre-ebook.com/gui.html#the-search-" +"interface\">User Manual</a> for more help" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:234 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:180 +msgid "A&dvanced Search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:182 +msgid "Enter the title." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:183 +msgid "&Author:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1103 +msgid "Ta&gs:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:216 +msgid "Enter an author's name. Only one author can be used." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:217 +msgid "" +"Enter a series name, without an index. Only one series name can be used." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:218 +msgid "Enter tags separated by spaces" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:184 +msgid "&Clear" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:185 +msgid "Search only in specific fields:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:221 +msgid "Titl&e/Author/Series ..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/select_formats.py:45 +msgid "Choose formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:164 +msgid "Publishers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:143 +msgid " (not on any book)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:146 +msgid "Category lookup name: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:191 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:222 +msgid "Invalid name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:223 +msgid "" +"That name contains leading or trailing periods, multiple periods in a row or " +"spaces before or after periods." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230 +msgid "Name already used" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:231 +msgid "That name is already used, perhaps with different case." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:244 +msgid "" +"The current tag category will be <b>permanently deleted</b>. Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:166 +msgid "User Categories Editor" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:167 +msgid "Category name: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:168 +msgid "Select a category to edit" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:169 +msgid "Delete this selected tag category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:171 +msgid "Enter a category name, then use the add button or the rename button" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:172 +msgid "Add a new category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:174 +msgid "Rename the current category to the what is in the box" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:176 +msgid "Category filter: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:177 +msgid "Select the content kind of the new category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:178 +msgid "A&vailable items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:179 +msgid "Apply tags to current tag category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:181 +msgid "A&pplied items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:182 +msgid "Unapply (remove) tag from current tag category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor.py:70 +msgid "Are your sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor.py:71 +msgid "" +"The following tags are used by one or more books. Are you certain you want " +"to delete them?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:128 +msgid "Tag Editor" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:129 +msgid "A&vailable tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:130 +msgid "" +"Delete tag from database. This will unapply the tag from all books and then " +"remove it from the database." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:132 +msgid "Apply tag to current book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:134 +msgid "A&pplied tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:135 +msgid "Unapply (remove) tag from current book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:137 +msgid "&Add tag:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:138 +msgid "" +"If the tag you want is not in the available list, you can add it here. " +"Accepts a comma separated list of tags." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:139 +msgid "Add tag to available tags and apply it to current book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:105 +msgid "Tag" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:108 +msgid "Count" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:111 +msgid "Was" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:263 +msgid "Template language tutorial" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:267 +msgid "Template function reference" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:285 +msgid "EXCEPTION: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:312 +msgid "No column chosen" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:313 +msgid "You must specify a column to be colored" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:316 +msgid "No template provided" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:317 +msgid "The template box cannot be empty" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:252 +msgid "Set the color of the column:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:39 +msgid "Copy a color name to the clipboard:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:49 +msgid "Copy the selected color name to the clipboard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:59 +msgid "Template value:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:60 +msgid "" +"The value the of the template using the current book in the library view" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:73 +msgid "Function &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:100 +msgid "&Documentation:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog_ui.py:85 +msgid "Python &code:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:30 +msgid "Remove any template from the box" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:32 +msgid "Open Template Editor" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_line_editor.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template.py:48 +msgid "Edit template" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:56 +msgid "Test email settings" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:57 +#, python-format +msgid "Send test mail from %s to:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:134 +msgid "&Test" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub.py:100 +msgid "Cannot preview" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub.py:101 +msgid "You must first explode the epub before previewing." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:61 +msgid "" +"<p>Explode the ePub to display contents in a file browser window. To tweak " +"individual files, right-click, then 'Open with...' your editor of choice. " +"When tweaks are complete, close the file browser window <b>and the editor " +"windows you used to edit files in the epub</b>.</p><p>Rebuild the ePub, " +"updating your calibre library.</p>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:62 +msgid "Display contents of exploded ePub" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:63 +msgid "&Explode ePub" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:64 +msgid "Discard changes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:66 +msgid "Rebuild ePub from exploded contents" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:67 +msgid "&Rebuild ePub" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:68 +msgid "&Preview ePub" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:141 +msgid "No recipe selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:146 +#, python-format +msgid "The attached file: %(fname)s is a recipe to download %(title)s." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:149 +msgid "Recipe for " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:265 +msgid "Switch to Advanced mode" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:180 +msgid "Switch to Basic mode" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:190 +msgid "Feed must have a title" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:191 +msgid "The feed must have a title" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:195 +msgid "Feed must have a URL" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:196 +#, python-format +msgid "The feed %s must have a URL" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:202 +msgid "This feed has already been added to the recipe" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:244 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:340 +msgid "Invalid input" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:341 +#, python-format +msgid "<p>Could not create recipe. Error:<br>%s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:344 +msgid "Replace recipe?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:345 +#, python-format +msgid "A custom recipe named %s already exists. Do you want to replace it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:285 +msgid "Choose builtin recipe" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:331 +msgid "Choose a recipe file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:332 +msgid "Recipes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:372 +msgid "" +"You will lose any unsaved changes. To save your changes, click the " +"Add/Update recipe button. Continue?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:257 +msgid "Add custom news source" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:258 +msgid "Available user recipes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:259 +msgid "Add/Update &recipe" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:260 +msgid "&Remove recipe" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:261 +msgid "&Share recipe" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:262 +msgid "S&how recipe files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 +msgid "Customize &builtin recipe" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:264 +msgid "&Load recipe from file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:266 +msgid "" +"<html><head><meta name=\"qrichtext\" content=\"1\" /><style " +"type=\"text/css\">\n" +"p, li { white-space: pre-wrap; }\n" +"</style></head><body style=\" font-family:'DejaVu Sans'; font-size:10pt; " +"font-weight:400; font-style:normal;\">\n" +"<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-" +"right:0px; -qt-block-indent:0; text-indent:0px;\">Create a basic news " +"recipe, by adding RSS feeds to it. <br />For most feeds, you will have to " +"use the \"Advanced mode\" to further customize the fetch " +"process.</p></body></html>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:270 +msgid "Recipe &title:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:271 +msgid "&Oldest article:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:272 +msgid "The oldest article to download" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:274 +msgid "&Max. number of articles per feed:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:275 +msgid "Maximum number of articles to download per feed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:276 +msgid "Feeds in recipe" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:278 +msgid "Remove feed from recipe" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:284 +msgid "Add feed to recipe" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:282 +msgid "&Feed title:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:283 +msgid "Feed &URL:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:285 +msgid "&Add feed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:286 +msgid "" +"For help with writing advanced news recipes, please visit <a " +"href=\"http://manual.calibre-ebook.com/news.html\">User Recipes</a>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:287 +msgid "Recipe source code (python)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:51 +#, python-format +msgid "Download %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:54 +#, python-format +msgid "Downloading <b>%(fname)s</b> from %(url)s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dnd.py:85 +#, python-format +msgid "Failed to download from %(url)r with error: %(err)s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:42 +msgid "No file specified to download." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:70 +msgid "Not a support ebook format." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:91 +#, python-format +msgid "Downloading %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:103 +msgid "Downloading" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ebook_download.py:107 +msgid "Failed to download ebook" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:123 +#, python-format +msgid "Email %(name)s to %(to)s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:142 +msgid "News:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:144 +#, python-format +msgid "Attached is the %s periodical downloaded by calibre." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:193 +msgid "E-book:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:201 +msgid "Attached, you will find the e-book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:189 +msgid "by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:203 +#, python-format +msgid "in the %s format." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:217 +msgid "Sending email to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:248 +msgid "Auto convert the following books before sending via email?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:255 +msgid "" +"Could not email the following books as no suitable formats were found:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:261 +msgid "Failed to email book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:264 +msgid "sent" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:287 +msgid "Sent news to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:129 +msgid "" +"<div style=\"font-size:10pt;\">\n" +"<p>Set a regular expression pattern to use when trying to guess ebook " +"metadata from filenames. </p>\n" +"<p>A <a href=\"http://manual.calibre-ebook.com/regexp.html\">tutorial</a> on " +"using regular expressions is available.</p>\n" +"<p>Use the <b>Test</b> functionality below to test your regular expression " +"on a few sample filenames (remember to include the file extension). The " +"group names for the various metadata entries are documented in " +"tooltips.</p></div>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:133 +msgid "Regular &expression" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:135 +msgid "File &name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:137 +msgid "Title:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:138 +msgid "Regular expression (?P<title>)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:140 +msgid "No match" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:140 +msgid "Authors:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:141 +msgid "Regular expression (?P<author>)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:143 +msgid "Series:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:144 +msgid "Regular expression (?P<series>)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:146 +msgid "Series index:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:147 +msgid "Regular expression (?P<series_index>)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1300 +msgid "ISBN:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:150 +msgid "Regular expression (?P<isbn>)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:152 +msgid "Publisher:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:153 +msgid "Regular expression (?P<publisher>)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:155 +msgid "Published:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:156 +msgid "Regular expression (?P<published>)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:263 +msgid "Cover Browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:113 +msgid "Shift+Alt+B" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:262 +msgid "Tag Browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:129 +msgid "Shift+Alt+T" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:29 +msgid "version" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:30 +msgid "created by Kovid Goyal" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:179 +msgid "Connected " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:261 +msgid "Book Details" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:232 +msgid "Shift+Alt+D" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:67 +msgid "Job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:69 +msgid "Progress" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:70 +msgid "Running time" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:82 +#, python-format +msgid "There are %d running jobs:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:108 +msgid "Unknown job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:89 +#, python-format +msgid "There are %d waiting jobs:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:277 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:295 +msgid "Cannot kill job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:289 +msgid "Cannot kill jobs that communicate with the device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:278 +msgid "Job has already run" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:281 +msgid "This job cannot be stopped" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:296 +msgid "" +"Some of the jobs cannot be stopped. Click Show details to see the list of " +"unstoppable jobs." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:394 +msgid "Unavailable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 +msgid "Jobs:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 +msgid "Shift+Alt+J" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 +msgid "Click to see list of jobs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 +msgid " - Jobs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 +msgid "Search for a job by name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 +msgid "No job selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 +msgid "Do you really want to stop the selected job?" +msgid_plural "Do you really want to stop all the selected jobs?" +msgstr[0] "" +msgstr[1] "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 +msgid "Do you really want to stop all non-device jobs?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:365 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:86 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:204 +msgid "Custom" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:81 +msgid "&Alternate shortcut:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:76 +msgid "&Shortcut:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 +msgid "None" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:165 +msgid "Done" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:411 +#, python-format +msgid "Default: %(deflt)s [Currently not conflicting: %(curr)s]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:430 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:59 +msgid "Press a key..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:80 +msgid "Already assigned" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:82 +msgid "already assigned to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:499 +msgid "<b>This shortcut no longer exists</b>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:508 +msgid "Shortcuts" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:592 +msgid "" +"Double click on any entry to change the keyboard shortcuts associated with it" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:607 +msgid "Search for a shortcut by name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:336 +msgid "No matches" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:647 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:412 +#, python-format +msgid "Could not find any shortcuts matching %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:57 +msgid "Eject this device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69 +msgid "Show books in calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:71 +msgid "Show books in the main memory of the device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:73 +msgid "Show books in storage card A" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:75 +msgid "Show books in storage card B" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:89 +msgid "Delete library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:140 +msgid "available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:189 +msgid "Advanced search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:184 +msgid "Shift+Ctrl+F" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:194 +msgid "" +"<p>Search the list of books by title, author, publisher, tags, comments, " +"etc.<br><br>Words separated by spaces are ANDed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:200 +msgid "&Go!" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:206 +msgid "Do Quick Search (you can also press the Enter key)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:212 +msgid "Reset Quick Search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:228 +msgid "Copy current search text (instead of search name)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:435 +msgid "Y" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:58 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 +msgid "On Device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:60 +msgid "Size (MB)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:275 +msgid "Modified" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:771 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1355 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:312 +msgid "The lookup/search name is \"{0}\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:777 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1357 +msgid "This book's UUID is \"{0}\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:860 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:446 +msgid "Permission denied" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:861 +msgid "" +"Could not change the on disk location of this book. Is it open in another " +"program?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:867 +msgid "Failed to set data" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:868 +msgid "Could not set data, click Show Details to see why." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1049 +msgid "In Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1053 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:345 +msgid "Size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1337 +msgid "Marked for deletion" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1340 +msgid "Double click to <b>edit</b> me<br><br>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 +#, python-format +msgid "Hide column %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#, python-format +msgid "Sort on %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 +msgid "Ascending" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 +msgid "Descending" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 +#, python-format +msgid "Change text alignment for %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +msgid "Left" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +msgid "Right" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 +msgid "Center" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 +msgid "Show column" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 +msgid "Shrink column if it is too wide to fit" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 +msgid "Restore default layout" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 +msgid "" +"Dropping onto a device is not supported. First add the book to the calibre " +"library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:52 +msgid "Configure Viewer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:53 +msgid "Use white background" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:54 +msgid "Hyphenate" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:55 +msgid "<b>Changes will only take effect after a restart.</b>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:70 +msgid " - LRF Viewer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 +#, python-format +msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:128 +msgid "LRF Viewer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:129 +msgid "Parsing LRF file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:130 +msgid "LRF Viewer toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:561 +msgid "Next Page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:562 +msgid "Previous Page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:193 +msgid "Back" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:194 +msgid "Forward" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:135 +msgid "Next match" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:201 +msgid "Open ebook" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:137 +msgid "Configure" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:32 +msgid "Use the library located at the specified path." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:34 +msgid "Start minimized to system tray." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:36 +msgid "Log debugging information to console" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:38 +msgid "Do not check for updates" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:40 +msgid "" +"Ignore custom plugins, useful if you installed a plugin that is preventing " +"calibre from starting" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:44 +msgid "" +"Cause a running calibre instance, if any, to be shutdown. Note that if there " +"are running jobs, they will be silently aborted, so use with care." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:718 +msgid "Calibre Library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:95 +msgid "Choose a location for your calibre e-book library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:104 +msgid "Failed to create library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:105 +#, python-format +msgid "Failed to create calibre library at: %r." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +msgid "Choose a location for your new calibre e-book library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:136 +msgid "Initializing user interface..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:164 +msgid "Repairing failed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:165 +msgid "The database repair failed. Starting with a new empty library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:204 +msgid "Bad database location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:180 +#, python-format +msgid "Bad database location %r. calibre will now quit." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:494 +msgid "Corrupted database" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:193 +#, python-format +msgid "" +"The library database at %s appears to be corrupted. Do you want calibre to " +"try and rebuild it automatically? The rebuild may not be completely " +"successful. If you say No, a new empty calibre library will be created." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:205 +#, python-format +msgid "" +"Bad database location %r. Will start with a new, empty calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:215 +#, python-format +msgid "Starting %s: Loading books..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:295 +msgid "If you are sure it is not running" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:298 +msgid "may be running in the system tray, in the" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:300 +msgid "upper right region of the screen." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:302 +msgid "lower right region of the screen." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:305 +msgid "try rebooting your computer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:307 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:321 +msgid "try deleting the file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:310 +msgid "Cannot Start " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:311 +#, python-format +msgid "%s is already running." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:25 +msgid "" +"Redirect console output to a dialog window (both stdout and stderr). Useful " +"on windows where GUI apps do not have a output streams." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:113 +msgid "&Preferences" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:114 +msgid "&Quit" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:138 +msgid "Unhandled exception" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:280 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:447 +#, python-format +msgid "Could not open %s. Is it being used by another program?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:137 +msgid "" +"Specify how this book should be sorted when by title. For example, The " +"Exorcist might be sorted as Exorcist, The." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:139 +msgid "Title &sort:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:148 +msgid "" +" The green color indicates that the current title sort matches the current " +"title" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:151 +msgid "" +" The red color warns that the current title sort does not match the current " +"title. No action is required if this is what you want." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:225 +msgid "Authors changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:226 +msgid "" +"You have changed the authors for this book. You must save these changes " +"before you can use Manage authors. Do you want to save these changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:314 +msgid "" +"Specify how the author(s) of this book should be sorted. For example Charles " +"Dickens should be sorted as Dickens, Charles.\n" +"If the box is colored green, then text matches the individual author's sort " +"strings. If it is colored red, then the authors and this text do not match." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:319 +msgid "Author s&ort:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:329 +msgid "" +" The green color indicates that the current author sort matches the current " +"author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:332 +msgid "" +" The red color indicates that the current author sort does not match the " +"current author. No action is required if this is what you want." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:518 +msgid "&Number:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:615 +#, python-format +msgid "" +"Last modified: %s\n" +"\n" +"Double click to view" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:625 +#, python-format +msgid "Restore %s from the original" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:671 +msgid "Set the cover for the book from the selected format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:679 +msgid "Set metadata for the book from the selected format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:686 +msgid "Add a format to this book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:693 +msgid "Remove the selected format from this book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:764 +msgid "Choose formats for " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:807 +msgid "You do not have permission to read the following files:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:838 +msgid "No format selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:850 +msgid "Could not read metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:851 +#, python-format +msgid "Could not read metadata from %s format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:879 +msgid "&Browse" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:881 +msgid "T&rim" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:883 +msgid "&Remove" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:889 +msgid "Download co&ver" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:890 +msgid "&Generate cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:940 +msgid "Not a valid picture" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:964 +msgid "Specify title and author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:965 +msgid "You must specify a title and author before generating a cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:984 +msgid "Invalid cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:985 +msgid "Could not change cover as the image is invalid." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1012 +msgid "This book has no cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1014 +#, python-format +msgid "Cover size: %(width)d x %(height)d pixels" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1070 +msgid "stars" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1139 +msgid "Tags changed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1140 +msgid "" +"You have changed the tags. In order to use the tags editor, you must either " +"discard or apply these changes. Apply changes?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1168 +msgid "A comma separated list of languages for this book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1191 +msgid "Unknown language" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1192 +#, python-format +msgid "The language %s is not recognized" +msgid_plural "The languages %s are not recognized" +msgstr[0] "" +msgstr[1] "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1204 +msgid "I&ds:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1205 +#, python-format +msgid "" +"Edit the identifiers for this book. For example: \n" +"\n" +"%s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1269 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1331 +msgid "This ISBN number is valid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1272 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1334 +msgid "This ISBN number is invalid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1297 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1319 +msgid "Invalid ISBN" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1298 +msgid "Enter an ISBN" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1320 +msgid "The ISBN you entered is not valid. Try again." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1344 +msgid "&Publisher:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1413 +msgid "Clear date" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1447 +msgid "Publishe&d:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:35 +msgid "Schedule download?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:46 +#, python-format +msgid "" +"The download of metadata for the <b>%d selected book(s)</b> will run in the " +"background. Proceed?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:48 +msgid "" +"You can monitor the progress of the download by clicking the rotating " +"spinner in the bottom right corner." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:51 +msgid "" +"When the download completes you will be asked for confirmation before " +"calibre applies the downloaded metadata." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:62 +msgid "Download only &metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:66 +msgid "Download only &covers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:70 +msgid "&Configure download" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:74 +msgid "Download &both" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:110 +#, python-format +msgid "Download metadata for %d books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:114 +msgid "Metadata download started" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:124 +msgid "(Failed metadata)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:126 +msgid "(Failed cover)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:212 +#, python-format +msgid "Downloaded %(num)d of %(tot)d" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/config.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:61 +msgid "Downloaded metadata fields" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:32 +msgid "Edit Metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:850 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:107 +#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:219 +#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:415 +msgid "Next" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:70 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 +#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:229 +#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:398 +msgid "Previous" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:119 +msgid "" +"Automatically create the title sort entry based on the current title entry.\n" +"Using this button to create title sort will change title sort from red to " +"green." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:130 +msgid "" +"Automatically create the author sort entry based on the current author " +"entry. Using this button to create author sort will change author sort from " +"red to green. There is a menu of functions available under this button. " +"Click and hold on the button to see it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:136 +msgid "Set author sort from author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:137 +msgid "Set author from author sort" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:140 +msgid "Copy author to author sort" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:142 +msgid "Copy author sort to author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:153 +msgid "Swap the author and title" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:159 +msgid "" +"Manage authors. Use to rename authors and correct individual author's sort " +"values" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:166 +msgid "Remove unused series (Series that have no books)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:201 +msgid "" +"Paste the contents of the clipboard into the identifiers box prefixed with " +"isbn:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:214 +msgid "&Download metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:226 +msgid "Configure download metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:230 +msgid "Change how calibre downloads metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:292 +#, python-format +msgid " [%(num)d of %(tot)d]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:341 +msgid "Could not read cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:335 +#, python-format +msgid "Could not read cover from %s format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:342 +#, python-format +msgid "The cover in the %s format is invalid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:504 +#, python-format +msgid "Save changes and edit the metadata of %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:601 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:806 +msgid "Change cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:660 +msgid "Co&mments" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:700 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:847 +msgid "&Metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:705 +msgid "&Cover and formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:775 +msgid "C&ustom metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:787 +msgid "&Comments" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:853 +msgid "Basic metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:134 +msgid "Has cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:134 +msgid "Has summary" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:191 +msgid "" +"The has cover indication is not fully\n" +"reliable. Sometimes results marked as not\n" +"having a cover will find a cover in the download\n" +"cover stage, and vice versa." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:274 +msgid "See at" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:409 +msgid "calibre is downloading metadata from: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:431 +msgid "Please wait" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:460 +msgid "Query: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:479 +msgid "Failed to download metadata. Click Show Details to see details" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:488 +msgid "" +"Failed to find any books that match your search. Try making the search " +"<b>less specific</b>. For example, use only the author's last name and a " +"single distinctive word from the title.<p>To see the full log, click Show " +"Details." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:551 +msgid "Current cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:554 +msgid "Searching..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:711 +#, python-format +msgid "Downloading covers for <b>%s</b>, please wait..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:742 +msgid "Failed to download any covers, click \"Show details\" for details." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:748 +#, python-format +msgid "Could not find any covers for <b>%s</b>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:750 +#, python-format +msgid "Found <b>%(num)d</b> covers of %(title)s. Pick the one you like best." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:839 +msgid "Downloading metadata..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:945 +msgid "Downloading cover..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:37 +msgid "" +"Restore settings to default values. You have to click Apply to actually save " +"the default settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:328 +msgid "Configure " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding.py:29 +msgid "Ignore duplicate incoming formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding.py:30 +msgid "Overwrite existing duplicate formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding.py:31 +msgid "Create new record for each duplicate format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:68 +msgid "" +"Here you can control how calibre will read metadata from the files you add " +"to it. calibre can either read metadata from the contents of the file, or " +"from the filename." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:69 +msgid "Read &metadata from file contents rather than file name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:70 +msgid "" +"Swap the firstname and lastname of the author. This affects only metadata " +"read from file names." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:71 +msgid "&Swap author firstname and lastname" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:72 +msgid "" +"Automerge: If books with similar titles and authors found, merge the " +"incoming formats automatically into\n" +"existing book records. The box to the right controls what happens when an " +"existing record already has\n" +"the incoming format. Note that this option also affects the Copy to library " +"action.\n" +"\n" +"Title match ignores leading indefinite articles (\"the\", \"a\", \"an\"), " +"punctuation, case, etc. Author match is exact." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:77 +msgid "&Automerge added books if they already exist in the calibre library:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:78 +msgid "" +"Automerge: If books with similar titles and authors found, merge the " +"incoming formats automatically into\n" +"existing book records. This box controls what happens when an existing " +"record already has\n" +"the incoming format: \n" +"\n" +"Ignore duplicate incoming files - means that existing files in your calibre " +"library will not be replaced\n" +"Overwrite existing duplicate files - means that existing files in your " +"calibre library will be replaced\n" +"Create new record for each duplicate file - means that a new book entry will " +"be created for each duplicate file\n" +"\n" +"Title matching ignores leading indefinite articles (\"the\", \"a\", \"an\"), " +"punctuation, case, etc.\n" +"Author matching is exact." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:88 +msgid "&Tags to apply when adding a book:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:89 +msgid "" +"A comma-separated list of tags that will be applied to books added to the " +"library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:90 +msgid "&Configure metadata from file name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:91 +msgid "" +"When using the \"&Copy to library\" action to copy books between libraries, " +"preserve the date" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:159 +msgid "High" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:160 +msgid "Low" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:36 +msgid "Very low" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +msgid "Compact Metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:64 +msgid "Default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 +msgid "All on 1 tab" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 +msgid "Confirmation dialogs have all been reset" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:147 +msgid "Show notification when &new version is available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:148 +msgid "" +"If checked, Yes/No custom columns values can be Yes, No, or Unknown.\n" +"If not checked, the values can be Yes or No." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:150 +msgid "Yes/No columns have three values (Requires restart)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:151 +msgid "Automatically send downloaded &news to ebook reader" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:152 +msgid "&Delete news from library when it is automatically sent to reader" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:153 +msgid "Preferred &output format:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:154 +msgid "Default network &timeout:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:155 +msgid "" +"Set the default timeout for network fetches (i.e. anytime we go out to the " +"internet to get information)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:156 +msgid " seconds" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:157 +msgid "Job &priority:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:161 +msgid "Restriction to apply when the current library is opened:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:162 +msgid "" +"Apply this restriction on calibre startup if the current library is being " +"used. Also applied when switching to this library. Note that this setting is " +"per library. " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:163 +msgid "Edit metadata (single) layout:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:164 +msgid "" +"Choose a different layout for the Edit Metadata dialog. The compact metadata " +"layout favors editing custom metadata over changing covers and formats." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 +msgid "Preferred &input format order:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 +msgid "Use internal &viewer for:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 +msgid "Reset all disabled &confirmation dialogs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32 +msgid "is true" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:33 +msgid "is false" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:29 +msgid "is undefined" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36 +msgid "has id" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:37 +msgid "does not have id" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40 +msgid "is equal to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:41 +msgid "is less than" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:42 +msgid "is greater than" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:45 +msgid "has" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:46 +msgid "does not have" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:47 +msgid "has pattern" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:48 +msgid "does not have pattern" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:57 +msgid "is set" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:58 +msgid "is not set" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:53 +msgid "is" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:54 +msgid "is not" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:55 +msgid "matches pattern" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:56 +msgid "does not match pattern" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:75 +msgid "If the ___ column ___ values" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:210 +msgid "" +"Enter either an identifier type or an identifier type and value of the form " +"identifier:value" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:213 +msgid "Enter a number" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:218 +msgid "Enter a date in the format YYYY-MM-DD" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:220 +msgid "Enter a string." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:222 +msgid "Enter a regular expression" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:224 +#, python-format +msgid "You can match multiple values by separating them with %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:239 +msgid "Create/edit a column coloring rule" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:244 +msgid "Create a coloring rule by filling in the boxes below" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:258 +msgid "to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:266 +msgid "Only if the following conditions are all satisfied:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:276 +msgid "Add another condition" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:280 +msgid "You can disable a condition by blanking all of its boxes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:352 +msgid "Invalid condition" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:353 +#, python-format +msgid "One of the conditions for this rule is invalid: <b>%s</b>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:358 +msgid "No conditions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:359 +msgid "You must specify at least one non-empty condition for this rule" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:447 +#, python-format +msgid "" +"\n" +" <p>Advanced Rule for column <b>%(col)s</b>:\n" +" <pre>%(rule)s</pre>\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:452 +#, python-format +msgid "" +" <p>Set the color of <b>%(col)s</b> to <b>%(color)s</b> if the " +"following\n" +" conditions are met:</p>\n" +" <ul>%(rule)s</ul>\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467 +#, python-format +msgid "" +"<li>If the <b>%(col)s</b> column <b>%(action)s</b> value: <b>%(val)s</b>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:483 +msgid "" +"You can control the color of columns in the book list by creating \"rules\" " +"that tell calibre what color to use. Click the Add Rule button below to get " +"started.<p>You can <b>change an existing rule</b> by double clicking it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:491 +msgid "Add Rule" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:494 +msgid "Remove Rule" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:511 +msgid "Move the selected rule up" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:516 +msgid "Move the selected rule down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:524 +msgid "Add Advanced Rule" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:572 +msgid "No rule selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:573 +#, python-format +msgid "No rule selected for %s." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:578 +msgid "removal" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96 +msgid "You must select a column to delete it" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:101 +msgid "The selected column is not a custom column" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:103 +#, python-format +msgid "Do you really want to delete column %s and all its data?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:82 +msgid "" +"Here you can re-arrange the layout of the columns in the calibre library " +"book list. You can hide columns by unchecking them. You can also create your " +"own, custom columns." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:88 +msgid "Move column up" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:84 +msgid "Remove a user-defined column" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:86 +msgid "Add a user-defined column" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:88 +msgid "Edit settings of a user-defined column" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:96 +msgid "Move column down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:91 +msgid "Add &custom column" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/conversion.py:41 +msgid "" +"Restore settings to default values. Only settings for the currently selected " +"section are restored." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:21 +msgid "Text, column shown in the tag browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:24 +msgid "Comma separated text, like tags, shown in the tag browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:27 +msgid "Long text, like comments, not shown in the tag browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:30 +msgid "Text column for keeping series-like information" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:33 +msgid "Text, but with a fixed set of permitted values" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:37 +msgid "Floating point numbers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:39 +msgid "Integers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:41 +msgid "Ratings, shown with stars" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:176 +msgid "Yes/No" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:46 +msgid "Column built from other columns" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:48 +msgid "Column built from other columns, behaves like tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:56 +msgid "Create a custom column" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:67 +msgid "Quick create:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:152 +msgid "Formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:68 +msgid "ISBN" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 +msgid "People's names" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 +msgid "Number" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 +msgid "Text" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:92 +msgid "Edit a custom column" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:96 +msgid "No column selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:97 +msgid "No column has been selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:101 +msgid "Selected column is not a user-defined column" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:148 +msgid "" +"If checked, this column will be displayed as HTML in book details and the " +"content server. This can be used to construct links with the template " +"language. For example, the template " +"<pre><big><b>{title}</b></big>{series:| " +"[|}{series_index:| [|]]}</pre>will create a field displaying the title in " +"bold large characters, along with the series, for example <br>\"<big><b>An " +"Oblique Approach</b></big> [Belisarius [1]]\". The template <pre><a " +"href=\"http://www.beam-ebooks.de/ebook/{identifiers:select(beam)}\">Beam " +"book</a></pre> will generate a link to the book on the Beam ebooks " +"site." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:177 +msgid "My Tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:178 +msgid "My Series" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:179 +msgid "My Rating" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:180 +msgid "People" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:207 +msgid "" +"Examples: The format <code>{0:0>4d}</code> gives a 4-digit number with " +"leading zeros. The format <code>{0:d} days</code> prints the number " +"then the word \"days\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:212 +msgid "" +"Examples: The format <code>{0:.1f}</code> gives a floating point number with " +"1 digit after the decimal point. The format " +"<code>Price: $ {0:,.2f}</code> prints \"Price $ \" then " +"displays the number with 2 digits after the decimal point and thousands " +"separated by commas." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:221 +msgid "No lookup name was provided" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:225 +msgid "" +"The lookup name must contain only lower case letters, digits and " +"underscores, and start with a letter" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:228 +msgid "" +"Lookup names cannot end with _index, because these names are reserved for " +"the index of a series column." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:238 +msgid "No column heading was provided" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:248 +#, python-format +msgid "The lookup name %s is already used" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:260 +#, python-format +msgid "The heading %s is already used" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:271 +msgid "You must enter a template for composite columns" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:281 +msgid "You must enter at least one value for enumeration columns" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:285 +msgid "You cannot provide the empty value, as it is included by default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:289 +msgid "The value \"{0}\" is in the list more than once" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:297 +msgid "" +"The colors box must be empty or contain the same number of items as the " +"value box" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:302 +msgid "The color {0} is unknown" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:220 +msgid "&Lookup name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:221 +msgid "Column &heading" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:222 +msgid "" +"Used for searching the column. Must contain only digits and lower case " +"letters." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:223 +msgid "" +"Column heading in the library view and category name in the tag browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:224 +msgid "&Column type" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:225 +msgid "What kind of information will be kept in the column." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:226 +msgid "" +"Show check marks in the GUI. Values of 'yes', 'checked', and 'true'\n" +"will show a green check. Values of 'no', 'unchecked', and 'false' will show " +"a red X.\n" +"Everything else will show nothing." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:229 +msgid "Show checkmarks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:230 +msgid "" +"Check this box if this column contains names, like the authors column." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:231 +msgid "Contains names" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:232 +msgid "" +"<p>Date format. Use 1-4 'd's for day, 1-4 'M's for month, and 2 or 4 'y's " +"for year.</p>\n" +"<p>For example:\n" +"<ul>\n" +"<li> ddd, d MMM yyyy gives Mon, 5 Jan 2010<li>\n" +"<li>dd MMMM yy gives 05 January 10</li>\n" +"</ul> " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:238 +msgid "Use MMM yyyy for month + year, yyyy for year only" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:239 +msgid "Default: dd MMM yyyy." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:240 +msgid "" +"<p>The format specifier must begin with <code>{0:</code>\n" +"and end with <code>}</code> You can have text before and after the format " +"specifier.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:243 +msgid "" +"<p>Default: Not formatted. For format language details see <a " +"href=\"http://docs.python.org/library/string.html#format-string-syntax\">the " +"python documentation</a>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:244 +msgid "Format for &dates" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:245 +msgid "Format for &numbers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:246 +msgid "&Template" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:247 +msgid "Field template. Uses the same syntax as save templates." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:248 +msgid "Similar to save templates. For example, {title} {isbn}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:249 +msgid "Default: (nothing)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:250 +msgid "&Sort/search column by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:251 +msgid "How this column should handled in the GUI when sorting and searching" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:252 +msgid "If checked, this column will appear in the tags browser as a category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:253 +msgid "Show in tags browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:254 +msgid "Show as HTML in book details" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:255 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:260 +msgid "Values" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:256 +msgid "" +"A comma-separated list of permitted values. The empty value is always\n" +"included, and is the default. For example, the list 'one,two,three' has\n" +"four values, the first of them being the empty value." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:259 +msgid "The empty string is always the first value" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:261 +msgid "" +"A list of color names to use when displaying an item. The\n" +"list must be empty or contain a color for each value." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:263 +msgid "Colors" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_debug.py:21 +msgid "Getting debug information" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_debug.py:22 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:32 +msgid "Copy to &clipboard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_debug.py:24 +msgid "Debug device detection" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:31 +msgid "Getting device information" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:34 +msgid "User-defined device information" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:57 +msgid "Device Detection" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:52 +msgid "Ensure your device is disconnected, then press OK" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:58 +msgid "Ensure your device is connected, then press OK" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:89 +msgid "" +"Copy these values to the clipboard, paste them into an editor, then enter " +"them into the USER_DEVICE by customizing the device plugin in Preferences-" +">Plugins. Remember to also enter the folders where you want the books to be " +"put. You must restart calibre for your changes to take effect.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:66 +msgid "" +"calibre can send your books to you (or your reader) by email. Emails will be " +"automatically sent for downloaded news to all email addresses that have Auto-" +"send checked." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:67 +msgid "Add an email address to which to send books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:68 +msgid "&Add email" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:69 +msgid "Make &default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:70 +msgid "&Remove email" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:27 +msgid "Auto send" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:27 +msgid "Email" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:32 +msgid "Formats to email. The first matching format will be sent." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:33 +msgid "" +"Subject of the email to use when sending. When left blank the title will be " +"used for the subject. Also, the same templates used for \"Save to disk\" " +"such as {title} and {author_sort} can be used here." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:37 +msgid "" +"If checked, downloaded news will be automatically mailed <br>to this email " +"address (provided it is in one of the listed formats)." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:115 +msgid "new email address" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103 +msgid "Narrow" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:103 +msgid "Wide" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134 +msgid "Off" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:134 +msgid "Small" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:135 +msgid "Large" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:135 +msgid "Medium" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138 +msgid "Always" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:138 +msgid "If there is enough room" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:139 +msgid "Never" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:142 +msgid "By first letter" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:142 +msgid "Disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:143 +msgid "Partitioned" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:175 +msgid "Column coloring" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223 +msgid " or " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:31 +msgid "User Interface &layout (needs restart):" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:41 +msgid "Choose &language (requires restart):" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:50 +msgid "Enable system &tray icon (needs restart)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:54 +msgid "Disable all animations. Useful if you have a slow/old computer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:55 +msgid "Disable &animations" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:59 +msgid "Disable ¬ifications in system tray" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:63 +msgid "Show &splash screen at startup" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:67 +msgid "&Toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:75 +msgid "&Icon size:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:82 +msgid "Show &text under icons:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:89 +msgid "Interface font:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:98 +msgid "Change &font (needs restart)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:111 +msgid "Select displayed metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:120 +msgid "Move up" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:127 +msgid "Move down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:139 +msgid "Default author link template:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:143 +msgid "" +"<p>Enter a template to be used to create a link for\n" +"an author in the books information dialog. This template will \n" +"be used when no link has been provided for the author using \n" +"Manage Authors. You can use the values {author} and \n" +"{author_sort}, and any template function." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:152 +msgid "Use &Roman numerals for series" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:157 +msgid "" +"Note that <b>comments</b> will always be displayed at the end, regardless of " +"the position you assign here." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:169 +msgid "Tags browser category &partitioning method:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:173 +msgid "" +"Choose how tag browser subcategories are displayed when\n" +"there are more items than the limit. Select by first\n" +"letter to see an A, B, C list. Choose partitioned to\n" +"have a list of fixed-sized groups. Set to disabled\n" +"if you never want subcategories" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:181 +msgid "&Collapse when more items than:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:185 +msgid "" +"If a Tag Browser category has more than this number of items, it is divided\n" +"up into sub-categories. If the partition method is set to disable, this " +"value is ignored." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:191 +msgid "Show &average ratings in the tags browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:196 +msgid "Categories with &hierarchical items:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202 +msgid "" +"A comma-separated list of columns in which items containing\n" +"periods are displayed in the tag browser trees. For example, if\n" +"this box contains 'tags' then tags of the form 'Mystery.English'\n" +"and 'Mystery.Thriller' will be displayed with English and Thriller\n" +"both under 'Mystery'. If 'tags' is not in this box,\n" +"then the tags will be displayed each on their own line." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:218 +msgid "Show cover &browser in a separate window (needs restart)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:222 +msgid "&Number of covers to show in browse mode (needs restart):" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:231 +msgid "When showing cover browser in separate window, show it &fullscreen" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:236 +#, python-format +msgid "You can press the %s keys to toggle full screen mode." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:260 +msgid "Main Interface" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:92 +msgid "&Apply" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:237 +msgid "Restore &defaults" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:238 +msgid "Save changes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:239 +msgid "Cancel and return to overview" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:295 +msgid "Restoring to defaults not supported for" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:330 +msgid "" +"Some of the changes you made require a restart. Please restart calibre as " +"soon as possible." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:333 +msgid "" +"The changes you have made require calibre be restarted immediately. You will " +"not be allowed set any more preferences, until you restart." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:127 +msgid "Restart needed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:48 +msgid "Source" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:50 +msgid "Cover priority" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:77 +msgid "This source is configured and ready to go" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:78 +msgid "This source needs configuration" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:94 +msgid "" +"This plugin is useful only for <b>Chinese</b> language books. It can return " +"incorrect results for books in English. Are you sure you want to enable it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:158 +msgid "Published date" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:265 +#, python-format +msgid "<b>Configure %(name)s</b><br>%(desc)s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:322 +msgid "No source selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:323 +msgid "No source selected, cannot configure." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:32 +msgid "Metadata sources" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:37 +msgid "" +"Disable any metadata sources you do not want by unchecking them. You can " +"also set the cover priority. Covers from sources that have a higher " +"(smaller) priority will be preferred when bulk downloading metadata.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:48 +msgid "" +"Sources with a red X next to their names must be configured before they will " +"be used. " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:53 +msgid "Configure selected source" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:66 +msgid "" +"If you uncheck any fields, metadata for those fields will not be downloaded" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:71 +msgid "&Select all" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:75 +msgid "&Clear all" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:79 +msgid "&Select default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:80 +msgid "" +"Restore your own subset of checked fields that you define using the 'Set as " +"default' button" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:84 +msgid "&Set as default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:85 +msgid "" +"Store the currently checked fields as a default you can restore using the " +"'Select default' button" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:90 +msgid "Convert all downloaded comments to plain &text" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:94 +msgid "Swap author names from FN LN to LN, FN" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:98 +msgid "Max. number of &tags to download:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:105 +msgid "Max. &time to wait after first match is found:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:199 +msgid " secs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:113 +msgid "Max. time to wait after first &cover is found:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:121 +msgid "" +"<p>Different metadata sources have different sets of tags for the same book. " +"If this option is checked, then calibre will use the smaller tag sets. These " +"tend to be more like genres, while the larger tag sets tend to describe the " +"books content.\n" +"<p>Note that this option will only make a practical difference if one of the " +"metadata sources has a genre like tag set for the book you are searching " +"for. Most often, they all have large tag sets." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:123 +msgid "Prefer &fewer tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:40 +msgid "No proxies used" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:44 +msgid "<b>Using proxies:</b>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:66 +msgid "Failed to install command line tools." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:69 +msgid "Command line tools installed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:70 +msgid "Command line tools installed in" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:71 +msgid "" +"If you move calibre.app, you have to re-install the command line tools." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:25 +msgid "Max. simultaneous conversion/news download jobs:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:33 +msgid "Limit the max. simultaneous jobs to the available CPU &cores" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:39 +msgid "Debug &device detection" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:43 +msgid "Get information to setup the &user defined device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:51 +msgid "Open calibre &configuration directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:57 +msgid "&Install command line tools" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:67 +msgid "&Abort conversion jobs that take more than:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:71 +msgid "Never abort" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:72 +msgid " minutes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:52 +msgid "Device currently connected: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:55 +msgid "Device currently connected: None" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:189 +msgid "That format and device already has a plugboard." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:201 +msgid "Possibly override plugboard?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:202 +msgid "" +"A more general plugboard already exists for that format and device. Are you " +"sure you want to add the new plugboard?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:214 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:236 +msgid "Add possibly overridden plugboard?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:215 +msgid "" +"More specific device plugboards exist for that format. Are you sure you want " +"to add the new plugboard?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:226 +msgid "Really add plugboard?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:227 +msgid "" +"A different plugboard matches that format and device combination. Are you " +"sure you want to add the new plugboard?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:237 +msgid "" +"More specific format and device plugboards already exist. Are you sure you " +"want to add the new plugboard?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:248 +msgid "The {0} device does not support the {1} format." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:281 +msgid "Invalid destination" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:282 +msgid "The destination field cannot be blank" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:114 +msgid "" +"Here you can change the metadata calibre uses to update a book when saving " +"to disk or sending to device.\n" +"\n" +"Use this dialog to define a 'plugboard' for a format (or all formats) and a " +"device (or all devices). The plugboard specifies what template is connected " +"to what field. The template is used to compute a value, and that value is " +"assigned to the connected field.\n" +"\n" +"Often templates will contain simple references to composite columns, but " +"this is not necessary. You can use any template in a source box that you can " +"use elsewhere in calibre.\n" +"\n" +"One possible use for a plugboard is to alter the title to contain series " +"information. Another would be to change the author sort, something that mobi " +"users might do to force it to use the ';' that the kindle requires. A third " +"would be to specify the language." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:121 +msgid "Format (choose first)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:122 +msgid "Device (choose second)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:123 +msgid "Add new plugboard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:124 +msgid "Edit existing plugboard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:125 +msgid "Existing plugboards" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:126 +msgid "Source template" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:127 +msgid "Destination field" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:128 +msgid "Save plugboard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:129 +msgid "Delete plugboard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:182 +#, python-format +msgid "%(plugin_type)s %(plugins)s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:183 +msgid "plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:192 +msgid "" +"\n" +"Customization: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:223 +msgid "Search for plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:233 +msgid "Could not find any matching plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:275 +msgid "Add plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:307 +msgid "No valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:308 +#, python-format +msgid "%s is not a valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:317 +#, python-format +msgid "Select an actual plugin under <b>%s</b> to customize" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:347 +msgid "Plugin <b>{0}</b> successfully removed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:355 +msgid "Cannot remove builtin plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:356 +msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:106 +msgid "" +"Here you can customize the behavior of Calibre by controlling what plugins " +"it uses." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:112 +msgid "Get &new plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:113 +msgid "Check for &updated plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:114 +msgid "&Load plugin from file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template.py:34 +msgid "Any custom field" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template.py:35 +msgid "The lookup name of any custom field (these names begin with \"#\")." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template.py:66 +msgid "Constant template" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template.py:67 +msgid "" +"The template contains no {fields}, so all books will have the same name. Is " +"this OK?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template_ui.py:57 +msgid "Save &template" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template_ui.py:58 +msgid "" +"By adjusting the template below, you can control what folders the files are " +"saved in and what filenames they are given. You can use the / character to " +"indicate sub-folders. Available metadata variables are described below. If a " +"particular book does not have some metadata, the variable will be replaced " +"by the empty string." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template_ui.py:59 +msgid "Available variables:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template_ui.py:60 +msgid "Template Editor" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/saving_ui.py:25 +msgid "" +"Here you can control how calibre will save your books when you click the " +"Save to Disk button:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/saving_ui.py:30 +msgid "Save &cover separately" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/saving_ui.py:34 +msgid "Replace space with &underscores" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/saving_ui.py:38 +msgid "Update &metadata in saved copies" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/saving_ui.py:42 +msgid "Change paths to &lowercase" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/saving_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:57 +msgid "Format &dates as:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/saving_ui.py:53 +msgid "File &formats to save:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/saving_ui.py:63 +msgid "Convert non-English characters to &English equivalents" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/saving_ui.py:67 +msgid "Save metadata in &OPF file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/saving_ui.py:71 +msgid "&Show files in file browser after saving to disk" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:34 +msgid "" +"<b>Grouped search terms</b> are search names that permit a query to " +"automatically search across more than one column. For example, if you create " +"a grouped search term <code>allseries</code> with the value <code>series, " +"#myseries, #myseries2</code>, then the query <code>allseries:adhoc</code> " +"will find 'adhoc' in any of the columns <code>series</code>, " +"<code>#myseries</code>, and <code>#myseries2</code>.<p> Enter the name of " +"the grouped search term in the drop-down box, enter the list of columns to " +"search in the value box, then push the Save button. <p>Note: Search terms " +"are forced to lower case; <code>MySearch</code> and <code>mysearch</code> " +"are the same term.<p>You can have your grouped search term show up as user " +"categories in the Tag Browser. Just add the grouped search term names to " +"the Make user categories from box. You can add multiple terms separated by " +"commas. The new user category will be automatically populated with all the " +"items in the categories included in the grouped search term. <p>Automatic " +"user categories permit you to see easily all the category items that are in " +"the columns contained in the grouped search term. Using the above " +"<code>allseries</code> example, the automatically-generated user category " +"will contain all the series mentioned in <code>series</code>, " +"<code>#myseries</code>, and <code>#myseries2</code>. This can be useful to " +"check for duplicates, to find which column contains a particular item, or to " +"have hierarchical categories (categories that contain categories)." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:119 +msgid "Grouped Search Terms" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:97 +msgid "The search term cannot be blank" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:107 +msgid "That name is already used for a column or grouped search term" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:111 +msgid "That name is already used for user category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:117 +msgid "The value box cannot be empty" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:129 +msgid "The empty grouped search term cannot be deleted" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:110 +msgid "Search as you &type" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:111 +msgid "" +"&Highlight search results instead of restricting the book list to the results" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:112 +msgid "What to search by default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:113 +msgid "" +"When you enter a search term without a prefix, by default calibre will " +"search all metadata for matches. For example, entering, \"asimov\" will " +"search not just authors but title/tags/series/comments/etc. Use these " +"options if you would like to change this behavior." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:114 +msgid "&Limit the searched metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:115 +msgid "&Columns that non-prefixed searches are limited to:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:116 +msgid "" +"Note that this option affects all searches, including saved searches and " +"restrictions. Therefore, if you use this option, it is best to ensure that " +"you always use prefixes in your saved searches. For example, use " +"\"series:Foundation\" rather than just \"Foundation\" in a saved search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:117 +msgid "" +"Clear search histories from all over calibre. Including the book list, e-" +"book viewer, fetch news dialog, etc." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:118 +msgid "Clear search &histories" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:120 +msgid "&Names:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:121 +msgid "" +"Contains the names of the currently-defined group search terms.\n" +"Create a new name by entering it into the empty box, then\n" +"pressing Save. Rename a search term by selecting it then\n" +"changing the name and pressing Save. Change the value of\n" +"a search term by changing the value box then pressing Save." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:126 +msgid "Delete the current search term" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:128 +msgid "" +"Save the current search term. You can rename a search term by\n" +"changing the name then pressing Save. You can change the value\n" +"of a search term by changing the value box then pressing Save." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:131 +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:652 +msgid "&Save" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:132 +msgid "Make &user categories from:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:133 +msgid "" +"Enter the names of any grouped search terms you wish\n" +"to be shown as user categories" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:41 +msgid "Manual management" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:43 +msgid "Only on send" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:45 +msgid "Automatic management" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending.py:36 +msgid "Cannot change metadata management while a device is connected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:30 +msgid "Metadata &management:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:50 +msgid "" +"<li><b>Manual management</b>: Calibre updates the metadata and adds " +"collections only when a book is sent. With this option, calibre will never " +"remove a collection.</li>\n" +"<li><b>Only on send</b>: Calibre updates metadata and adds/removes " +"collections for a book only when it is sent to the device. </li>\n" +"<li><b>Automatic management</b>: Calibre automatically keeps metadata on the " +"device in sync with the calibre library, on every connect</li></ul>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:64 +msgid "" +"Here you can control how calibre will save your books when you click the " +"Send to Device button. This setting can be overriden for individual devices " +"by customizing the device interface plugins in Preferences->Advanced->Plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:432 +msgid "Failed to start content server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:106 +msgid "Error log:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:113 +msgid "Access log:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:128 +msgid "You need to restart the server for changes to take effect" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:27 +msgid "Server &port:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:47 +msgid "" +"If you leave the password blank, anyone will be able to access your book " +"collection using the web interface." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:51 +msgid "" +"The maximum size (widthxheight) for displayed covers. Larger covers are " +"resized. " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:56 +msgid "Max. &cover size:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:64 +msgid "Max. &OPDS items per query:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:78 +msgid "Max. OPDS &ungrouped items:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:82 +msgid "Restriction (saved search) to apply:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:86 +msgid "" +"This restriction (based on a saved search) will restrict the books the " +"content server makes available to those matching the search. This setting is " +"per library (i.e. you can have a different restriction per library)." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:95 +msgid "&Start Server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:99 +msgid "St&op Server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:105 +msgid "&Test Server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:110 +msgid "" +"calibre contains a network server that allows you to access your book " +"collection using a browser from anywhere in the world. Any changes to the " +"settings will only take effect after a server restart." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:115 +msgid "Run server &automatically when calibre starts" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:119 +msgid "View &server logs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:125 +msgid "" +"<p>Remember to leave calibre running as the server only runs as long as " +"calibre is running.\n" +"<p>To connect to the calibre server from your device you should use a URL of " +"the form <b>http://myhostname:8080</b> as a new catalog in the Stanza reader " +"on your iPhone. Here myhostname should be either the fully qualified " +"hostname or the IP address of the computer calibre is running on." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:25 +msgid "" +"\n" +" <p>Here you can add and remove functions used in template " +"processing. A\n" +" template function is written in python. It takes information from " +"the\n" +" book, processes it in some way, then returns a string result. " +"Functions\n" +" defined here are usable in templates in the same way that builtin\n" +" functions are usable. The function must be named <b>evaluate</b>, " +"and\n" +" must have the signature shown below.</p>\n" +" <p><code>evaluate(self, formatter, kwargs, mi, locals, your " +"parameters)\n" +" → returning a unicode string</code></p>\n" +" <p>The parameters of the evaluate function are:\n" +" <ul>\n" +" <li><b>formatter</b>: the instance of the formatter being used to\n" +" evaluate the current template. You can use this to do recursive\n" +" template evaluation.</li>\n" +" <li><b>kwargs</b>: a dictionary of metadata. Field values are in " +"this\n" +" dictionary.\n" +" <li><b>mi</b>: a Metadata instance. Used to get field information.\n" +" This parameter can be None in some cases, such as when evaluating\n" +" non-book templates.</li>\n" +" <li><b>locals</b>: the local variables assigned to by the current\n" +" template program.</li>\n" +" <li><b>your parameters</b>: You must supply one or more formal\n" +" parameters. The number must match the arg count box, unless arg " +"count is\n" +" -1 (variable number or arguments), in which case the last argument " +"must\n" +" be *args. At least one argument is required, and is usually the " +"value of\n" +" the field being operated upon. Note that when writing in basic " +"template\n" +" mode, the user does not provide this first argument. Instead it is\n" +" supplied by the formatter.</li>\n" +" </ul></p>\n" +" <p>\n" +" The following example function checks the value of the field. If " +"the\n" +" field is not empty, the field's value is returned, otherwise the " +"value\n" +" EMPTY is returned.\n" +" <pre>\n" +" name: my_ifempty\n" +" arg count: 1\n" +" doc: my_ifempty(val) -- return val if it is not empty, otherwise the " +"string 'EMPTY'\n" +" program code:\n" +" def evaluate(self, formatter, kwargs, mi, locals, val):\n" +" if val:\n" +" return val\n" +" else:\n" +" return 'EMPTY'</pre>\n" +" This function can be called in any of the three template program " +"modes:\n" +" <ul>\n" +" <li>single-function mode: {tags:my_ifempty()}</li>\n" +" <li>template program mode: {tags:'my_ifempty($)'}</li>\n" +" <li>general program mode: program: my_ifempty(field('tags'))</li>\n" +" </p>\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:173 +msgid "Template functions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137 +msgid "You cannot delete a built-in function" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147 +msgid "Function not defined" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154 +#, python-format +msgid "Name %s already used" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158 +msgid "" +"Argument count should be -1 or greater than zero. Setting it to zero means " +"that this function cannot be used in single function mode." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174 +msgid "Exception while compiling function" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202 +msgid "function source code not available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:96 +msgid "&Function:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:97 +msgid "Enter the name of the function to create." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:98 +msgid "Arg &count:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:99 +msgid "Set this to -1 if the function takes a variable number of arguments" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:102 +msgid "&Delete" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:103 +msgid "&Replace" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:104 +msgid "C&reate" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:105 +msgid "&Program Code: (be sure to follow python indenting rules)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 +msgid "Switch between library and device views" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:41 +msgid "Separator" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:58 +msgid "Choose library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:219 +msgid "The main toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:220 +msgid "The main toolbar when a device is connected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:221 +msgid "The optional second toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:222 +msgid "The menubar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:223 +msgid "The menubar when a device is connected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:224 +msgid "The context menu for the books in the calibre library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:226 +msgid "The context menu for the books on the device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:228 +msgid "The context menu for the cover browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:234 +msgid "Click to choose toolbar or menu to customize" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:270 +msgid "Cannot add" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:271 +#, python-format +msgid "Cannot add the actions %s to this location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:289 +msgid "Cannot remove" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:290 +#, python-format +msgid "Cannot remove the actions %s from this location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:25 +msgid "" +"<p>The toolbar in calibre is different depending on whether a device is " +"connected or not. Choose <b>which toolbar</b> you would like to customize:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:30 +msgid "Choose the toolbar to customize" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:42 +msgid "A&vailable actions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:62 +msgid "Add selected actions to toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:73 +msgid "Remove selected actions from toolbar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:83 +msgid "&Current actions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:102 +msgid "Move selected action up" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:113 +msgid "Move selected action down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:120 +msgid "This tweak has it default value" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:122 +msgid "This tweak has been customized" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:291 +msgid "" +"Add/edit tweaks for any custom plugins you have installed. Documentation for " +"these tweaks should be available on the website from where you downloaded " +"the plugins." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:324 +msgid "Search for tweak" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:378 +msgid "" +"There was a syntax error in your tweak. Click the show details button for " +"details." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:391 +msgid "Invalid tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:392 +msgid "" +"The tweaks you entered are invalid, try resetting the tweaks to default and " +"changing them one by one until you find the invalid setting." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:25 +msgid "" +"Values for the tweaks are shown below. Edit them to change the behavior of " +"calibre. Your changes will only take effect <b>after a restart</b> of " +"calibre." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:56 +msgid "Edit tweaks for any custom plugins you have installed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:57 +msgid "&Plugin tweaks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:77 +msgid "Edit tweak" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:86 +msgid "Restore this tweak to its default value" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:87 +msgid "Restore &default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:91 +msgid "Apply any changes you made to this tweak" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 +msgid "Delete current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 +msgid "No search is selected" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 +msgid "The selected search will be <b>permanently deleted</b>. Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 +msgid "Search (For Advanced Search click the button to the left)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:392 +msgid "Start search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 +msgid "Enable or disable search highlighting." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 +msgid "Saved Searches" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 +msgid "Choose saved search or enter name for new saved search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 +msgid "" +"Save current search under the name shown in the box. Press and hold for a " +"pop-up options menu." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 +msgid "Create saved search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 +msgid "Delete saved search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 +msgid "Manage saved searches" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:488 +msgid "*Current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:12 +msgid "Restrict to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:19 +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:93 +msgid "(all books)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:21 +msgid "" +"Books display will be restricted to those matching a selected saved search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 +msgid " or the search " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 +msgid "({0} of {1})" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 +msgid "({0} of all)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:74 +msgid "&Default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:136 +msgid "Customize shortcuts for" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223 +msgid "Keys" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:225 +msgid "Double click to change" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:73 +msgid "Frame" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:75 +msgid "&Custom" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:82 +msgid "Click to change" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:38 +msgid "Added Tags:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:39 +msgid "Open store in external web browswer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:219 +msgid "&Name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:221 +msgid "&Description:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:222 +msgid "&Headquarters:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:226 +msgid "Enabled:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:189 +msgid "DRM:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:197 +msgid "true" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:234 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:199 +msgid "false" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:163 +msgid "Affiliate:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:235 +msgid "Nam&e/Description ..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 +msgid "Query:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:81 +msgid "Enable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 +msgid "Invert" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:41 +msgid "Affiliate" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 +msgid "Enabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 +msgid "Headquarters" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 +msgid "No DRM" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:129 +msgid "" +"This store is currently disabled and cannot be used in other parts of " +"calibre." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:131 +msgid "" +"This store is currently enabled and can be used in other parts of calibre." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:136 +msgid "This store only distributes ebooks without DRM." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:138 +msgid "" +"This store distributes ebooks with DRM. It may have some titles without DRM, " +"but you will need to check on a per title basis." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:140 +#, python-format +msgid "" +"This store is headquartered in %s. This is a good indication of what market " +"the store caters to. However, this does not necessarily mean that the store " +"is limited to that market only." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 +#, python-format +msgid "Buying from this store supports the calibre developer: %s." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:145 +#, python-format +msgid "This store distributes ebooks in the following formats: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/results_view.py:47 +msgid "Configure..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:99 +msgid "Time" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:100 +msgid "Number of seconds to wait for a store to respond" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:101 +msgid "Number of seconds to let a store process results" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:102 +msgid "Display" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:103 +msgid "Maximum number of results to show per store" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:104 +msgid "Open search result in system browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:68 +msgid "Threads" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:73 +msgid "Number of search threads to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:81 +msgid "Number of cache update threads to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:89 +msgid "Number of cover download threads to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:97 +msgid "Number of details threads to use" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:105 +msgid "Performance" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:106 +msgid "Number of simultaneous searches" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:107 +msgid "Number of simultaneous cache updates" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:108 +msgid "Number of simultaneous cover downloads" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:109 +msgid "Number of simultaneous details downloads" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:62 +msgid "Search:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 +msgid "Books:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:661 +msgid "Close" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:129 +msgid "&Price:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:176 +msgid "Download:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:187 +msgid "Titl&e/Author/Price ..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:41 +msgid "DRM" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:41 +msgid "Download" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:41 +msgid "Price" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 +#, python-format +msgid "" +"Detected price as: %s. Check with the store before making a purchase to " +"verify this price is correct. This price often does not include promotions " +"the store may be running." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 +msgid "" +"This book as been detected as having DRM restrictions. This book may not " +"work with your reader and you will have limitations placed upon you as to " +"what you can do with this book. Check with the store before making any " +"purchases to ensure you can actually read this book." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 +msgid "" +"This book has been detected as being DRM Free. You should be able to use " +"this book on any device provided it is in a format calibre supports for " +"conversion. However, before making a purchase double check the DRM status " +"with the store. The store may not be disclosing the use of DRM." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 +msgid "" +"The DRM status of this book could not be determined. There is a very high " +"likelihood that this book is actually DRM restricted." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 +#, python-format +msgid "The following formats can be downloaded directly: %s." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/results_view.py:41 +msgid "Download..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/results_view.py:45 +msgid "Goto in store..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:114 +#, python-format +msgid "Buying from this store supports the calibre developer: %s</p>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:276 +msgid "Customize get books search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:286 +msgid "Configure search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:336 +msgid "Couldn't find any books matching your query." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:350 +msgid "Choose format to download to your library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 +msgid "Get Books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 +msgid "Open a selected book in the system's web browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 +msgid "Open in &external browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 +msgid "Not Available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:179 +msgid "" +"See the <a href=\"http://calibre-ebook.com/user_manual/gui.html#the-search-" +"interface\">User Manual</a> for more help" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/cache_progress_dialog_ui.py:51 +msgid "Updating book cache" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/cache_update_thread.py:42 +msgid "Checking last download date." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/cache_update_thread.py:48 +msgid "Downloading book list from MobileRead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/cache_update_thread.py:61 +msgid "Processing books." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/cache_update_thread.py:71 +#, python-format +msgid "%(num)s of %(tot)s books processed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/mobileread_plugin.py:67 +msgid "Updating MobileRead book cache..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:74 +msgid "&Query:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/web_control.py:75 +msgid "" +"This ebook is a DRMed EPUB file. You will be prompted to save this file to " +"your computer. Once it is saved, open it with <a " +"href=\"http://www.adobe.com/products/digitaleditions/\">Adobe Digital " +"Editions</a> (ADE).<p>ADE, in turn will download the actual ebook, which " +"will be a .epub file. You can add this book to calibre using \"Add Books\" " +"and selecting the file from the ADE library folder." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/web_control.py:88 +msgid "File is not a supported ebook type. Save to disk?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:59 +msgid "Home" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:60 +msgid "Reload" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:61 +msgid "%p%" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:307 +msgid "The grouped search term name is \"{0}\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:731 +msgid "" +"Changing the authors for several books can take a while. Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:736 +msgid "" +"Changing the metadata for that many books can take a while. Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:823 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:462 +msgid "Searches" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:888 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:908 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:917 +msgid "Rename user category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:889 +msgid "You cannot use periods in the name when renaming user categories" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:909 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:918 +#, python-format +msgid "The name %s is already used" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:937 +msgid "Duplicate search name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:938 +#, python-format +msgid "The saved search name %s is already used." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:48 +msgid "Manage Authors" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:50 +msgid "Manage Series" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:52 +msgid "Manage Publishers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:54 +msgid "Manage Tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:469 +msgid "Manage User Categories" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:457 +msgid "Manage Saved Searches" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:66 +msgid "Invalid search restriction" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:67 +msgid "The current search restriction is invalid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:83 +msgid "New Category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:137 +msgid "Delete user category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:135 +#, python-format +msgid "%s is not a user category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:138 +#, python-format +msgid "%s contains items. Do you really want to delete it?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:159 +msgid "Remove category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:160 +#, python-format +msgid "User category %s does not exist" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:179 +msgid "Add to user category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:180 +#, python-format +msgid "A user category %s does not exist" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:300 +msgid "Find item in tag browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:304 +msgid "" +"Search for items. This is a \"contains\" search; items containing the\n" +"text anywhere in the name will be found. You can limit the search\n" +"to particular categories using syntax similar to search. For example,\n" +"tags:foo will find foo in any tag, but not in authors etc. Entering\n" +"*foo will filter all categories at once, showing only those items\n" +"containing the text \"foo\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:312 +msgid "ALT+f" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:317 +msgid "Find the first/next matching item" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:322 +msgid "Collapse all categories" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:346 +msgid "No More Matches.</b><p> Click Find again to go to first match" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:359 +msgid "Sort by name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:359 +msgid "Sort by popularity" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:360 +msgid "Sort by average rating" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:363 +msgid "Set the sort order for entries in the Tag Browser" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:370 +msgid "Match all" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:370 +msgid "Match any" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:375 +msgid "" +"When selecting multiple entries in the Tag Browser match any or all of them" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:382 +msgid "Manage authors, tags, etc" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:383 +msgid "" +"All of these category_managers are available by right-clicking on items in " +"the tag browser above" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:407 +#, python-format +msgid "Rename %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:349 +#, python-format +msgid "Edit sort for %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:352 +#, python-format +msgid "Edit link for %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:359 +#, python-format +msgid "Add %s to user category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:372 +#, python-format +msgid "Children of %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:382 +#, python-format +msgid "Delete search %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:387 +#, python-format +msgid "Remove %(item)s from category %(cat)s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:394 +#, python-format +msgid "Search for %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:399 +#, python-format +msgid "Search for everything but %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:411 +#, python-format +msgid "Add sub-category to %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:415 +#, python-format +msgid "Delete user category %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:420 +#, python-format +msgid "Hide category %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:424 +msgid "Show category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:434 +#, python-format +msgid "Search for books in category %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:440 +#, python-format +msgid "Search for books not in category %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:449 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:454 +#, python-format +msgid "Manage %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:476 +msgid "Show all categories" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:479 +msgid "Change sub-categorization scheme" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 +msgid "First letter is usable only when sorting by name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:70 +#, python-format +msgid "Convert book %(num)d of %(total)d (%(title)s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 +msgid "Could not convert some books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 +#, python-format +msgid "" +"Could not convert %(num)d of %(tot)d books, because no suitable source " +"format was found." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 +msgid "Queueing books for bulk conversion" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 +msgid "Queueing " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 +#, python-format +msgid "Convert book %(num)d of %(tot)d (%(title)s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 +msgid "Fetch news from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 +msgid "Convert existing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 +#, python-format +msgid "" +"The following books have already been converted to %s format. Do you wish to " +"reconvert them?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:199 +msgid "&Donate to support calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:235 +msgid "&Restore" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:240 +msgid "&Eject connected device" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:244 +msgid "Quit calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:257 +msgid "Clear the current search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:355 +msgid "Debug mode" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:356 +#, python-format +msgid "" +"You have started calibre in debug mode. After you quit calibre, the debug " +"log will be available in the file: %s<p>The log will be displayed " +"automatically." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:495 +#, python-format +msgid "" +"The library database at %s appears to be corrupted. Do you want calibre to " +"try and rebuild it automatically? The rebuild may not be completely " +"successful." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:579 +msgid "Conversion Error" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:602 +msgid "Recipe Disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:618 +msgid "<b>Failed</b>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:652 +msgid "There are active jobs. Are you sure you want to quit?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:655 +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:659 +msgid "Active jobs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:727 +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/update.py:74 +#, python-format +msgid "" +"%(app)s has been updated to version <b>%(ver)s</b>. See the <a " +"href=\"http://calibre-ebook.com/whats-new\">new features</a>." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:80 +msgid "Update available!" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:85 +msgid "Show this notification for future updates" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:90 +msgid "&Get update" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:94 +msgid "Update &plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:153 +#, python-format +msgid " (%d plugin updates)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:156 +msgid "Update found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:159 +msgid "updated plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:190 +msgid "Plugin Updates" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:188 +#, python-format +msgid "There are %d plugin updates available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/update.py:192 +msgid "Install and configure user plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:43 +msgid "Edit bookmark" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:43 +msgid "New title for bookmark:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:52 +msgid "Export Bookmarks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:54 +msgid "Saved Bookmarks (*.pickle)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:62 +msgid "Import Bookmarks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:62 +msgid "Pickled Bookmarks (*.pickle)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:61 +msgid "Bookmark Manager" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:62 +msgid "Actions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:63 +msgid "Edit" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:65 +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:667 +msgid "Reset" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:66 +msgid "Export" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:67 +msgid "Import" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:178 +msgid "Configure Ebook viewer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:179 +msgid "&Font options" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:180 +msgid "Se&rif family:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:181 +msgid "&Sans family:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:182 +msgid "&Monospace family:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:183 +msgid "&Default font size:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:201 +msgid " px" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:185 +msgid "Monospace &font size:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:187 +msgid "S&tandard font:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:188 +msgid "Serif" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:189 +msgid "Sans-serif" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:190 +msgid "Monospace" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:191 +msgid "Remember last used &window size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:192 +msgid "Remember the ¤t page when quitting" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:193 +msgid "H&yphenate (break line in the middle of large words)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:194 +msgid "" +"The default language to use for hyphenation rules. If the book does not " +"specify a language, this will be used." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:195 +msgid "Default &language for hyphenation:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:196 +msgid "&Resize images larger than the viewer window (needs restart)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:197 +msgid "Page flip &duration:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:198 +msgid "disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:200 +msgid "Mouse &wheel flips pages" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:202 +msgid "Maximum &view width:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:203 +msgid "&General" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:204 +msgid "Double click to change a keyboard shortcut" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:205 +msgid "&Keyboard shortcuts" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:206 +msgid "" +"<p>A CSS stylesheet that can be used to control the look and feel of books. " +"For examples, click <a " +"href=\"http://www.mobileread.com/forums/showthread.php?t=51500\">here</a>." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:207 +msgid "User &Stylesheet" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/dictionary.py:53 +msgid "No results found for:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:41 +msgid "Options to customize the ebook viewer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 +msgid "Remember last used window size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:97 +msgid "" +"Set the user CSS stylesheet. This can be used to customize the look of all " +"books." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:52 +msgid "Maximum width of the viewer window, in pixels." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:54 +msgid "Resize images larger than the viewer window to fit inside it" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:55 +msgid "Hyphenate text" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:57 +msgid "Default language for hyphenation rules" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:59 +msgid "Save the current position in the document, when quitting" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:61 +msgid "Have the mouse wheel turn pages" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:63 +msgid "" +"The time, in seconds, for the page flip animation. Default is half a second." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:66 +msgid "Font options" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:68 +msgid "The serif font family" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:70 +msgid "The sans-serif font family" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:72 +msgid "The monospaced font family" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:73 +msgid "The standard font size in px" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:74 +msgid "The monospaced font size in px" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:75 +msgid "The standard font type" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:126 +msgid "Still editing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:127 +msgid "" +"You are in the middle of editing a keyboard shortcut first complete that, by " +"clicking outside the shortcut editing box." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 +msgid "&Lookup in dictionary" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:141 +msgid "Go to..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:552 +msgid "Next Section" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:553 +msgid "Previous Section" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:555 +msgid "Document Start" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:556 +msgid "Document End" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:558 +msgid "Section Start" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:559 +msgid "Section End" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:12 +msgid "Scroll to the next page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:15 +msgid "Scroll to the previous page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:18 +msgid "Scroll to the next section" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:21 +msgid "Scroll to the previous section" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:24 +msgid "Scroll to the bottom of the section" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:27 +msgid "Scroll to the top of the section" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:30 +msgid "Scroll to the end of the document" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:33 +msgid "Scroll to the start of the document" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:36 +msgid "Scroll down" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:39 +msgid "Scroll up" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:42 +msgid "Scroll left" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/keys.py:45 +msgid "Scroll right" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:118 +msgid "Book format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:199 +msgid "Position in book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 +msgid "Go to a reference. To get reference numbers, use the reference mode." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:214 +msgid "Search for text in book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:293 +msgid "Print Preview" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:304 +msgid "Clear list of recently opened books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:369 +#, python-format +msgid "Connecting to dict.org to lookup: <b>%s</b>…" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:475 +msgid "Choose ebook" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:476 +msgid "Ebooks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:498 +#, python-format +msgid "" +"Make font size %(which)s\n" +"Current magnification: %(mag).1f" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:500 +msgid "larger" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:502 +msgid "smaller" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:518 +#, python-format +msgid "No matches found for: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:555 +msgid "Loading flow..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:593 +#, python-format +msgid "Laying out %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:624 +#, python-format +msgid "Bookmark #%d" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:628 +msgid "Add bookmark" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:629 +msgid "Enter title for bookmark:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:639 +msgid "Manage Bookmarks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:680 +msgid "Loading ebook..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:692 +msgid "Could not open ebook" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +msgid "Options to control the ebook viewer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 +msgid "" +"If specified, viewer window will try to come to the front when started." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 +msgid "" +"If specified, viewer window will try to open full screen when started." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 +msgid "Print javascript alert and console messages to the console" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 +msgid "" +"%prog [options] file\n" +"\n" +"View an ebook.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:189 +msgid "E-book Viewer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:190 +msgid "Close dictionary" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:192 +msgid "toolBar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:195 +msgid "Next page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:196 +msgid "Previous page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:197 +msgid "Font size larger" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:198 +msgid "Font size smaller" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:202 +msgid "Find next" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:203 +msgid "Find next occurrence" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:207 +msgid "Reference Mode" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:208 +msgid "Bookmark" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:209 +msgid "Toggle full screen" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:210 +msgid "Print" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:211 +msgid "Find previous" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:212 +msgid "Find previous occurrence" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/printing.py:114 +msgid "Print eBook" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:103 +msgid "Test name invalid" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:104 +#, python-format +msgid "" +"The name <b>%r</b> does not appear to end with a file extension. The name " +"must end with a file extension like .epub or .mobi" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:993 +msgid "Drag to resize" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:1028 +msgid "Show" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:1035 +msgid "Hide" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:1072 +msgid "Toggle" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:465 +#, python-format +msgid "" +"Choose your e-book device. If your device is not in the list, choose a " +"\"%s\" device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:526 +msgid "Moving library..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:542 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:543 +msgid "Failed to move library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:597 +msgid "Invalid database" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:598 +#, python-format +msgid "" +"<p>An invalid library already exists at %(loc)s, delete it before trying to " +"move the existing library.<br>Error: %(err)s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:609 +msgid "Could not move library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:690 +msgid "Select location for books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:711 +#, python-format +msgid "" +"You must choose an empty folder for the calibre library. %s is not empty." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:785 +msgid "welcome wizard" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:47 +msgid "Welcome to calibre" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:48 +msgid "The one stop solution to all your e-book needs." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:57 +msgid "&Manufacturers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:58 +msgid "&Devices" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:49 +#, python-format +msgid "" +"<h2>Congratulations!</h2> You have successfully setup calibre. Press the %s " +"button to apply your settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:50 +msgid "" +"<h2>Demo videos</h2>Videos demonstrating the various features of calibre are " +"available <a href=\"http://calibre-ebook.com/demo\">online</a>." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:51 +msgid "" +"<h2>User Manual</h2>A User Manual is also available <a " +"href=\"http://manual.calibre-ebook.com\">online</a>." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:49 +msgid "" +"<p>calibre can automatically send books by email to your Kindle. To do that " +"you have to setup email delivery below. The easiest way is to setup a free " +"<a href=\"http://gmail.com\">gmail account</a> and click the Use gmail " +"button below. You will also have to register your gmail address in your " +"Amazon account." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:50 +msgid "&Kindle email:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:57 +msgid "Choose your &language:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:58 +msgid "" +"<p>Choose a location for your books. When you add books to calibre, they " +"will be copied here. Use an <b>empty folder</b> for a new calibre library:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:59 +msgid "&Change" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:60 +msgid "" +"If you have an existing calibre library, it will be copied to the new " +"location. If a calibre library already exists at the new location, calibre " +"will switch to using it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:34 +#, python-format +msgid "Using: %(un)s:%(pw)s@%(host)s:%(port)s and %(enc)s encryption" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:39 +msgid "Sending..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:44 +msgid "Mail successfully sent" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:59 +msgid "Setup sending email using" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:61 +msgid "" +"If you don't have an account, you can sign up for a free {name} email " +"account at <a href=\"http://{url}\">http://{url}</a>. {extra}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:68 +#, python-format +msgid "Your %s &email address:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:69 +#, python-format +msgid "Your %s &username:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:70 +#, python-format +msgid "Your %s &password:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:89 +#, python-format +msgid "" +"If you plan to use email to send books to your Kindle, remember to add the " +"your %s email address to the allowed email addresses in your Amazon.com " +"Kindle management page." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:95 +msgid "Setup" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:102 +msgid "Incorrect username" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:103 +#, python-format +msgid "%s needs the full email address as your username" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 +msgid "OK to proceed?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 +msgid "" +"This will display your email password on the screen. Is it OK to proceed?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:199 +msgid "" +"If you are setting up a new hotmail account, Microsoft requires that you " +"verify your account periodically, before it will let calibre send email. In " +"this case, I strongly suggest you setup a free gmail account instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:237 +msgid "Bad configuration" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:222 +msgid "You must set the From email address" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:233 +msgid "" +"You must either set both the username <b>and</b> password for the mail " +"server or no username and no password at all." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:238 +msgid "Please enter a username and password or set encryption to None " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:243 +msgid "" +"No username and password set for mailserver. Most mailservers need a " +"username and password. Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 +msgid "Send email &from:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 +msgid "" +"<p>This is what will be present in the From: field of emails sent by " +"calibre.<br> Set it to your email address" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 +msgid "" +"<p>A mail server is useful if the service you are sending mail to only " +"accepts email from well know mail services." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 +msgid "Mail &Server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 +msgid "calibre can <b>optionally</b> use a server to send mail" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 +msgid "&Hostname:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 +msgid "The hostname of your mail server. For e.g. smtp.gmail.com" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 +msgid "&Port:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 +msgid "" +"The port your mail server listens for connections on. The default is 25" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:134 +msgid "Your username on the mail server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:136 +msgid "Your password on the mail server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:137 +msgid "&Show" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:138 +msgid "&Encryption:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:139 +msgid "" +"Use TLS encryption when connecting to the mail server. This is the most " +"common." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:140 +msgid "&TLS" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 +msgid "Use SSL encryption when connecting to the mail server." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 +msgid "&SSL" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:143 +msgid "WARNING: Using no encryption is highly insecure" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:144 +msgid "&None" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:145 +msgid "Use Gmail" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:146 +msgid "Use Hotmail" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:147 +msgid "&Test email" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:49 +msgid "" +"<p>If you use the <a href=\"http://www.lexcycle.com/download\">Stanza</a> e-" +"book app on your iPhone/iTouch, you can access your calibre book collection " +"directly on the device. To do this you have to turn on the calibre content " +"server." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:50 +msgid "Turn on the &content server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:51 +msgid "" +"<p>Remember to leave calibre running as the server only runs as long as " +"calibre is running.\n" +"<p>Stanza should see your calibre collection automatically. If not, try " +"adding the URL http://myhostname:8080 as a new catalog in the Stanza reader " +"on your iPhone. Here myhostname should be the fully qualified hostname or " +"the IP address of the computer calibre is running on." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 +msgid "checked" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 +msgid "yes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 +msgid "no" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 +msgid "unchecked" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 +msgid "today" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 +msgid "yesterday" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 +msgid "thismonth" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 +msgid "daysago" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 +msgid "blank" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 +msgid "empty" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 +msgid "Invalid boolean query \"{0}\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:56 +#, python-format +msgid "" +"The fields to output when cataloging books in the database. Should be a " +"comma-separated list of fields.\n" +"Available fields: %(fields)s,\n" +"plus user-created custom fields.\n" +"Example: %(opt)s=title,authors,tags\n" +"Default: '%%default'\n" +"Applies to: CSV, XML output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:69 +#, python-format +msgid "" +"Output field to sort on.\n" +"Available fields: author_sort, id, rating, size, timestamp, title_sort\n" +"Default: '%default'\n" +"Applies to: CSV, XML output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:252 +#, python-format +msgid "" +"The fields to output when cataloging books in the database. Should be a " +"comma-separated list of fields.\n" +"Available fields: %(fields)s.\n" +"plus user-created custom fields.\n" +"Example: %(opt)s=title,authors,tags\n" +"Default: '%%default'\n" +"Applies to: BIBTEX output format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:265 +#, python-format +msgid "" +"Output field to sort on.\n" +"Available fields: author_sort, id, rating, size, timestamp, title.\n" +"Default: '%default'\n" +"Applies to: BIBTEX output format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:274 +#, python-format +msgid "" +"Create a citation for BibTeX entries.\n" +"Boolean value: True, False\n" +"Default: '%default'\n" +"Applies to: BIBTEX output format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:283 +#, python-format +msgid "" +"Create a file entry if formats is selected for BibTeX entries.\n" +"Boolean value: True, False\n" +"Default: '%default'\n" +"Applies to: BIBTEX output format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:292 +#, python-format +msgid "" +"The template for citation creation from database fields.\n" +"Should be a template with {} enclosed fields.\n" +"Available fields: %s.\n" +"Default: '%%default'\n" +"Applies to: BIBTEX output format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:302 +#, python-format +msgid "" +"BibTeX file encoding output.\n" +"Available types: utf8, cp1252, ascii.\n" +"Default: '%default'\n" +"Applies to: BIBTEX output format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:311 +#, python-format +msgid "" +"BibTeX file encoding flag.\n" +"Available types: strict, replace, ignore, backslashreplace.\n" +"Default: '%default'\n" +"Applies to: BIBTEX output format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:320 +#, python-format +msgid "" +"Entry type for BibTeX catalog.\n" +"Available types: book, misc, mixed.\n" +"Default: '%default'\n" +"Applies to: BIBTEX output format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:636 +#, python-format +msgid "" +"Title of generated catalog used as title in metadata.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:643 +#, python-format +msgid "" +"Save the output from different stages of the conversion pipeline to the " +"specified directory. Useful if you are unsure at which stage of the " +"conversion process a bug is occurring.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:653 +#, python-format +msgid "" +"field:pattern specifying custom field/contents indicating book should be " +"excluded.\n" +"Default: '%default'\n" +"Applies to ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:660 +#, python-format +msgid "" +"Regex describing tags to exclude as genres.\n" +"Default: '%default' excludes bracketed tags, e.g. '[<tag>]'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:666 +#, python-format +msgid "" +"Comma-separated list of tag words indicating book should be excluded from " +"output.For example: 'skip' will match 'skip this book' and 'Skip will like " +"this'.Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:674 +#, python-format +msgid "" +"Include 'Authors' section in catalog.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:681 +#, python-format +msgid "" +"Include 'Descriptions' section in catalog.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:688 +#, python-format +msgid "" +"Include 'Genres' section in catalog.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:695 +#, python-format +msgid "" +"Include 'Titles' section in catalog.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:702 +#, python-format +msgid "" +"Include 'Series' section in catalog.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:709 +#, python-format +msgid "" +"Include 'Recently Added' section in catalog.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:716 +#, python-format +msgid "" +"Custom field containing note text to insert in Description header.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:723 +#, python-format +msgid "" +"<custom field>:[before|after]:[True|False] specifying:\n" +" <custom field> Custom field containing notes to merge with Comments\n" +" [before|after] Placement of notes with respect to Comments\n" +" [True|False] - A horizontal rule is inserted between notes and Comments\n" +"Default: '%default'\n" +"Applies to ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:733 +#, python-format +msgid "" +"Specifies the output profile. In some cases, an output profile is required " +"to optimize the catalog for the device. For example, 'kindle' or " +"'kindle_dx' creates a structured Table of Contents with Sections and " +"Articles.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:740 +#, python-format +msgid "" +"field:pattern indicating book has been read.\n" +"Default: '%default'\n" +"Applies to ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:746 +#, python-format +msgid "" +"Size hint (in inches) for book covers in catalog.\n" +"Range: 1.0 - 2.0\n" +"Default: '%default'\n" +"Applies to ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:754 +#, python-format +msgid "" +"Tag indicating book to be displayed as wishlist item.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:1438 +msgid "No enabled genres found to catalog.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:1442 +msgid "No books available to catalog" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:1518 +msgid "" +"Inconsistent Author Sort values for\n" +"Author '{0}':\n" +"'{1}' <> '{2}'\n" +"Unable to build MOBI catalog.\n" +"\n" +"Select all books by '{0}', apply correct Author Sort value in Edit Metadata " +"dialog, then rebuild the catalog.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:1535 +msgid "" +"Warning: inconsistent Author Sort values for\n" +"Author '{0}':\n" +"'{1}' <> '{2}'\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:1730 +msgid "" +"No books found to catalog.\n" +"Check 'Excluded books' criteria in E-book options.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:1732 +msgid "No books available to include in catalog" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:5074 +msgid "" +"\n" +"*** Adding 'By Authors' Section required for MOBI output ***" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/check_library.py:26 +msgid "Invalid titles" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/check_library.py:27 +msgid "Extra titles" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/check_library.py:28 +msgid "Invalid authors" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/check_library.py:29 +msgid "Extra authors" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/check_library.py:30 +msgid "Missing book formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/check_library.py:31 +msgid "Extra book formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/check_library.py:32 +msgid "Unknown files in books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/check_library.py:33 +msgid "Missing covers files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/check_library.py:34 +msgid "Cover files not in database" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/check_library.py:35 +msgid "Folders raising exception" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:43 +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:128 +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:135 +#, python-format +msgid "" +"The fields to display when listing books in the database. Should be a comma " +"separated list of fields.\n" +"Available fields: %s\n" +"Default: %%default. The special field \"all\" can be used to select all " +"fields. Only has effect in the text output format." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:142 +#, python-format +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:144 +msgid "Sort results in ascending order" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:146 +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:148 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1050 +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:149 +msgid "The string used to separate fields. Default is a space." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:150 +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:172 +msgid "Invalid fields. Available fields:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:179 +msgid "Invalid sort field. Available fields:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:251 +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:276 +msgid "" +"%prog add [options] file1 file2 file3 ...\n" +"\n" +"Add the specified files as books to the database. You can also specify " +"directories, see\n" +"the directory related options below.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:284 +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:286 +msgid "Process directories recursively" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:288 +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:290 +msgid "Add an empty book (a book with no formats)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:292 +msgid "Set the title of the added empty book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:294 +msgid "Set the authors of the added empty book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:296 +msgid "Set the ISBN of the added empty book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:322 +msgid "You must specify at least one file to add" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:340 +msgid "" +"%prog remove ids\n" +"\n" +"Remove the books identified by ids from the database. ids should be a comma " +"separated list of id numbers (you can get id numbers by using the list " +"command). For example, 23,34,57-85 (when specifying a range, the last number " +"in the range is not\n" +"included).\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:355 +msgid "You must specify at least one book to remove" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:376 +msgid "" +"%prog add_format [options] id ebook_file\n" +"\n" +"Add the ebook in ebook_file to the available formats for the logical book " +"identified by id. You can get id by using the list command. If the format " +"already exists, it is replaced.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:390 +msgid "You must specify an id and an ebook file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:395 +msgid "ebook file must have an extension" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:405 +msgid "" +"\n" +"%prog remove_format [options] id fmt\n" +"\n" +"Remove the format fmt from the logical book identified by id. You can get id " +"by using the list command. fmt should be a file extension like LRF or TXT or " +"EPUB. If the logical book does not have fmt available, do nothing.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:421 +msgid "You must specify an id and a format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:440 +msgid "" +"\n" +"%prog show_metadata [options] id\n" +"\n" +"Show the metadata stored in the calibre database for the book identified by " +"id.\n" +"id is an id number from the list command.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:447 +msgid "Print metadata in OPF form (XML)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:456 +msgid "You must specify an id" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:472 +msgid "" +"\n" +"%prog set_metadata [options] id /path/to/metadata.opf\n" +"\n" +"Set the metadata stored in the calibre database for the book identified by " +"id\n" +"from the OPF file metadata.opf. id is an id number from the list command. " +"You\n" +"can get a quick feel for the OPF format by using the --as-opf switch to the\n" +"show_metadata command.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:487 +msgid "You must specify an id and a metadata file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:507 +msgid "" +"%prog export [options] ids\n" +"\n" +"Export the books specified by ids (a comma separated list) to the " +"filesystem.\n" +"The export operation saves all formats of the book, its cover and metadata " +"(in\n" +"an opf file). You can get id numbers from the list command.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:515 +msgid "Export all books in database, ignoring the list of ids." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:517 +msgid "Export books to the specified directory. Default is" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:519 +msgid "Export all books into a single directory" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:526 +msgid "Specifying this switch will turn this behavior off." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:549 +#, python-format +msgid "You must specify some ids or the %s option" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:562 +msgid "" +"%prog add_custom_column [options] label name datatype\n" +"\n" +"Create a custom column. label is the machine friendly name of the column. " +"Should\n" +"not contain spaces or colons. name is the human friendly name of the " +"column.\n" +"datatype is one of: {0}\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:571 +msgid "" +"This column stores tag like data (i.e. multiple comma separated values). " +"Only applies if datatype is text." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:575 +msgid "" +"A dictionary of options to customize how the data in this column will be " +"interpreted. This is a JSON string. For enumeration columns, use --" +"display='{\"enum_values\":[\"val1\", \"val2\"]}'" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:589 +msgid "You must specify label, name and datatype" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:651 +msgid "" +"\n" +" %prog catalog /path/to/destination.(CSV|EPUB|MOBI|XML ...) [options]\n" +"\n" +" Export a catalog in format specified by path/to/destination extension.\n" +" Options control how entries are displayed in the generated catalog " +"ouput.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:664 +msgid "" +"Comma-separated list of database IDs to catalog.\n" +"If declared, --search is ignored.\n" +"Default: all" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:668 +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.\n" +"Default: no filtering" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:674 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:503 +msgid "Show detailed output information. Useful for debugging" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:687 +msgid "Error: You must specify a catalog output file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:734 +msgid "" +"\n" +" %prog set_custom [options] column id value\n" +"\n" +" Set the value of a custom column for the book identified by id.\n" +" You can get a list of ids using the list command.\n" +" You can get a list of custom column names using the custom_columns\n" +" command.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:744 +msgid "" +"If the column stores multiple values, append the specified values to the " +"existing ones, instead of replacing them." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:755 +msgid "Error: You must specify a field name, id and value" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:775 +msgid "" +"\n" +" %prog custom_columns [options]\n" +"\n" +" List available custom columns. Shows column labels and ids.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:781 +msgid "Show details for each column." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:793 +#, python-format +msgid "You will lose all data in the column: %r. Are you sure (y/n)? " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:795 +msgid "y" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:802 +msgid "" +"\n" +" %prog remove_custom_column [options] label\n" +"\n" +" Remove the custom column identified by label. You can see available\n" +" columns with the custom_columns command.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:809 +msgid "Do not ask for confirmation" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:819 +msgid "Error: You must specify a column label" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:830 +msgid "" +"\n" +" %prog saved_searches [options] list\n" +" %prog saved_searches add name search\n" +" %prog saved_searches remove name\n" +"\n" +" Manage the saved searches stored in this database.\n" +" If you try to add a query with a name that already exists, it will be\n" +" replaced.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:847 +msgid "Error: You must specify an action (add|remove|list)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:855 +msgid "Name:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:856 +msgid "Search string:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:862 +msgid "Error: You must specify a name and a search string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:865 +msgid "added" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:870 +msgid "Error: You must specify a name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:873 +msgid "removed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:877 +#, python-format +msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:885 +msgid "" +"%prog check_library [options]\n" +"\n" +"Perform some checks on the filesystem representing a library. Reports are " +"{0}\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:892 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 +msgid "Output in CSV" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:895 +msgid "" +"Comma-separated list of reports.\n" +"Default: all" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:899 +msgid "" +"Comma-separated list of extensions to ignore.\n" +"Default: all" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:903 +msgid "" +"Comma-separated list of names to ignore.\n" +"Default: all" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:933 +msgid "Unknown report check" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:967 +msgid "" +"%prog restore_database [options]\n" +"\n" +"Restore this database from the metadata stored in OPF files in each\n" +"directory of the calibre library. This is useful if your metadata.db file\n" +"has been corrupted.\n" +"\n" +"WARNING: This command completely regenerates your database. You will lose\n" +"all saved searches, user categories, plugboards, stored per-book conversion\n" +"settings, and custom recipes. Restored metadata will only be as accurate as\n" +"what is found in the OPF files.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:981 +msgid "" +"Really do the recovery. The command will not run unless this option is " +"specified." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:994 +#, python-format +msgid "You must provide the %s option to do a recovery" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1031 +msgid "" +"%prog list_categories [options]\n" +"\n" +"Produce a report of the category information in the database. The\n" +"information is the equivalent of what is shown in the tags pane.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1039 +msgid "" +"Output only the number of items in a category instead of the counts per item " +"within the category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1044 +msgid "" +"The character to put around the category value in CSV mode. Default is " +"quotes (\")." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1047 +msgid "" +"Comma-separated list of category lookup names.\n" +"Default: all" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1053 +msgid "The string used to separate fields in CSV mode. Default is a comma." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1091 +msgid "CATEGORY ITEMS" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/cli.py:1164 +#, python-format +msgid "" +"%%prog command [options] [arguments]\n" +"\n" +"%%prog is the command line interface to the calibre books database.\n" +"\n" +"command is one of:\n" +" %s\n" +"\n" +"For help on an individual command: %%prog command --help\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:610 +msgid "No label was provided" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:612 +msgid "" +"The label must contain only lower case letters, digits and underscores, and " +"start with a letter" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/database2.py:68 +#, python-format +msgid "%(tt)sAverage rating is %(rating)3.1f" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3425 +#, python-format +msgid "<p>Migrating old database to ebook library in %s<br><center>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3454 +#, python-format +msgid "Copying <b>%s</b>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3471 +msgid "Compacting database" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:176 +msgid "Ratings" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:213 +msgid "Identifiers" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:223 +msgid "Author Sort" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:335 +msgid "Title Sort" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/restore.py:128 +msgid "Processed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/restore.py:200 +msgid "creating custom column " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:32 +msgid "The title" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:33 +msgid "The authors" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:34 +msgid "" +"The author sort string. To use only the first letter of the name use " +"{author_sort[0]}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:36 +msgid "The tags" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:37 +msgid "The series" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:38 +msgid "" +"The series number. To get leading zeros use {series_index:0>3s} or " +"{series_index:>3s} for leading spaces" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:41 +msgid "The rating" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:42 +msgid "The ISBN" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:43 +msgid "The publisher" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:44 +msgid "The date" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:45 +msgid "The published date" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:46 +msgid "The date when the metadata for this book record was last modified" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:48 +msgid "The calibre internal id" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:76 +msgid "Options to control saving to disk" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:82 +msgid "" +"Normally, calibre will update the metadata in the saved files from what is " +"in the calibre library. Makes saving to disk slower." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:85 +msgid "" +"Normally, calibre will write the metadata into a separate OPF file along " +"with the actual e-book files." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:88 +msgid "" +"Normally, calibre will save the cover in a separate file along with the " +"actual e-book file(s)." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:91 +msgid "" +"Comma separated list of formats to save for each book. By default all " +"available formats are saved." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:94 +#, python-format +msgid "" +"The template to control the filename and directory structure of the saved " +"files. Default is \"%(templ)s\" which will save books into a per-author " +"subdirectory with filenames containing title and author. Available controls " +"are: {%(controls)s}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:100 +#, python-format +msgid "" +"The template to control the filename and directory structure of files sent " +"to the device. Default is \"%(templ)s\" which will save books into a per-" +"author directory with filenames containing title and author. Available " +"controls are: {%(controls)s}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:107 +msgid "" +"Normally, calibre will convert all non English characters into English " +"equivalents for the file names. WARNING: If you turn this off, you may " +"experience errors when saving, depending on how well the filesystem you are " +"saving to supports unicode." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:113 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:117 +#, python-format +msgid "" +"The format in which to display dates. %(day)s - day, %(month)s - month, " +"%(mn)s - month number, %(year)s - year. Default is: %(default)s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:121 +msgid "Convert paths to lowercase." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:123 +msgid "Replace whitespace with underscores." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:125 +msgid "" +"Save into a single directory, ignoring the template directory structure" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:303 +#, python-format +msgid "" +"Failed to calculate path for save to disk. Template: %(templ)s\n" +"Error: %(err)s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:309 +#, python-format +msgid "Template evaluation resulted in no path components. Template: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:405 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:438 +msgid "Requested formats not available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:21 +msgid "Settings to control the calibre content server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:25 +#, python-format +msgid "The port on which to listen. Default is %default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:27 +#, python-format +msgid "The server timeout in seconds. Default is %default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:29 +#, python-format +msgid "The max number of worker threads to use. Default is %default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:31 +msgid "Set a password to restrict access. By default access is unrestricted." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:33 +#, python-format +msgid "Username for access. By default, it is: %default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:37 +#, python-format +msgid "The maximum size for displayed covers. Default is %default." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:39 +msgid "" +"The maximum number of matches to return per OPDS query. This affects Stanza, " +"WordPlayer, etc. integration." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:43 +#, python-format +msgid "" +"Group items in categories such as author/tags by first letter when there are " +"more than this number of items. Default: %default. Set to a large number to " +"disable grouping." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:48 +msgid "" +"Prefix to prepend to all URLs. Useful for reverseproxying to this server " +"from Apache/nginx/etc." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:294 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:342 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:618 +msgid "All books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:295 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:341 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:617 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:577 +msgid "Newest" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:64 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:498 +msgid "Loading, please wait" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:90 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:111 +msgid "Go to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 +msgid "First" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 +msgid "Last" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:109 +#, python-format +msgid "Browsing %d books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:126 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:256 +msgid "Average rating" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:127 +#, python-format +msgid "%(prefix)s: %(rating).1f stars" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:164 +#, python-format +msgid "%d stars" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:257 +msgid "Popularity" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:276 +msgid "Sort by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:279 +msgid "library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:280 +msgid "home" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:387 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:452 +msgid "Browse books by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:392 +msgid "Choose a category to browse by:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:522 +msgid "Browsing by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:523 +msgid "Up" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:653 +msgid "in" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:656 +msgid "Books in" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:745 +msgid "Other formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:752 +#, python-format +msgid "Read %(title)s in the %(fmt)s format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:757 +msgid "Get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:770 +msgid "Details" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:772 +msgid "Permalink" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:773 +msgid "A permanent link to this book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 +msgid "This book has been deleted" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:873 +msgid "in search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:875 +msgid "Matching books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 +msgid "" +"[options]\n" +"\n" +"Start the calibre content server. The calibre content server\n" +"exposes your calibre library over the internet. The default interface\n" +"allows you to browse you calibre library by categories. You can also\n" +"access an interface optimized for mobile browsers at /mobile and an\n" +"OPDS based interface for use with reading applications at /opds.\n" +"\n" +"The OPDS interface is advertised via BonJour automatically.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 +msgid "Path to the library folder to serve with the content server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 +msgid "Write process PID to the specified file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 +msgid "" +"Specifies a restriction to be used for this invocation. This option " +"overrides any per-library settings specified in the GUI" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +msgid "" +"Auto reload server when source code changes. May not work in all " +"environments." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:158 +msgid "Switch to the full interface (non-mobile interface)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:161 +msgid "" +"The full interface gives you many more features, but it may not work well on " +"a small screen" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 +#, python-format +msgid "%d book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:148 +#, python-format +msgid "%d items" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:166 +#, python-format +msgid "RATING: %s<br />" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:169 +#, python-format +msgid "TAGS: %s<br />" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:174 +#, python-format +msgid "SERIES: %(series)s [%(sidx)s]<br />" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:271 +msgid "Books in your library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:277 +msgid "By " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:278 +msgid "Books sorted by " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config.py:34 +msgid "Usage" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config.py:85 +msgid "Created by " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config.py:86 +msgid "" +"Whenever you pass arguments to %prog that have spaces in them, enclose the " +"arguments in quotation marks." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:374 +msgid "Path to the database in which books are stored" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:376 +msgid "Pattern to guess metadata from filenames" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:378 +msgid "Access key for isbndb.com" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:380 +msgid "Default timeout for network operations (seconds)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:382 +msgid "Path to directory in which your library of books is stored" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:384 +msgid "The language in which to display the user interface" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:386 +msgid "The default output format for ebook conversions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:390 +msgid "Ordered list of formats to prefer for input." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:392 +msgid "Read metadata from files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:394 +msgid "" +"The priority of worker processes. A higher priority means they run faster " +"and consume more resources. Most tasks like conversion/news download/adding " +"books/etc. are affected by this setting." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:399 +msgid "Swap author first and last names when reading metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:401 +msgid "Add new formats to existing book records" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:403 +msgid "Tags to apply to books added to the library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:407 +msgid "List of named saved searches" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:408 +msgid "User-created tag browser categories" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:410 +msgid "How and when calibre updates metadata on the device." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:412 +msgid "" +"When searching for text without using lookup prefixes, as for example, Red " +"instead of title:Red, limit the columns searched to those named below." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/config_base.py:417 +msgid "" +"Choose columns to be searched when not using prefixes, as for example, when " +"searching for Redd instead of title:Red. Enter a list of search/lookup names " +"separated by commas. Only takes effect if you set the option to limit search " +"columns above." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:30 +msgid "failed to scan program. Invalid input {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:38 +msgid " near " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:44 +msgid "end of program" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:106 +msgid "syntax error - program ends before EOF" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:134 +msgid "Unknown identifier " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:140 +msgid "unknown function {0}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:160 +msgid "missing closing parenthesis" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:172 +msgid "expression is not function or constant" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:205 +msgid "format: type {0} requires an integer value, got {1}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:211 +msgid "format: type {0} requires a decimal (float) value, got {1}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:325 +#, python-format +msgid "%s: unknown function" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:387 +msgid "No such variable " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:75 +msgid "No documentation provided" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:108 +msgid "" +"strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as " +"strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124 +msgid "" +"cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. " +"Returns lt if x < y. Returns eq if x == y. Otherwise returns gt." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:140 +msgid "" +"strcat(a, b, ...) -- can take any number of arguments. Returns a string " +"formed by concatenating all the arguments" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:154 +msgid "strlen(a) -- Returns the length of the string passed as the argument" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:167 +msgid "" +"add(x, y) -- returns x + y. Throws an exception if either x or y are not " +"numbers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:178 +msgid "" +"subtract(x, y) -- returns x - y. Throws an exception if either x or y are " +"not numbers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:189 +msgid "" +"multiply(x, y) -- returns x * y. Throws an exception if either x or y are " +"not numbers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:200 +msgid "" +"divide(x, y) -- returns x / y. Throws an exception if either x or y are not " +"numbers." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:212 +msgid "" +"template(x) -- evaluates x as a template. The evaluation is done in its own " +"context, meaning that variables are not shared between the caller and the " +"template evaluation. Because the { and } characters are special, you must " +"use [[ for the { character and ]] for the } character; they are converted " +"automatically. For example, template('[[title_sort]]') will evaluate the " +"template {title_sort} and return its value." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:228 +msgid "" +"eval(template) -- evaluates the template, passing the local variables (those " +"'assign'ed to) instead of the book metadata. This permits using the " +"template processor to construct complex results from local variables." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:242 +msgid "" +"assign(id, val) -- assigns val to id, then returns val. id must be an " +"identifier, not an expression" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:253 +msgid "" +"print(a, b, ...) -- prints the arguments to standard output. Unless you " +"start calibre from the command line (calibre-debug -g), the output will go " +"to a black hole." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:265 +msgid "field(name) -- returns the metadata field named by name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:274 +msgid "" +"raw_field(name) -- returns the metadata field named by name without applying " +"any formatting." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:284 +msgid "" +"substr(str, start, end) -- returns the start'th through the end'th " +"characters of str. The first character in str is the zero'th character. If " +"end is negative, then it indicates that many characters counting from the " +"right. If end is zero, then it indicates the last character. For example, " +"substr('12345', 1, 0) returns '2345', and substr('12345', 1, -1) returns " +"'234'." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:298 +msgid "" +"lookup(val, pattern, field, pattern, field, ..., else_field) -- like switch, " +"except the arguments are field (metadata) names, not text. The value of the " +"appropriate field will be fetched and used. Note that because composite " +"columns are fields, you can use this function in one composite field to use " +"the value of some other composite field. This is extremely useful when " +"constructing variable save paths" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:313 +msgid "lookup requires either 2 or an odd number of arguments" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:326 +msgid "" +"test(val, text if not empty, text if empty) -- return `text if not empty` if " +"the field is not empty, otherwise return `text if empty`" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:339 +msgid "" +"contains(val, pattern, text if match, text if not match) -- checks if field " +"contains matches for the regular expression `pattern`. Returns `text if " +"match` if matches are found, otherwise it returns `text if no match`" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:355 +msgid "" +"switch(val, pattern, value, pattern, value, ..., else_value) -- for each " +"`pattern, value` pair, checks if the field matches the regular expression " +"`pattern` and if so, returns that `value`. If no pattern matches, then " +"else_value is returned. You can have as many `pattern, value` pairs as you " +"want" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:363 +msgid "switch requires an odd number of arguments" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:376 +msgid "" +"strcat_max(max, string1, prefix2, string2, ...) -- Returns a string formed " +"by concatenating the arguments. The returned value is initialized to " +"string1. `Prefix, string` pairs are added to the end of the value as long as " +"the resulting string length is less than `max`. String1 is returned even if " +"string1 is longer than max. You can pass as many `prefix, string` pairs as " +"you wish." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386 +msgid "strcat_max requires 2 or more arguments" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:388 +msgid "strcat_max requires an even number of arguments" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:392 +msgid "first argument to strcat_max must be an integer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:410 +msgid "" +"in_list(val, separator, pattern, found_val, not_found_val) -- treat val as a " +"list of items separated by separator, comparing the pattern against each " +"value in the list. If the pattern matches a value, return found_val, " +"otherwise return not_found_val." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:428 +msgid "" +"str_in_list(val, separator, string, found_val, not_found_val) -- treat val " +"as a list of items separated by separator, comparing the string against each " +"value in the list. If the string matches a value, return found_val, " +"otherwise return not_found_val. If the string contains separators, then it " +"is also treated as a list and each value is checked." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:449 +msgid "" +"identifier_in_list(val, id, found_val, not_found_val) -- treat val as a list " +"of identifiers separated by commas, comparing the string against each value " +"in the list. An identifier has the format \"identifier:value\". The id " +"parameter should be either \"id\" or \"id:regexp\". The first case matches " +"if there is any identifier with that id. The second case matches if the " +"regexp matches the identifier's value. If there is a match, return " +"found_val, otherwise return not_found_val." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:475 +msgid "" +"re(val, pattern, replacement) -- return the field after applying the regular " +"expression. All instances of `pattern` are replaced with `replacement`. As " +"in all of calibre, these are python-compatible regular expressions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:487 +msgid "" +"swap_around_comma(val) -- given a value of the form \"B, A\", return \"A " +"B\". This is most useful for converting names in LN, FN format to FN LN. If " +"there is no comma, the function returns val unchanged" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:499 +msgid "" +"ifempty(val, text if empty) -- return val if val is not empty, otherwise " +"return `text if empty`" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:512 +msgid "" +"shorten(val, left chars, middle text, right chars) -- Return a shortened " +"version of the field, consisting of `left chars` characters from the " +"beginning of the field, followed by `middle text`, followed by `right chars` " +"characters from the end of the string. `Left chars` and `right chars` must " +"be integers. For example, assume the title of the book is `Ancient English " +"Laws in the Times of Ivanhoe`, and you want it to fit in a space of at most " +"15 characters. If you use {title:shorten(9,-,5)}, the result will be " +"`Ancient E-nhoe`. If the field's length is less than left chars + right " +"chars + the length of `middle text`, then the field will be used intact. For " +"example, the title `The Dome` would not be changed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:538 +msgid "" +"count(val, separator) -- interprets the value as a list of items separated " +"by `separator`, returning the number of items in the list. Most lists use a " +"comma as the separator, but authors uses an ampersand. Examples: " +"{tags:count(,)}, {authors:count(&)}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:550 +msgid "" +"list_item(val, index, separator) -- interpret the value as a list of items " +"separated by `separator`, returning the `index`th item. The first item is " +"number zero. The last item can be returned using `list_item(-1,separator)`. " +"If the item is not in the list, then the empty value is returned. The " +"separator has the same meaning as in the count function." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:571 +msgid "" +"select(val, key) -- interpret the value as a comma-separated list of items, " +"with the items being \"id:value\". Find the pair with the id equal to key, " +"and return the corresponding value." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:589 +msgid "" +"formats_modtimes(date_format) -- return a comma-separated list of " +"colon_separated items representing modification times for the formats of a " +"book. The date_format parameter specifies how the date is to be formatted. " +"See the date_format function for details. You can use the select function to " +"get the mod time for a specific format. Note that format names are always " +"uppercase, as in EPUB." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:609 +msgid "" +"formats_sizes() -- return a comma-separated list of colon_separated items " +"representing sizes in bytes of the formats of a book. You can use the select " +"function to get the size for a specific format. Note that format names are " +"always uppercase, as in EPUB." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:625 +msgid "" +"human_readable(v) -- return a string representing the number v in KB, MB, " +"GB, etc." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:639 +msgid "" +"format_number(v, template) -- format the number v using a python formatting " +"template such as \"{0:5.2f}\" or \"{0:,d}\" or \"${0:5,.2f}\". The " +"field_name part of the template must be a 0 (zero) (the \"{0:\" in the above " +"examples). See the template language and python documentation for more " +"examples. Returns the empty string if formatting fails." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:664 +msgid "" +"sublist(val, start_index, end_index, separator) -- interpret the value as a " +"list of items separated by `separator`, returning a new list made from the " +"`start_index` to the `end_index` item. The first item is number zero. If an " +"index is negative, then it counts from the end of the list. As a special " +"case, an end_index of zero is assumed to be the length of the list. Examples " +"using basic template mode and assuming that the tags column (which is comma-" +"separated) contains \"A, B, C\": {tags:sublist(0,1,\\,)} returns \"A\". " +"{tags:sublist(-1,0,\\,)} returns \"C\". {tags:sublist(0,-1,\\,)} returns " +"\"A, B\"." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:699 +msgid "" +"subitems(val, start_index, end_index) -- This function is used to break " +"apart lists of items such as genres. It interprets the value as a comma-" +"separated list of items, where each item is a period-separated list. Returns " +"a new list made by first finding all the period-separated items, then for " +"each such item extracting the start_index` to the `end_index` components, " +"then combining the results back together. The first component in a period-" +"separated list has an index of zero. If an index is negative, then it counts " +"from the end of the list. As a special case, an end_index of zero is assumed " +"to be the length of the list. Example using basic template mode and assuming " +"a #genre value of \"A.B.C\": {#genre:subitems(0,1)} returns \"A\". " +"{#genre:subitems(0,2)} returns \"A.B\". {#genre:subitems(1,0)} returns " +"\"B.C\". Assuming a #genre value of \"A.B.C, D.E.F\", {#genre:subitems(0,1)} " +"returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 +msgid "" +"format_date(val, format_string) -- format the value, which must be a date, " +"using the format_string, returning a string. The formatting codes are: d " +": the day as number without a leading zero (1 to 31) dd : the day as " +"number with a leading zero (01 to 31) ddd : the abbreviated localized day " +"name (e.g. \"Mon\" to \"Sun\"). dddd : the long localized day name (e.g. " +"\"Monday\" to \"Sunday\"). M : the month as number without a leading zero " +"(1 to 12). MM : the month as number with a leading zero (01 to 12) MMM : " +"the abbreviated localized month name (e.g. \"Jan\" to \"Dec\"). MMMM : the " +"long localized month name (e.g. \"January\" to \"December\"). yy : the " +"year as two digit number (00 to 99). yyyy : the year as four digit number. h " +" : the hours without a leading 0 (0 to 11 or 0 to 23, depending on am/pm) " +"hh : the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm) " +"m : the minutes without a leading 0 (0 to 59) mm : the minutes with a " +"leading 0 (00 to 59) s : the seconds without a leading 0 (0 to 59) ss : " +"the seconds with a leading 0 (00 to 59) ap : use a 12-hour clock instead " +"of a 24-hour clock, with \"ap\" replaced by the localized string for am or " +"pm AP : use a 12-hour clock instead of a 24-hour clock, with \"AP\" " +"replaced by the localized string for AM or PM iso : the date with time and " +"timezone. Must be the only format present" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 +msgid "uppercase(val) -- return value of the field in upper case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 +msgid "lowercase(val) -- return value of the field in lower case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 +msgid "titlecase(val) -- return value of the field in title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 +msgid "capitalize(val) -- return value of the field capitalized" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 +msgid "booksize() -- return value of the size field" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 +msgid "" +"ondevice() -- return Yes if ondevice is set, otherwise return the empty " +"string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 +msgid "" +"has_cover() -- return Yes if the book has a cover, otherwise return the " +"empty string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 +msgid "" +"first_non_empty(value, value, ...) -- returns the first value that is not " +"empty. If all values are empty, then the empty value is returned.You can " +"have as many values as you want." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 +msgid "" +"and(value, value, ...) -- returns the string \"1\" if all values are not " +"empty, otherwise returns the empty string. This function works well with " +"test or first_non_empty. You can have as many values as you want." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 +msgid "" +"or(value, value, ...) -- returns the string \"1\" if any value is not empty, " +"otherwise returns the empty string. This function works well with test or " +"first_non_empty. You can have as many values as you want." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 +msgid "" +"not(value) -- returns the string \"1\" if the value is empty, otherwise " +"returns the empty string. This function works well with test or " +"first_non_empty. You can have as many values as you want." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 +msgid "" +"list_union(list1, list2, separator) -- return a list made by merging the " +"items in list1 and list2, removing duplicate items using a case-insensitive " +"compare. If items differ in case, the one in list1 is used. The items in " +"list1 and list2 are separated by separator, as are the items in the returned " +"list." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 +msgid "" +"list_difference(list1, list2, separator) -- return a list made by removing " +"from list1 any item found in list2, using a case-insensitive compare. The " +"items in list1 and list2 are separated by separator, as are the items in the " +"returned list." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 +msgid "" +"list_intersection(list1, list2, separator) -- return a list made by removing " +"from list1 any item not found in list2, using a case-insensitive compare. " +"The items in list1 and list2 are separated by separator, as are the items in " +"the returned list." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 +msgid "" +"list_sort(list, direction, separator) -- return list sorted using a case-" +"insensitive sort. If direction is zero, the list is sorted ascending, " +"otherwise descending. The list items are separated by separator, as are the " +"items in the returned list." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 +msgid "" +"list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " +"list1 and list2 contain the same items, otherwise return no_val. The items " +"are determined by splitting each list using the appropriate separator " +"character (sep1 or sep2). The order of items in the lists is not relevant. " +"The compare is case insensitive." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 +msgid "" +"list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " +"first separating src_list into items using the separator character. For each " +"item in the list, check if it matches search_re. If it does, then add it to " +"the list to be returned. If opt_replace is not the empty string, then apply " +"the replacement before adding the item to the returned list." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 +msgid "" +"today() -- return a date string for today. This value is designed for use in " +"format_date or days_between, but can be manipulated like any other string. " +"The date is in ISO format." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 +msgid "" +"days_between(date1, date2) -- return the number of days between date1 and " +"date2. The number is positive if date1 is greater than date2, otherwise " +"negative. If either date1 or date2 are not dates, the function returns the " +"empty string." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 +msgid "" +"language_strings(lang_codes, localize) -- return the strings for the " +"language codes passed in lang_codes. If localize is zero, return the strings " +"in English. If localize is not zero, return the strings in the language of " +"the current locale. Lang_codes is a comma-separated list." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 +msgid "" +"language_codes(lang_strings) -- return the language codes for the strings " +"passed in lang_strings. The strings must be in the language of the current " +"locale. Lang_strings is a comma-separated list." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:43 +msgid "Waiting..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 +msgid "Aborted, taking too long" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:56 +msgid "Stopped" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:58 +msgid "Finished" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:80 +msgid "Working..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:108 +msgid "Brazilian Portuguese" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:109 +msgid "English (UK)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:110 +msgid "Simplified Chinese" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:111 +msgid "Chinese (HK)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:112 +msgid "Traditional Chinese" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:113 +msgid "English" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:114 +msgid "English (Australia)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 +msgid "English (Japan)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +msgid "English (Bulgaria)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +msgid "English (New Zealand)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +msgid "English (Canada)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +msgid "English (Greece)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +msgid "English (India)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +msgid "English (Nepal)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +msgid "English (Thailand)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +msgid "English (Turkey)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +msgid "English (Cyprus)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +msgid "English (Czech Republic)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +msgid "English (Pakistan)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +msgid "English (Croatia)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +msgid "English (Indonesia)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +msgid "English (Israel)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +msgid "English (Russia)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +msgid "English (Singapore)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +msgid "English (Yemen)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +msgid "English (Ireland)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +msgid "English (China)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +msgid "English (South Africa)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +msgid "Spanish (Paraguay)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +msgid "Spanish (Uruguay)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +msgid "Spanish (Argentina)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +msgid "Spanish (Mexico)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +msgid "Spanish (Cuba)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +msgid "Spanish (Chile)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +msgid "Spanish (Ecuador)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +msgid "Spanish (Honduras)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +msgid "Spanish (Venezuela)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +msgid "Spanish (Bolivia)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +msgid "Spanish (Nicaragua)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +msgid "Spanish (Colombia)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +msgid "German (AT)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 +msgid "Dutch (BE)" +msgstr "" + +#. NOTE: Ante Meridian (i.e. like 10:00 AM) +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +msgid "AM" +msgstr "" + +#. NOTE: Post Meridian (i.e. like 10:00 PM) +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +msgid "PM" +msgstr "" + +#. NOTE: Ante Meridian (i.e. like 10:00 am) +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +msgid "am" +msgstr "" + +#. NOTE: Post Meridian (i.e. like 10:00 pm) +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 +msgid "pm" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/pyconsole/console.py:56 +msgid "Choose theme (needs restart)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/pyconsole/console.py:109 +msgid "ERROR: Unhandled exception" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/pyconsole/console.py:188 +msgid "No interpreter" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/pyconsole/console.py:189 +msgid "No active interpreter found. Try restarting the console" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/pyconsole/console.py:203 +msgid "Interpreter died" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/pyconsole/console.py:204 +msgid "" +"Interpreter dies while excuting a command. To see the command, click Show " +"details" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/pyconsole/main.py:20 +msgid "Welcome to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/pyconsole/main.py:41 +msgid " console " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/pyconsole/main.py:51 +msgid "Code is running" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/pyconsole/main.py:58 +msgid "Restart console" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 +msgid "URL must have the scheme sftp" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/sftp.py:57 +msgid "host must be of the form user@hostname" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/sftp.py:68 +msgid "Failed to negotiate SSH session: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/sftp.py:71 +#, python-format +msgid "Failed to authenticate with server: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:255 +msgid "Control email delivery" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:120 +msgid "Unknown section" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:142 +msgid "Unknown feed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:160 +#: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:187 +msgid "Untitled article" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/input.py:22 +msgid "Download periodical content from the internet" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/input.py:37 +msgid "" +"Useful for recipe development. Forces max_articles_per_feed to 2 and " +"downloads at most 2 feeds." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/input.py:40 +msgid "Username for sites that require a login to access content." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/input.py:43 +msgid "Password for sites that require a login to access content." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/input.py:47 +msgid "" +"Do not download latest version of builtin recipes from the calibre server" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:48 +msgid "Unknown News Source" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:718 +#, python-format +msgid "The \"%s\" recipe needs a username and password." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:825 +msgid "Download finished" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:827 +msgid "Failed to download the following articles:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:833 +msgid "Failed to download parts of the following articles:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:835 +msgid " from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:837 +msgid "\tFailed links:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:939 +msgid "Could not fetch article." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:941 +msgid "The debug traceback is available earlier in this log" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:943 +msgid "Run with -vv to see the reason" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:966 +msgid "Fetching feeds..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:971 +msgid "Got feeds from index page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:980 +msgid "Trying to download cover..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +msgid "Generating masthead..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1062 +#, python-format +msgid "Starting download [%d thread(s)]..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1078 +#, python-format +msgid "Feeds downloaded to %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1087 +#, python-format +msgid "Could not download cover: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1096 +#, python-format +msgid "Downloading cover from %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1142 +msgid "Masthead image downloaded" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1223 +msgid "Articles in this issue: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1293 +msgid "Untitled Article" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1364 +#, python-format +msgid "Article downloaded: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1375 +#, python-format +msgid "Article download failed: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1392 +msgid "Fetching feed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1536 +msgid "" +"Failed to log in, check your username and password for the calibre " +"Periodicals service." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 +msgid "" +"You do not have permission to download this issue. Either your subscription " +"has expired or you have exceeded the maximum allowed downloads for today." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:46 +msgid "You" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:75 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:84 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:203 +msgid "Scheduled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:123 +msgid "Next section" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:126 +msgid "Main menu" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:130 +msgid "Previous section" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:222 +msgid "Section Menu" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:225 +msgid "Main Menu" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:314 +#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:407 +msgid "Sections" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:404 +msgid "Articles" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:480 +msgid "" +"%prog URL\n" +"\n" +"Where URL is for example http://google.com" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:483 +#, python-format +msgid "Base directory into which URL is saved. Default is %default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:486 +#, python-format +msgid "" +"Timeout in seconds to wait for a response from the server. Default: %default " +"s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:489 +#, python-format +msgid "" +"Maximum number of levels to recurse i.e. depth of links to follow. Default " +"%default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:492 +#, python-format +msgid "" +"The maximum number of files to download. This only applies to files from <a " +"href> tags. Default is %default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:494 +#, python-format +msgid "" +"Minimum interval in seconds between consecutive fetches. Default is %default " +"s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:496 +msgid "" +"The character encoding for the websites you are trying to download. The " +"default is to try and guess the encoding." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:498 +msgid "" +"Only links that match this regular expression will be followed. This option " +"can be specified multiple times, in which case as long as a link matches any " +"one regexp, it will be followed. By default all links are followed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:500 +msgid "" +"Any link that matches this regular expression will be ignored. This option " +"can be specified multiple times, in which case as long as any regexp matches " +"a link, it will be ignored.By default, no links are ignored. If both filter " +"regexp and match regexp are specified, then filter regexp is applied first." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:502 +msgid "Do not download CSS stylesheets." +msgstr "" + +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:649 +msgid "OK" +msgstr "" + +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:652 +msgid "Save" +msgstr "" + +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:655 +msgid "Open" +msgstr "" + +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:658 +msgid "Cancel" +msgstr "" + +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:661 +msgid "&Close" +msgstr "" + +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:664 +msgid "Apply" +msgstr "" + +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:674 +msgid "Don't Save" +msgstr "" + +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:676 +msgid "Close without Saving" +msgstr "" + +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:678 +msgid "Discard" +msgstr "" + +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:681 +msgid "&Yes" +msgstr "" + +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:684 +msgid "Yes to &All" +msgstr "" + +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:687 +msgid "&No" +msgstr "" + +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:690 +msgid "N&o to All" +msgstr "" + +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:693 +msgid "Save All" +msgstr "" + +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:696 +msgid "Abort" +msgstr "" + +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:699 +msgid "Retry" +msgstr "" + +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:702 +msgid "Ignore" +msgstr "" + +#: /usr/src/qt-everywhere-opensource-src-4.7.3/src/gui/widgets/qdialogbuttonbox.cpp:705 +msgid "Restore Defaults" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:12 +msgid "Auto increment series index" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:13 +msgid "" +"The algorithm used to assign a book added to an existing series a series " +"number.\n" +"New series numbers assigned using this tweak are always integer values, " +"except\n" +"if a constant non-integer is specified.\n" +"Possible values are:\n" +"next - First available integer larger than the largest existing number\n" +"first_free - First available integer larger than 0\n" +"next_free - First available integer larger than the smallest existing " +"number\n" +"last_free - First available integer smaller than the largest existing " +"number\n" +"Return largest existing + 1 if no free number is found\n" +"const - Assign the number 1 always\n" +"a number - Assign that number always. The number is not in quotes. Note " +"that\n" +"0.0 can be used here.\n" +"Examples:\n" +"series_index_auto_increment = 'next'\n" +"series_index_auto_increment = 'next_free'\n" +"series_index_auto_increment = 16.5\n" +"\n" +"Set the use_series_auto_increment_tweak_when_importing tweak to True to\n" +"use the above values when importing/adding books. If this tweak is set to\n" +"False (the default) then the series number will be set to 1 if it is not\n" +"explicitly set to during the import. If set to True, then the\n" +"series index will be set according to the series_index_auto_increment " +"setting.\n" +"Note that the use_series_auto_increment_tweak_when_importing tweak is used\n" +"only when a value is not provided during import. If the importing regular\n" +"expression produces a value for series_index, or if you are reading " +"metadata\n" +"from books and the import plugin produces a value, than that value will\n" +"be used irrespective of the setting of the tweak." +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:43 +msgid "Add separator after completing an author name" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:44 +msgid "" +"Should the completion separator be append\n" +"to the end of the completed text to\n" +"automatically begin a new completion operation\n" +"for authors.\n" +"Can be either True or False" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:51 +msgid "Author sort name algorithm" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:52 +msgid "" +"The algorithm used to copy author to author_sort\n" +"Possible values are:\n" +"invert: use \"fn ln\" -> \"ln, fn\"\n" +"copy : copy author to author_sort without modification\n" +"comma : use 'copy' if there is a ',' in the name, otherwise use 'invert'\n" +"nocomma : \"fn ln\" -> \"ln fn\" (without the comma)\n" +"When this tweak is changed, the author_sort values stored with each author\n" +"must be recomputed by right-clicking on an author in the left-hand tags " +"pane,\n" +"selecting 'manage authors', and pressing 'Recalculate all author sort " +"values'.\n" +"The author name suffixes are words that are ignored when they occur at the\n" +"end of an author name. The case of the suffix is ignored and trailing\n" +"periods are automatically handled. The same is true for prefixes.\n" +"The author name copy words are a set of words which if they occur in an\n" +"author name cause the automatically generated author sort string to be\n" +"identical to the author name. This means that the sort for a string like " +"Acme\n" +"Inc. will be Acme Inc. instead of Inc., Acme" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:76 +msgid "Splitting multiple author names" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:77 +msgid "" +"By default, calibre splits a string containing multiple author names on\n" +"ampersands and the words \"and\" and \"with\". You can customize the " +"splitting\n" +"by changing the regular expression below. Strings are split on whatever the\n" +"specified regular expression matches.\n" +"Default: r'(?i),?\\s+(and|with)\\s+'" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:84 +msgid "Use author sort in Tag Browser" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:85 +msgid "" +"Set which author field to display in the tags pane (the list of authors,\n" +"series, publishers etc on the left hand side). The choices are author and\n" +"author_sort. This tweak affects only what is displayed under the authors\n" +"category in the tags pane and content server. Please note that if you set " +"this\n" +"to author_sort, it is very possible to see duplicate names in the list " +"because\n" +"although it is guaranteed that author names are unique, there is no such\n" +"guarantee for author_sort values. Showing duplicates won't break anything, " +"but\n" +"it could lead to some confusion. When using 'author_sort', the tooltip will\n" +"show the author's name.\n" +"Examples:\n" +"categories_use_field_for_author_name = 'author'\n" +"categories_use_field_for_author_name = 'author_sort'" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:99 +msgid "" +"Completion sort order: choose when to change from lexicographic to ASCII-like" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:100 +msgid "" +"Calibre normally uses locale-dependent lexicographic ordering when showing\n" +"completion values. This means that the sort order is correct for the user's\n" +"language. However, this can be slow. Performance is improved by switching " +"to\n" +"ascii ordering. This tweak controls when that switch happens. Set it to " +"zero\n" +"to always use ascii ordering. Set it to something larger than zero to " +"switch\n" +"to ascii ordering for performance reasons." +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:108 +msgid "Control partitioning of Tag Browser" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:109 +msgid "" +"When partitioning the tags browser, the format of the subcategory label is\n" +"controlled by a template: categories_collapsed_name_template if sorting by\n" +"name, categories_collapsed_rating_template if sorting by average rating, " +"and\n" +"categories_collapsed_popularity_template if sorting by popularity. There " +"are\n" +"two variables available to the template: first and last. The variable " +"'first'\n" +"is the initial item in the subcategory, and the variable 'last' is the " +"final\n" +"item in the subcategory. Both variables are 'objects'; they each have " +"multiple\n" +"values that are obtained by using a suffix. For example, first.name for an\n" +"author category will be the name of the author. The sub-values available " +"are:\n" +"name: the printable name of the item\n" +"count: the number of books that references this item\n" +"avg_rating: the average rating of all the books referencing this item\n" +"sort: the sort value. For authors, this is the author_sort for that author\n" +"category: the category (e.g., authors, series) that the item is in.\n" +"Note that the \"r'\" in front of the { is necessary if there are " +"backslashes\n" +"(\\ characters) in the template. It doesn't hurt anything to leave it there\n" +"even if there aren't any backslashes." +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:130 +msgid "Specify columns to sort the booklist by on startup" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:131 +msgid "" +"Provide a set of columns to be sorted on when calibre starts\n" +"The argument is None if saved sort history is to be used\n" +"otherwise it is a list of column,order pairs. Column is the\n" +"lookup/search name, found using the tooltip for the column\n" +"Order is 0 for ascending, 1 for descending\n" +"For example, set it to [('authors',0),('title',0)] to sort by\n" +"title within authors." +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:140 +msgid "Control how dates are displayed" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:141 +msgid "" +"Format to be used for publication date and the timestamp (date).\n" +"A string controlling how the publication date is displayed in the GUI\n" +"d the day as number without a leading zero (1 to 31)\n" +"dd the day as number with a leading zero (01 to 31)\n" +"ddd the abbreviated localized day name (e.g. 'Mon' to 'Sun').\n" +"dddd the long localized day name (e.g. 'Monday' to 'Qt::Sunday').\n" +"M the month as number without a leading zero (1-12)\n" +"MM the month as number with a leading zero (01-12)\n" +"MMM the abbreviated localized month name (e.g. 'Jan' to 'Dec').\n" +"MMMM the long localized month name (e.g. 'January' to 'December').\n" +"yy the year as two digit number (00-99)\n" +"yyyy the year as four digit number\n" +"h the hours without a leading 0 (0 to 11 or 0 to 23, depending on am/pm) " +"'\n" +"hh the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm) " +"'\n" +"m the minutes without a leading 0 (0 to 59) '\n" +"mm the minutes with a leading 0 (00 to 59) '\n" +"s the seconds without a leading 0 (0 to 59) '\n" +"ss the seconds with a leading 0 (00 to 59) '\n" +"ap use a 12-hour clock instead of a 24-hour clock, with \"ap\"\n" +"replaced by the localized string for am or pm '\n" +"AP use a 12-hour clock instead of a 24-hour clock, with \"AP\"\n" +"replaced by the localized string for AM or PM '\n" +"iso the date with time and timezone. Must be the only format present\n" +"For example, given the date of 9 Jan 2010, the following formats show\n" +"MMM yyyy ==> Jan 2010 yyyy ==> 2010 dd MMM yyyy ==> 09 Jan 2010\n" +"MM/yyyy ==> 01/2010 d/M/yy ==> 9/1/10 yy ==> 10\n" +"publication default if not set: MMM yyyy\n" +"timestamp default if not set: dd MMM yyyy\n" +"last_modified_display_format if not set: dd MMM yyyy" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:174 +msgid "Control sorting of titles and series in the library display" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:175 +msgid "" +"Control title and series sorting in the library view. If set to\n" +"'library_order', the title sort field will be used instead of the title.\n" +"Unless you have manually edited the title sort field, leading articles such " +"as\n" +"The and A will be ignored. If set to 'strictly_alphabetic', the titles will " +"be\n" +"sorted as-is (sort by title instead of title sort). For example, with\n" +"library_order, The Client will sort under 'C'. With strictly_alphabetic, " +"the\n" +"book will sort under 'T'.\n" +"This flag affects Calibre's library display. It has no effect on devices. " +"In\n" +"addition, titles for books added before changing the flag will retain their\n" +"order until the title is edited. Double-clicking on a title and hitting " +"return\n" +"without changing anything is sufficient to change the sort." +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:188 +msgid "Control formatting of title and series when used in templates" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:189 +msgid "" +"Control how title and series names are formatted when saving to " +"disk/sending\n" +"to device. The behavior depends on the field being processed. If processing\n" +"title, then if this tweak is set to 'library_order', the title will be\n" +"replaced with title_sort. If it is set to 'strictly_alphabetic', then the\n" +"title will not be changed. If processing series, then if set to\n" +"'library_order', articles such as 'The' and 'An' will be moved to the end. " +"If\n" +"set to 'strictly_alphabetic', the series will be sent without change.\n" +"For example, if the tweak is set to library_order, \"The Lord of the " +"Rings\"\n" +"will become \"Lord of the Rings, The\". If the tweak is set to\n" +"strictly_alphabetic, it would remain \"The Lord of the Rings\"." +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:201 +msgid "Set the list of words considered to be \"articles\" for sort strings" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:202 +msgid "" +"Set the list of words that are to be considered 'articles' when computing " +"the\n" +"title sort strings. The articles differ by language. By default, calibre " +"uses\n" +"a combination of articles from English and whatever language the calibre " +"user\n" +"interface is set to. In addition, in some contexts where the book language " +"is\n" +"available, the language of the book is used. You can change the list of\n" +"articles for a given language or add a new language by editing\n" +"per_language_title_sort_articles. To tell calibre to use a language other\n" +"than the user interface language, set, default_language_for_title_sort. For\n" +"example, to use German, set it to 'deu'. A value of None means the user\n" +"interface language is used. The setting title_sort_articles is ignored\n" +"(present only for legacy reasons)." +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:253 +msgid "Specify a folder calibre should connect to at startup" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:254 +msgid "" +"Specify a folder that calibre should connect to at startup using\n" +"connect_to_folder. This must be a full path to the folder. If the folder " +"does\n" +"not exist when calibre starts, it is ignored. If there are '\\' characters " +"in\n" +"the path (such as in Windows paths), you must double them.\n" +"Examples:\n" +"auto_connect_to_folder = 'C:\\\\Users\\\\someone\\\\Desktop\\\\testlib'\n" +"auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library'" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:263 +msgid "Specify renaming rules for SONY collections" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:264 +msgid "" +"Specify renaming rules for sony collections. This tweak is only applicable " +"if\n" +"metadata management is set to automatic. Collections on Sonys are named\n" +"depending upon whether the field is standard or custom. A collection " +"derived\n" +"from a standard field is named for the value in that field. For example, if\n" +"the standard 'series' column contains the value 'Darkover', then the\n" +"collection name is 'Darkover'. A collection derived from a custom field " +"will\n" +"have the name of the field added to the value. For example, if a custom " +"series\n" +"column named 'My Series' contains the name 'Darkover', then the collection\n" +"will by default be named 'Darkover (My Series)'. For purposes of this\n" +"documentation, 'Darkover' is called the value and 'My Series' is called the\n" +"category. If two books have fields that generate the same collection name,\n" +"then both books will be in that collection.\n" +"This set of tweaks lets you specify for a standard or custom field how\n" +"the collections are to be named. You can use it to add a description to a\n" +"standard field, for example 'Foo (Tag)' instead of the 'Foo'. You can also " +"use\n" +"it to force multiple fields to end up in the same collection. For example, " +"you\n" +"could force the values in 'series', '#my_series_1', and '#my_series_2' to\n" +"appear in collections named 'some_value (Series)', thereby merging all of " +"the\n" +"fields into one set of collections.\n" +"There are two related tweaks. The first determines the category name to use\n" +"for a metadata field. The second is a template, used to determines how the\n" +"value and category are combined to create the collection name.\n" +"The syntax of the first tweak, sony_collection_renaming_rules, is:\n" +"{'field_lookup_name':'category_name_to_use', 'lookup_name':'name', ...}\n" +"The second tweak, sony_collection_name_template, is a template. It uses the\n" +"same template language as plugboards and save templates. This tweak " +"controls\n" +"how the value and category are combined together to make the collection " +"name.\n" +"The only two fields available are {category} and {value}. The {value} field " +"is\n" +"never empty. The {category} field can be empty. The default is to put the\n" +"value first, then the category enclosed in parentheses, it is isn't empty:\n" +"'{value} {category:|(|)}'\n" +"Examples: The first three examples assume that the second tweak\n" +"has not been changed.\n" +"1: I want three series columns to be merged into one set of collections. " +"The\n" +"column lookup names are 'series', '#series_1' and '#series_2'. I want " +"nothing\n" +"in the parenthesis. The value to use in the tweak value would be:\n" +"sony_collection_renaming_rules={'series':'', '#series_1':'', " +"'#series_2':''}\n" +"2: I want the word '(Series)' to appear on collections made from series, " +"and\n" +"the word '(Tag)' to appear on collections made from tags. Use:\n" +"sony_collection_renaming_rules={'series':'Series', 'tags':'Tag'}\n" +"3: I want 'series' and '#myseries' to be merged, and for the collection " +"name\n" +"to have '(Series)' appended. The renaming rule is:\n" +"sony_collection_renaming_rules={'series':'Series', '#myseries':'Series'}\n" +"4: Same as example 2, but instead of having the category name in " +"parentheses\n" +"and appended to the value, I want it prepended and separated by a colon, " +"such\n" +"as in Series: Darkover. I must change the template used to format the " +"category name\n" +"The resulting two tweaks are:\n" +"sony_collection_renaming_rules={'series':'Series', 'tags':'Tag'}\n" +"sony_collection_name_template='{category:||: }{value}'" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:316 +msgid "Specify how SONY collections are sorted" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:317 +msgid "" +"Specify how sony collections are sorted. This tweak is only applicable if\n" +"metadata management is set to automatic. You can indicate which metadata is " +"to\n" +"be used to sort on a collection-by-collection basis. The format of the " +"tweak\n" +"is a list of metadata fields from which collections are made, followed by " +"the\n" +"name of the metadata field containing the sort value.\n" +"Example: The following indicates that collections built from pubdate and " +"tags\n" +"are to be sorted by the value in the custom column '#mydate', that " +"collections\n" +"built from 'series' are to be sorted by 'series_index', and that all other\n" +"collections are to be sorted by title. If a collection metadata field is " +"not\n" +"named, then if it is a series- based collection it is sorted by series " +"order,\n" +"otherwise it is sorted by title order.\n" +"[(['pubdate', 'tags'],'#mydate'), (['series'],'series_index'), (['*'], " +"'title')]\n" +"Note that the bracketing and parentheses are required. The syntax is\n" +"[ ( [list of fields], sort field ) , ( [ list of fields ] , sort field ) ]\n" +"Default: empty (no rules), so no collection attributes are named." +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:334 +msgid "Control how tags are applied when copying books to another library" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:335 +msgid "" +"Set this to True to ensure that tags in 'Tags to add when adding\n" +"a book' are added when copying books to another library" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:339 +msgid "Set the maximum number of tags to show per book in the content server" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:342 +msgid "" +"Set custom metadata fields that the content server will or will not display." +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:343 +msgid "" +"content_server_will_display is a list of custom fields to be displayed.\n" +"content_server_wont_display is a list of custom fields not to be displayed.\n" +"wont_display has priority over will_display.\n" +"The special value '*' means all custom fields. The value [] means no " +"entries.\n" +"Defaults:\n" +"content_server_will_display = ['*']\n" +"content_server_wont_display = []\n" +"Examples:\n" +"To display only the custom fields #mytags and #genre:\n" +"content_server_will_display = ['#mytags', '#genre']\n" +"content_server_wont_display = []\n" +"To display all fields except #mycomments:\n" +"content_server_will_display = ['*']\n" +"content_server_wont_display['#mycomments']" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:360 +msgid "Set the maximum number of sort 'levels'" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:361 +msgid "" +"Set the maximum number of sort 'levels' that calibre will use to resort the\n" +"library after certain operations such as searches or device insertion. Each\n" +"sort level adds a performance penalty. If the database is large (thousands " +"of\n" +"books) the penalty might be noticeable. If you are not concerned about multi-" +"\n" +"level sorts, and if you are seeing a slowdown, reduce the value of this " +"tweak." +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:368 +msgid "Choose whether dates are sorted using visible fields" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:369 +msgid "" +"Date values contain both a date and a time. When sorted, all the fields are\n" +"used, regardless of what is displayed. Set this tweak to True to use only\n" +"the fields that are being displayed." +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:374 +msgid "Specify which font to use when generating a default cover" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:375 +msgid "" +"Absolute path to .ttf font files to use as the fonts for the title, author\n" +"and footer when generating a default cover. Useful if the default font " +"(Liberation\n" +"Serif) does not contain glyphs for the language of the books in your library." +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:381 +msgid "Control behavior of the book list" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:382 +msgid "" +"You can control the behavior of doubleclicks on the books list.\n" +"Choices: open_viewer, do_nothing,\n" +"edit_cell, edit_metadata. Selecting edit_metadata has the side effect of\n" +"disabling editing a field using a single click.\n" +"Default: open_viewer.\n" +"Example: doubleclick_on_library_view = 'do_nothing'\n" +"You can also control whether the book list scrolls horizontal per column or\n" +"per pixel. Default is per column." +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:393 +msgid "Language to use when sorting." +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:394 +msgid "" +"Setting this tweak will force sorting to use the\n" +"collating order for the specified language. This might be useful if you run\n" +"calibre in English but want sorting to work in the language where you live.\n" +"Set the tweak to the desired ISO 639-1 language code, in lower case.\n" +"You can find the list of supported locales at\n" +"http://publib.boulder.ibm.com/infocenter/iseries/v5r3/topic/nls/rbagsicusorts" +"equencetables.htm\n" +"Default: locale_for_sorting = '' -- use the language calibre displays in\n" +"Example: locale_for_sorting = 'fr' -- sort using French rules.\n" +"Example: locale_for_sorting = 'nb' -- sort using Norwegian rules." +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:405 +msgid "Number of columns for custom metadata in the edit metadata dialog" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:406 +msgid "" +"Set whether to use one or two columns for custom metadata when editing\n" +"metadata one book at a time. If True, then the fields are laid out using " +"two\n" +"columns. If False, one column is used." +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:411 +msgid "The number of seconds to wait before sending emails" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:412 +msgid "" +"The number of seconds to wait before sending emails when using a\n" +"public email server like gmail or hotmail. Default is: 5 minutes\n" +"Setting it to lower may cause the server's SPAM controls to kick in,\n" +"making email sending fail. Changes will take effect only after a restart of\n" +"calibre." +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:419 +msgid "Remove the bright yellow lines at the edges of the book list" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:420 +msgid "" +"Control whether the bright yellow lines at the edges of book list are drawn\n" +"when a section of the user interface is hidden. Changes will take effect\n" +"after a restart of calibre." +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:425 +msgid "The maximum width and height for covers saved in the calibre library" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:426 +msgid "" +"All covers in the calibre library will be resized, preserving aspect ratio,\n" +"to fit within this size. This is to prevent slowdowns caused by extremely\n" +"large covers" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:431 +msgid "Where to send downloaded news" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:432 +msgid "" +"When automatically sending downloaded news to a connected device, calibre\n" +"will by default send it to the main memory. By changing this tweak, you can\n" +"control where it is sent. Valid values are \"main\", \"carda\", \"cardb\". " +"Note\n" +"that if there isn't enough free space available on the location you choose,\n" +"the files will be sent to the location with the most free space." +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:439 +msgid "What interfaces should the content server listen on" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:440 +msgid "" +"By default, the calibre content server listens on '0.0.0.0' which means that " +"it\n" +"accepts IPv4 connections on all interfaces. You can change this to, for\n" +"example, '127.0.0.1' to only listen for connections from the local machine, " +"or\n" +"to '::' to listen to all incoming IPv6 and IPv4 connections (this may not\n" +"work on all operating systems)" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:447 +msgid "Unified toolbar on OS X" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:448 +msgid "" +"If you enable this option and restart calibre, the toolbar will be " +"'unified'\n" +"with the titlebar as is normal for OS X applications. However, doing this " +"has\n" +"various bugs, for instance the minimum width of the toolbar becomes twice\n" +"what it should be and it causes other random bugs on some systems, so turn " +"it\n" +"on at your own risk!" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:455 +msgid "Save original file when converting from same format to same format" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:456 +msgid "" +"When calibre does a conversion from the same format to the same format, for\n" +"example, from EPUB to EPUB, the original file is saved, so that in case the\n" +"conversion is poor, you can tweak the settings and run it again. By setting\n" +"this to False you can prevent calibre from saving the original file." +msgstr "" diff --git a/src/calibre/translations/lt.po b/src/calibre/translations/lt.po index 6908722b44..49ca3ff623 100644 --- a/src/calibre/translations/lt.po +++ b/src/calibre/translations/lt.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 16:44+0000\n" "Last-Translator: Mantas Kriaučiūnas <mantas@akl.lt>\n" "Language-Team: Lithuanian <lt@li.org>\n" @@ -16,8 +16,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "(n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:01+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:25+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -27,8 +27,8 @@ msgstr "Nieko nedaro" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -39,8 +39,8 @@ msgstr "Nieko nedaro" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -49,8 +49,8 @@ msgstr "Nieko nedaro" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -175,7 +175,7 @@ msgstr "Nieko nedaro" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -194,7 +194,7 @@ msgstr "Nieko nedaro" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -465,7 +465,7 @@ msgid "Change the way calibre behaves" msgstr "Pakeisti calibre veikimą" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Pridėti savo stulpelių" @@ -893,7 +893,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -905,10 +905,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -937,17 +937,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1059,8 +1059,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2775,13 +2775,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2789,7 +2789,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3161,7 +3161,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3599,7 +3599,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4475,52 +4475,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4528,123 +4528,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4652,7 +4652,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4661,13 +4661,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4678,33 +4678,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4794,8 +4798,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5440,7 +5444,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5591,75 +5595,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5789,8 +5793,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5813,6 +5817,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6343,18 +6348,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7221,7 +7230,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7644,10 +7653,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7660,68 +7669,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8009,7 +8018,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9230,7 +9239,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9570,7 +9579,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10849,43 +10858,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10915,7 +10924,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11102,54 +11111,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13939,6 +13948,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14273,7 +14286,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14283,7 +14296,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14335,7 +14348,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14424,13 +14437,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14463,7 +14476,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14471,7 +14484,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14479,7 +14492,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14487,13 +14500,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14527,20 +14540,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14890,40 +14903,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15226,7 +15239,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15476,25 +15489,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15933,64 +15952,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17747,7 +17766,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17770,67 +17789,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17839,7 +17858,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17847,7 +17866,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17855,7 +17874,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17863,7 +17882,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17872,7 +17891,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17881,14 +17900,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17896,7 +17915,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17904,7 +17923,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17960,166 +17979,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/ltg.po b/src/calibre/translations/ltg.po index c1c100a602..181c29d3ab 100644 --- a/src/calibre/translations/ltg.po +++ b/src/calibre/translations/ltg.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-05-06 12:35+0000\n" "Last-Translator: uGGa <Unknown>\n" "Language-Team: Latgalian <ltg@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:13+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:36+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Pilneigi nikū nadora" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Pilneigi nikū nadora" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Pilneigi nikū nadora" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Pilneigi nikū nadora" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Pilneigi nikū nadora" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -464,7 +464,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -886,7 +886,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -898,10 +898,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -930,17 +930,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1052,8 +1052,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2768,13 +2768,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2782,7 +2782,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3154,7 +3154,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3592,7 +3592,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4468,52 +4468,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4521,123 +4521,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4645,7 +4645,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4654,13 +4654,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4671,33 +4671,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4787,8 +4791,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5433,7 +5437,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5584,75 +5588,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5782,8 +5786,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5806,6 +5810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6336,18 +6341,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7214,7 +7223,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7637,10 +7646,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7653,68 +7662,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8002,7 +8011,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9223,7 +9232,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9563,7 +9572,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10842,43 +10851,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10908,7 +10917,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11095,54 +11104,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13932,6 +13941,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14266,7 +14279,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14276,7 +14289,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14328,7 +14341,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14417,13 +14430,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14456,7 +14469,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14464,7 +14477,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14472,7 +14485,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14480,13 +14493,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14520,20 +14533,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14883,40 +14896,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15219,7 +15232,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15469,25 +15482,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15926,64 +15945,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17740,7 +17759,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17763,67 +17782,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17832,7 +17851,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17840,7 +17859,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17848,7 +17867,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17856,7 +17875,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17865,7 +17884,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17874,14 +17893,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17889,7 +17908,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17897,7 +17916,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17953,166 +17972,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/lv.po b/src/calibre/translations/lv.po index 308cef45cc..364ac9d796 100644 --- a/src/calibre/translations/lv.po +++ b/src/calibre/translations/lv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-15 17:25+0000\n" "Last-Translator: simss <Unknown>\n" "Language-Team: Latvian <ivars_a@inbox.lv>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:01+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:25+0000\n" +"X-Generator: Launchpad (build 14450)\n" "X-Poedit-Country: LATVIA\n" "X-Poedit-Language: Latvian\n" @@ -28,8 +28,8 @@ msgstr "Pilnīgi neko nedara" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -40,8 +40,8 @@ msgstr "Pilnīgi neko nedara" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -50,8 +50,8 @@ msgstr "Pilnīgi neko nedara" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -176,7 +176,7 @@ msgstr "Pilnīgi neko nedara" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -195,7 +195,7 @@ msgstr "Pilnīgi neko nedara" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -466,7 +466,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Pievienot savas kolonnas" @@ -888,7 +888,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -900,10 +900,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Jā" @@ -932,17 +932,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Komunicē ar Android telefoniem." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1054,8 +1054,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2770,13 +2770,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2784,7 +2784,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3156,7 +3156,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3594,7 +3594,7 @@ msgstr "Priekšvārds" msgid "Main Text" msgstr "Pamatteksts" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4478,52 +4478,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Pārslēgt/izveidot bibliotēku" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4531,123 +4531,123 @@ msgstr "Pārslēgt/izveidot bibliotēku" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Jau eksistē" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4655,7 +4655,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4664,13 +4664,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4681,33 +4681,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4797,8 +4801,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5443,7 +5447,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5594,75 +5598,75 @@ msgstr "" msgid "Adding..." msgstr "Pievieno..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Pievienots" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Pievienošana neveiksmīga" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Atrasti dublikāti!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Saglabā..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Saglabāts" @@ -5792,8 +5796,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5816,6 +5820,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6346,18 +6351,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Masveida pārveidošana" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7225,7 +7234,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7650,10 +7659,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7666,68 +7675,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8015,7 +8024,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9238,7 +9247,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9578,7 +9587,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10857,43 +10866,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Darbi:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10923,7 +10932,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11110,54 +11119,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13947,6 +13956,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14281,7 +14294,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14291,7 +14304,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14343,7 +14356,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14432,13 +14445,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14471,7 +14484,7 @@ msgstr "" msgid "Price" msgstr "Cena" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14479,7 +14492,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14487,7 +14500,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14495,13 +14508,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14535,20 +14548,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "Atvērt atlasīto grāmatu sistēmas tīmekļa pārlūkā" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "Atvērt &ārējā pārlūkā" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14898,40 +14911,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15234,7 +15247,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15484,25 +15497,31 @@ msgstr "" msgid "Could not open ebook" msgstr "Nevarēja atvērt e-grāmatu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15941,64 +15960,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "jā" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "vakar" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17755,7 +17774,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17778,67 +17797,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17847,7 +17866,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17855,7 +17874,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17863,7 +17882,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17871,7 +17890,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17880,7 +17899,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17889,14 +17908,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17904,7 +17923,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17912,7 +17931,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17968,166 +17987,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/mk.po b/src/calibre/translations/mk.po index aa5b725e97..ab8b68d48d 100644 --- a/src/calibre/translations/mk.po +++ b/src/calibre/translations/mk.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-11-26 20:57+0000\n" "Last-Translator: ScHRiLL <Unknown>\n" "Language-Team: Macedonian <mk@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:02+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:25+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Неправи апсолутно ништо" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Неправи апсолутно ништо" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Неправи апсолутно ништо" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Неправи апсолутно ништо" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Неправи апсолутно ништо" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -464,7 +464,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -886,7 +886,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -898,10 +898,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -930,17 +930,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1052,8 +1052,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2768,13 +2768,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2782,7 +2782,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3154,7 +3154,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3592,7 +3592,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4468,52 +4468,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4521,123 +4521,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4645,7 +4645,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4654,13 +4654,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4671,33 +4671,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4787,8 +4791,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5433,7 +5437,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5584,75 +5588,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5782,8 +5786,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5806,6 +5810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6336,18 +6341,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7214,7 +7223,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7637,10 +7646,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7653,68 +7662,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8002,7 +8011,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9223,7 +9232,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9563,7 +9572,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10842,43 +10851,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10908,7 +10917,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11095,54 +11104,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13932,6 +13941,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14266,7 +14279,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14276,7 +14289,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14328,7 +14341,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14417,13 +14430,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14456,7 +14469,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14464,7 +14477,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14472,7 +14485,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14480,13 +14493,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14520,20 +14533,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14883,40 +14896,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15219,7 +15232,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15469,25 +15482,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15926,64 +15945,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17740,7 +17759,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17763,67 +17782,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17832,7 +17851,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17840,7 +17859,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17848,7 +17867,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17856,7 +17875,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17865,7 +17884,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17874,14 +17893,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17889,7 +17908,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17897,7 +17916,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17953,166 +17972,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/ml.po b/src/calibre/translations/ml.po index 2ac91d4d6f..27e77cf6f5 100644 --- a/src/calibre/translations/ml.po +++ b/src/calibre/translations/ml.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 17:53+0000\n" "Last-Translator: Kovid Goyal <Unknown>\n" "Language-Team: Malayalam <ml@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:02+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:26+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "ഒന്നും തന്നെ ചെയ്തില്ല" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "ഒന്നും തന്നെ ചെയ്തില്ല" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "ഒന്നും തന്നെ ചെയ്തില്ല" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "ഒന്നും തന്നെ ചെയ്തില്ല" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "ഒന്നും തന്നെ ചെയ്തില്ല" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -467,7 +467,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -892,7 +892,7 @@ msgstr "സൂചിപ്പിച്ചിട്ടുള്ള പ്ലു #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -904,10 +904,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -936,17 +936,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "ആന്‍ഡ്രോയിഡ് ഫോണുകളുമായി(Android phones) സംവതിക്കുക." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1058,8 +1058,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2775,13 +2775,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2789,7 +2789,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3165,7 +3165,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3603,7 +3603,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4479,52 +4479,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4532,123 +4532,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4656,7 +4656,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4665,13 +4665,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4682,33 +4682,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4798,8 +4802,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5444,7 +5448,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5595,75 +5599,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5793,8 +5797,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5817,6 +5821,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6347,18 +6352,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7225,7 +7234,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7648,10 +7657,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7664,68 +7673,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8013,7 +8022,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9234,7 +9243,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9574,7 +9583,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10853,43 +10862,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10919,7 +10928,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11106,54 +11115,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13943,6 +13952,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14277,7 +14290,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14287,7 +14300,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14339,7 +14352,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14428,13 +14441,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14467,7 +14480,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14475,7 +14488,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14483,7 +14496,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14491,13 +14504,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14531,20 +14544,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14894,40 +14907,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15230,7 +15243,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15480,25 +15493,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15937,64 +15956,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17751,7 +17770,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17774,67 +17793,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17843,7 +17862,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17851,7 +17870,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17859,7 +17878,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17867,7 +17886,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17876,7 +17895,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17885,14 +17904,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17900,7 +17919,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17908,7 +17927,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17964,166 +17983,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/mr.po b/src/calibre/translations/mr.po index e758626237..346cb2152e 100644 --- a/src/calibre/translations/mr.po +++ b/src/calibre/translations/mr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 16:46+0000\n" "Last-Translator: Kovid Goyal <Unknown>\n" "Language-Team: Marathi <mr@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:02+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:26+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "काहीच करत नाही" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "काहीच करत नाही" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "काहीच करत नाही" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "काहीच करत नाही" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "काहीच करत नाही" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -470,7 +470,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "तुमच्यानुसार मजकूर स्तंभ तयार करा" @@ -893,7 +893,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -905,10 +905,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "हो" @@ -937,17 +937,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1059,8 +1059,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2775,13 +2775,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2789,7 +2789,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3161,7 +3161,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "नाही" @@ -3599,7 +3599,7 @@ msgstr "लेखकाचे मनोगत" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4475,52 +4475,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "कोणतेही ग्रंथालय सापडले नाही" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4528,123 +4528,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4652,7 +4652,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4661,13 +4661,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4678,33 +4678,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "परवानगी नाही" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4794,8 +4798,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5440,7 +5444,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5591,75 +5595,75 @@ msgstr "" msgid "Adding..." msgstr "शामिल करत आहे..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "पुस्तके नाही" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "कोणतेही पुस्तक सापडले नाही" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "परवानगी नाही" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "शामिल केले" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "शामिल करत आले नाही" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5789,8 +5793,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5813,6 +5817,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6343,18 +6348,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7221,7 +7230,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7644,10 +7653,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7660,68 +7669,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "तारांकन" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "अतारांकित" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " सूची:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8009,7 +8018,7 @@ msgid "My Books" msgstr "माझी पुस्तके" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "पुस्तकसूची तयार करा" @@ -9230,7 +9239,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9570,7 +9579,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10849,43 +10858,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10915,7 +10924,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11102,54 +11111,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13939,6 +13948,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14273,7 +14286,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14283,7 +14296,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14335,7 +14348,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14424,13 +14437,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14463,7 +14476,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14471,7 +14484,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14479,7 +14492,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14487,13 +14500,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14527,20 +14540,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14890,40 +14903,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15226,7 +15239,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15476,25 +15489,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15933,64 +15952,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17747,7 +17766,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17770,67 +17789,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17839,7 +17858,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17847,7 +17866,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17855,7 +17874,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17863,7 +17882,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17872,7 +17891,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17881,14 +17900,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17896,7 +17915,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17904,7 +17923,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17960,166 +17979,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/ms.po b/src/calibre/translations/ms.po index 5abe561af2..9b4544eeb8 100644 --- a/src/calibre/translations/ms.po +++ b/src/calibre/translations/ms.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 17:48+0000\n" "Last-Translator: esaismail@gmail.com <Unknown>\n" "Language-Team: Malay <ms@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:03+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:26+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Langsung tidak melakukan apa-apa" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Langsung tidak melakukan apa-apa" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Langsung tidak melakukan apa-apa" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Langsung tidak melakukan apa-apa" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Langsung tidak melakukan apa-apa" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -467,7 +467,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -893,7 +893,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -905,10 +905,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -937,17 +937,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1059,8 +1059,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2775,13 +2775,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2789,7 +2789,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3164,7 +3164,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3602,7 +3602,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4478,52 +4478,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4531,123 +4531,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4655,7 +4655,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4664,13 +4664,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4681,33 +4681,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4797,8 +4801,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5443,7 +5447,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5594,75 +5598,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5792,8 +5796,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5816,6 +5820,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6346,18 +6351,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7224,7 +7233,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7647,10 +7656,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7663,68 +7672,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8012,7 +8021,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9233,7 +9242,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9573,7 +9582,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10852,43 +10861,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10918,7 +10927,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11105,54 +11114,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13942,6 +13951,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14276,7 +14289,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14286,7 +14299,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14338,7 +14351,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14427,13 +14440,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14466,7 +14479,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14474,7 +14487,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14482,7 +14495,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14490,13 +14503,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14530,20 +14543,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14893,40 +14906,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15229,7 +15242,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15479,25 +15492,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15936,64 +15955,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17750,7 +17769,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17773,67 +17792,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17842,7 +17861,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17850,7 +17869,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17858,7 +17877,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17866,7 +17885,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17875,7 +17894,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17884,14 +17903,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17899,7 +17918,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17907,7 +17926,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17963,166 +17982,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/nb.po b/src/calibre/translations/nb.po index c94d09ad8c..07d9f5f574 100644 --- a/src/calibre/translations/nb.po +++ b/src/calibre/translations/nb.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 17:26+0000\n" "Last-Translator: Kovid Goyal <Unknown>\n" "Language-Team: Norwegian Bokmal <nb@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:03+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:27+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Gjør absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Gjør absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Gjør absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Gjør absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Gjør absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -475,7 +475,7 @@ msgid "Change the way calibre behaves" msgstr "Endrer måten calibre oppfører seg" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Legg til dine egne kolonner" @@ -933,7 +933,7 @@ msgstr "Slå av navngitte programtillegg" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -945,10 +945,10 @@ msgstr "Stien til biblioteket er for lang. Den må ha færre enn %d tegn." #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Ja" @@ -977,7 +977,7 @@ msgstr "Feilsøkingslogg" msgid "Communicate with Android phones." msgstr "Kommuniser med Android-telefoner." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -985,11 +985,11 @@ msgstr "" "Komma-delt liste av foldere som av e-bøker som sendes til enheten. Den " "første som eksisterer vil bli benyttet" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Kommuniser med S60 telefoner." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1108,8 +1108,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -3090,14 +3090,14 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "for ei fullstending liste med beskrivelser." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" "Omgå lenker for HTML filer i bredden først. Normalt omgåes de først i dybden." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3108,7 +3108,7 @@ msgstr "" "ikkenegative. 0 tilsier at ingen lenker i HTML filens rot blir fulgt. " "Standard er %default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3518,7 +3518,7 @@ msgstr "FEIL I MALEN" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "Nei" @@ -3979,7 +3979,7 @@ msgstr "Forord" msgid "Main Text" msgstr "Hovedtekst" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "%s formaterte bøker er ikke støttet" @@ -4989,52 +4989,52 @@ msgstr "Eksporter katalogdirektorat" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "Kunne ikke finne bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Velg calibre-bibliotek for videre arbeid" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Bytt/opprett bibliotek..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -5042,82 +5042,82 @@ msgstr "Bytt/opprett bibliotek..." msgid "%d books" msgstr "%d bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Hurtigbytte" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Endre navn på bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "Velg en tilfeldig bok" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Vedlikehold av bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "Sikkerhetskopistatus for metadata i biblioteket" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "Start sikkerhetskopiering av metadata for alle bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Undersøk biblioteket" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "Gjennopprett database" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Endre navn" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "Velg et nytt navn for biblioteket <b>%s</b>. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "Merk deg at den aktuelle bibliotekforlderen vil få nytt navn." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Eksisterer allerede" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "Folderen %s finnes fra før. Slett denne først." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Navneendring feilet" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " @@ -5126,35 +5126,35 @@ msgstr "" "Kunne ikke gi nytt navn til biblioteket på %s. Den vanligste årsaken for " "dette er hvis en av filene i biblioteket er åpnet i et annet program." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "ingen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "Sikkerhetskopieringsstatus" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "Metadatafiler for bøker som gjenstår å skrives: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "Sikkerhetskopier metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." @@ -5162,7 +5162,7 @@ msgstr "" "Metadata vil bli sikkerhetskopiert mens calibre kjører, i en rate av ca 1 " "bok hvert tredje sekund." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -5170,7 +5170,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -5179,7 +5179,7 @@ msgstr "" msgid "Success" msgstr "Vellykket" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" @@ -5188,7 +5188,7 @@ msgstr "" "det finnes filer i biblioteket ditt som samsvarer med informasjonen i " "databasen?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -5199,29 +5199,33 @@ msgstr "" msgid "Failed" msgstr "Mislykket" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" "Sjekk av Integriteten av databasen slo feil. Klikk Vis detaljer for å se " "detaljene." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "Ingen problemer ble funnet" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "Filene i biblioteket ditt samsvarer med informasjonen i databasen." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Ikke tillatt" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5229,7 +5233,7 @@ msgstr "" "Du kan ikke endre biblioteket når du bruker miljøet varierende " "CALIBRE_OVERRIDE_DATABASE_PATH." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "Du kan ikke bytte bibliotek når en arbeidssessjon pågår." @@ -5321,8 +5325,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5991,7 +5995,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -6148,47 +6152,47 @@ msgstr "Søker i" msgid "Adding..." msgstr "Legger til..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Søker i alle undermapper..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Feil i stien" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "Den spesifiserte mappen kunne ikke prosesseres" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Ingen bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Ingen bøker ble funnet" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "Ingen tilatelse" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Lagt til" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Kunne ikke legge til" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -6196,11 +6200,11 @@ msgstr "" "Legg til bøker prosessen ser ut til å være låst. Forsøk å re-starte calibre " "og legg til færre bøker av gangen, til du finner problemboka." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Duplikater funnet!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" @@ -6208,19 +6212,19 @@ msgstr "" "Bøker med den samme tittelen som den følgende finnes allerede i databasen. " "Legg dem til allikevel?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Legger inn duplikater..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Lagrer" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Lagret" @@ -6360,8 +6364,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6388,6 +6392,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6930,7 +6935,7 @@ msgstr "Vanlig visning" msgid "HTML Source" msgstr "HTML kilde" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " @@ -6940,11 +6945,15 @@ msgstr "" "verdiene som er lagret i en tidligere konvertering (om de finnes) i stedet " "for å benytte standardspesifikasjonen under innstillinger." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Samlet konvertering" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Valg spesifikt til utdataformatet." @@ -7833,7 +7842,7 @@ msgstr "Forekomster" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -8266,10 +8275,10 @@ msgstr "Omslagssøker kunne ikke starte" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -8282,32 +8291,32 @@ msgid "Undefined" msgstr "Ikke definert" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "Stjerne(r)" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Ikke rangert" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "Setter '%s' til i dag" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " indeks:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" @@ -8315,23 +8324,23 @@ msgstr "" "Opplistingen \"{0}\" inneholder en avslått verdi som vil bli satt som " "standard" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "Fjern serier" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "Nummerer bøker automatisk" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "Tving tall til å starte med " -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" @@ -8339,15 +8348,15 @@ msgstr "" "Opplistingen \"{0}\" inneholder en avslått verdi som ikke vil bli å finne i " "listen" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Fjerne alle emneord" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "emneord som skal legges til" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "emneord som skal fjernes" @@ -8650,7 +8659,7 @@ msgid "My Books" msgstr "Mine bøker" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Produser katalog" @@ -9945,7 +9954,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -10288,7 +10297,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -11605,43 +11614,43 @@ msgstr "" msgid "Unavailable" msgstr "Ikke tilgjengelig" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Oppgaver:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "Klikk for å se en liste over oppgaver" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - Oppgave" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -11671,7 +11680,7 @@ msgstr "&Snarvei:" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11860,54 +11869,54 @@ msgstr "Merket for sletting" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Dobbelklikk til <b>rediger</b> me<br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "Skjul kolonne %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "Sorter blant %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "Stigende" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "Synkende" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "Forandre tekstjustering for %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "Venstre" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "Høyre" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "Senter" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "Vis kolonne" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "Gjenopprett standard visning" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14838,6 +14847,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "Bytt mellom bibliotek og enhetsvisning" @@ -15175,7 +15188,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -15185,7 +15198,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -15237,7 +15250,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -15326,13 +15339,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -15365,7 +15378,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -15373,7 +15386,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -15381,7 +15394,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -15389,13 +15402,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -15429,20 +15442,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -15795,40 +15808,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "Kunne ikke konvertere enkelte av bøkene" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "Kø bøker for samlet konvertering" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "Kø " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Skaff nyheter fra " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "Konverter eksisterende" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -16146,7 +16159,7 @@ msgid "Options to customize the ebook viewer" msgstr "Valgmuligheter for å egendefinere e-bokleseren" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "Husk sist brukte vindustørrelse" @@ -16402,28 +16415,34 @@ msgstr "Laster e-bok..." msgid "Could not open ebook" msgstr "Kunne ikke åpne e-boken" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Valgmuligheter for å kontrollere e-bokleseren" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Om spesifisert, vil leservinduet forsøke å legge seg foran når den starter." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Om spesifisert vil visningsvinduet forsøke å åpne fullskjermsvisning når den " "starter." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "Skriv ut javascriptadvarsel og konsollmeldinger til konsollen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -16899,64 +16918,64 @@ msgstr "" "din iPhone. Her skal myhostname være fullt kvalifisert vertsnavn eller IP-" "adressen til datamaskinen Calibre kjører på." -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "merket" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "ja" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "nei" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "ikke merket" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "i dag" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "i går" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "Denne måneden" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "dager siden" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "tom" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "tom" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -18963,7 +18982,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -18986,67 +19005,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -19055,7 +19074,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -19063,7 +19082,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -19071,7 +19090,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -19079,7 +19098,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -19088,7 +19107,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -19097,14 +19116,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -19112,7 +19131,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -19120,7 +19139,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -19176,166 +19195,174 @@ msgid "English (Australia)" msgstr "Engelsk (Australia)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +msgid "English (Bulgaria)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "Engelsk (New Zealand)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "Engelsk (Kanada)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "Engelsk (India)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "Engelsk (Thailand)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "Engelsk (Kypros)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "Engelsk (Pakistan)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "Engelsk (Israelsk)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "Engelsk (Singapor)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "Engels (Yemen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "Engelsk (Irsk)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "Engelsk (Kina)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "Spansk (Paraguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "Tysk (AT)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "Fransk (BE)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "Hollansk (NL)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "Hollansk (BE)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/nds.po b/src/calibre/translations/nds.po index 643ed9ffff..fe0d09227a 100644 --- a/src/calibre/translations/nds.po +++ b/src/calibre/translations/nds.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: nds\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 16:06+0000\n" "Last-Translator: Kovid Goyal <Unknown>\n" "Language-Team: German\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:03+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:26+0000\n" +"X-Generator: Launchpad (build 14450)\n" "X-Poedit-Country: GERMANY\n" "X-Poedit-Language: German\n" "Generated-By: pygettext.py 1.5\n" @@ -29,8 +29,8 @@ msgstr "Mach absolut garnichts" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -41,8 +41,8 @@ msgstr "Mach absolut garnichts" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -51,8 +51,8 @@ msgstr "Mach absolut garnichts" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -177,7 +177,7 @@ msgstr "Mach absolut garnichts" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -196,7 +196,7 @@ msgstr "Mach absolut garnichts" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -470,7 +470,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -917,7 +917,7 @@ msgstr "Gewähltes Plugin ausschalten" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -929,10 +929,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -961,7 +961,7 @@ msgstr "" msgid "Communicate with Android phones." msgstr "Kommunikation mit Android Telefonen." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -969,11 +969,11 @@ msgstr "" "Durch Kommata getrennte Liste von Verzeichnissen an die eBooks auf das Gerät " "gesendet werden. Das erste vorhandene wird benutzt" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1085,8 +1085,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2966,7 +2966,7 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." @@ -2974,7 +2974,7 @@ msgstr "" "Links in HTML Dateien in der Breite durchlaufen. Normalerweise werden Links " "in die Tiefe durchlaufen." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2985,7 +2985,7 @@ msgstr "" "Darf nicht negativ sein. 0 gibt an, dass keine Links in der ursprünglichen " "HTML Datei verfolgt werden. Voreinstellung ist %default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3398,7 +3398,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3850,7 +3850,7 @@ msgstr "Vorwort" msgid "Main Text" msgstr "Haupttext" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "Bücher im %s Format werden nicht unterstützt" @@ -4821,52 +4821,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4874,123 +4874,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Gibts hier schon" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "kein" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4998,7 +4998,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -5007,13 +5007,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -5024,33 +5024,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Das ist nicht gestattet" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -5140,8 +5144,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5788,7 +5792,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5943,47 +5947,47 @@ msgstr "Suche in" msgid "Adding..." msgstr "Füge hinzu..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Suche in allen Unterverzeichnissen..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Verzeichnis Fehler" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "Das angegebene Verzeichnis konnte nicht bearbeitet werden." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Keine Bücher" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Keine Bücher gefunden" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "Zugriff verweigert" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Hinzugefügt" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Hinzufügen schlug fehl" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -5992,11 +5996,11 @@ msgstr "" "Versuchen Sie Calibre neu zu starten und fügen Sie die Bücher in kleineren " "Mengen hinzu, bis Sie das verantwortliche Buch finden." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Duplikate gefunden!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" @@ -6004,19 +6008,19 @@ msgstr "" "Es gibt schon Bücher mit dem selben Titel wie die folgenden in der " "Datenbank. Trotzdem hinzufügen?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Füge Duplikate hinzu..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Speichere..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Gespeichert" @@ -6146,8 +6150,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6170,6 +6174,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6700,18 +6705,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Auf einmal konvertieren" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Einstellungen für das Ausgabeformat." @@ -7598,7 +7607,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -8032,10 +8041,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -8048,68 +8057,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8405,7 +8414,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9631,7 +9640,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9971,7 +9980,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -11278,43 +11287,43 @@ msgstr "" msgid "Unavailable" msgstr "Nicht verfügbar" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Aufträge:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - Aufträge" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -11344,7 +11353,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11534,54 +11543,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Doppelklick ermöglicht <b>Bearbeitung</b><br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14411,6 +14420,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14745,7 +14758,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14755,7 +14768,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14807,7 +14820,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14896,13 +14909,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14935,7 +14948,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14943,7 +14956,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14951,7 +14964,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14959,13 +14972,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14999,20 +15012,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -15362,40 +15375,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "Konnte einige Bücher nicht konvertieren" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "Bücher sammeln und zusammen konvertieren" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "Sammle " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Nachrichten abrufen von " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "Konvertiere bestehende" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15709,7 +15722,7 @@ msgid "Options to customize the ebook viewer" msgstr "Einstellungen zum Anpassen des eBook Viewers" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "Zuletzt verwendete Fenstergröße merken" @@ -15963,27 +15976,33 @@ msgstr "Lade eBook..." msgid "Could not open ebook" msgstr "Konnte eBook nicht öffnen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Einstellungen zur Kontrolle des eBook Viewers" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Falls angegeben, dann wird das Viewer Fenster beim Start im Vordergrund " "angezeigt." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "Javascript Alarme und Konsolennachrichten auf der Konsole ausgeben" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -16457,64 +16476,64 @@ msgstr "" "vollständige Servername oder die IP Adresse des Rechners sein, auf dem " "Calibre läuft." -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -18370,7 +18389,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -18393,67 +18412,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -18462,7 +18481,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -18470,7 +18489,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -18478,7 +18497,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -18486,7 +18505,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -18495,7 +18514,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -18504,14 +18523,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -18519,7 +18538,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -18527,7 +18546,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -18583,166 +18602,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/nl.po b/src/calibre/translations/nl.po index dd091d940a..b80e3cf356 100644 --- a/src/calibre/translations/nl.po +++ b/src/calibre/translations/nl.po @@ -56,16 +56,16 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" -"PO-Revision-Date: 2011-11-26 16:59+0000\n" -"Last-Translator: drMerry <Unknown>\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" +"PO-Revision-Date: 2011-12-11 09:30+0000\n" +"Last-Translator: Redmar <redmar@ubuntu-nl.org>\n" "Language-Team: Dutch <ubuntu-l10n-nl@lists.ubuntu.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:56+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-12 05:16+0000\n" +"X-Generator: Launchpad (build 14458)\n" "X-Poedit-Country: NETHERLANDS\n" "X-Poedit-Language: Dutch\n" @@ -84,8 +84,8 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -96,8 +96,8 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -106,8 +106,8 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -232,7 +232,7 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -251,7 +251,7 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -529,7 +529,7 @@ msgid "Change the way calibre behaves" msgstr "Wijzig het gedrag van calibre" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Voeg eigen kolommen toe" @@ -989,7 +989,7 @@ msgstr "Deactiveer de genoemde plug-in" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -1001,10 +1001,10 @@ msgstr "Pad naar bibliotheek is te lang. Moet minder dan %d tekens zijn." #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Ja" @@ -1033,7 +1033,7 @@ msgstr "Debuglog" msgid "Communicate with Android phones." msgstr "Communiceer met Android telefoons." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -1041,11 +1041,11 @@ msgstr "" "Door komma's gescheiden lijst van mappen op het apparaat om e-books naartoe " "te sturen. De eerst bestaande map zal gebruikt worden" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Communiceer met S60 telefoons." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "Communiceer met WebOS tablets." @@ -1182,8 +1182,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -1332,7 +1332,7 @@ msgstr "Kovid Goyal" #: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:36 msgid "Communicate with the Blackberry playbook." -msgstr "" +msgstr "Communicatie met de Blackberry playbook." #: /home/kovid/work/calibre/src/calibre/devices/boeye/driver.py:14 msgid "Communicate with BOEYE BEX Serial eBook readers." @@ -3279,7 +3279,7 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "voor een volledige lijst met beschrijvingen." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." @@ -3287,7 +3287,7 @@ msgstr "" "Volg links in HTML-bestanden eerst in de breedte. Normaal gesproken zullen " "ze eerst in de diepte worden gevolgd." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3298,7 +3298,7 @@ msgstr "" "negatief zijn. 0 geeft aan dat geen links in het hoofd-HTML-bestand zijn " "gevolgd. Standaard is %default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3730,7 +3730,7 @@ msgstr "SJABLOONFOUT" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "Nee" @@ -4232,7 +4232,7 @@ msgstr "Voorwoord" msgid "Main Text" msgstr "Hoofdtekst" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "boeken in %s-formaat worden niet ondersteund" @@ -4878,7 +4878,7 @@ msgstr "Opties voor LRF-ebookweergave" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:136 msgid "Formats that are viewed using the internal viewer" -msgstr "Formaten die met de interne viewer worden bekeken" +msgstr "Formaten die met het interne-leesvenster worden bekeken" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:138 msgid "Columns to be displayed in the book list" @@ -5272,12 +5272,12 @@ msgstr "Catalogusmap exporteren" msgid "Select destination for %(title)s.%(fmt)s" msgstr "Selecteer een bestemming voor %(title)s.%(fmt)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "Geen bibliotheek gevonden" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " @@ -5287,40 +5287,40 @@ msgstr "" "is verplaatst, geef dan hieronder de nieuwe locatie op. Anders zal calibre " "de bibliotheek vergeten." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "Niewe locatie van deze bibliotheek:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "Bibliotheek verplaatst" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "Vergeet bibliotheek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "NIeuwe locatie bibliotheek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "Geen bestaande calibre bibliotheek gevonden op %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "Bibliotheek kiezen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Kies een calibre-bibliotheek om mee te werken" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Verwissel/maak bibliotheek…" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -5328,83 +5328,83 @@ msgstr "Verwissel/maak bibliotheek…" msgid "%d books" msgstr "%d boeken" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Snel schakelen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Bibliotheek hernoemen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "Verwijder bibliotheek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "Kies een willekeurig boek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Bibliotheek onderhoud" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "Backupstatus van metadata van bibliotheek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "Backup van metadata van alle boeken starten" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Bibliotheek controleren" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "Database terugzetten" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Hernoemen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "Kies een nieuwe naam voor bibliotheek <b>%s</b>. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" "Let erop dat de daadwerkelijke map van de bibliotheek hernoemd zal worden." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Bestaat al" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "De map %s bestaat al. Verwijder deze eerst." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "Te lang" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Hernoemen mislukt" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " @@ -5414,11 +5414,11 @@ msgstr "" "oorzaak hiervan is dat een van de bestanden in de bibliotheek door een ander " "programma in gebruik is." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "Bibliotheek verwijderd" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " @@ -5427,24 +5427,24 @@ msgstr "" "De bibliotheek %s is verwijderd van calibre. De bestanden blijven op uw " "computer. Als u ze wilt verwijderen, dient u dat handmatig te doen." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "geen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "Backupstatus" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "Metadatabestanden die nog geschreven moeten worden: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "Backup metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." @@ -5452,7 +5452,7 @@ msgstr "" "Er kan een backup van metadata gemaakt worden terwijl calibre actief is, met " "een snelheid van ongeveer één boek per drie seconden." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -5464,7 +5464,7 @@ msgstr "" "Windows Exploreren, geef de nieuwe locatie op in calibre en probeer het " "nogmaals." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -5473,7 +5473,7 @@ msgstr "" msgid "Success" msgstr "Gelukt" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" @@ -5482,7 +5482,7 @@ msgstr "" "controleren of de bestanden in de bibliotheek overeenkomen met informatie in " "de database?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -5493,29 +5493,33 @@ msgstr "" msgid "Failed" msgstr "Mislukt" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" "Controle database-integriteit mislukt. Klik op ‘Details tonen’ voor details." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "Bibliotheek aan het scannen, dit kan even duren" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "Geen fouten gevonden" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" "De bestanden in de bibliotheek komen overeen met de database-informatie." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Niet toegestaan" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5523,7 +5527,7 @@ msgstr "" "Het is niet mogelijk van bibliotheek te veranderen wanneer de " "omgevingsvariabele CALIBRE_OVERRIDE_DATABASE_PATH in gebruik is." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" "U kunt niet van bibliotheek wisselen wanneer taken uitgevoerd worden." @@ -5616,8 +5620,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -6317,7 +6321,7 @@ msgid "Search for this %s" msgstr "Zoek naar deze %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "Winkels" @@ -6485,33 +6489,33 @@ msgstr "Zoeken in" msgid "Adding..." msgstr "Toevoegen…" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Zoeken in alle deelmappen…" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Padfout" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "De geselecteerde map kan niet worden bewerkt." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Geen boeken" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Geen boeken gevonden" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "Geen toestemming" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." @@ -6519,15 +6523,15 @@ msgstr "" "Kan sommige bestanden niet toevoegen, omdat u geen rechten heeft om deze te " "lezen. Klik op ‘Details tonen’ om een lijst van deze bestanden te zien." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Toegevoegd" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Toevoegen mislukt" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -6536,11 +6540,11 @@ msgstr "" "opnieuw op te starten, en voeg daarna boeken een voor een toe, totdat u het " "verantwoordelijke boek hebt gevonden." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Duplicaten gevonden!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" @@ -6548,19 +6552,19 @@ msgstr "" "Boeken met dezelfde titel als de volgende bestaan al in de database. " "Nogmaals toevoegen?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Duplicaten toevoegen…" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Opslaan…" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "Data verzamelen, een moment geduld a.u.b. ..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Opgeslagen" @@ -6700,8 +6704,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6727,6 +6731,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "Doneren" @@ -7276,7 +7281,7 @@ msgstr "Normale weergave" msgid "HTML Source" msgstr "HTML-broncode" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " @@ -7285,11 +7290,16 @@ msgstr "" "Gebruik de waarden die opgeslagen zijn tijdens een eerdere conversie (indien " "deze bestaan) in plaats van de standaardwaarden uit Voorkeuren" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" +"Geen van de geselecteerde boeken hebben bijbehorende conversie-instellingen" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Massaconversie" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Opties specifiek voor het uitvoerformaat." @@ -8210,7 +8220,7 @@ msgstr "Gevonden plaatsen:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -8661,10 +8671,10 @@ msgstr "Kan de omslagbrowser niet laden" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -8677,32 +8687,32 @@ msgid "Undefined" msgstr "Niet gedefiniëerd" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "sterren" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Niet gewaardeerd" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "‘%s’ instellen op vandaag" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "‘%s’ wissen" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " index:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" @@ -8710,23 +8720,23 @@ msgstr "" "Nummerveld ‘{0}’ bevat een ongeldige waarde, die door de standaardwaarde " "vervangen zal worden" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "Wijzigingen toepassen" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "Verwijder reeks" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "Boeken automatisch nummeren" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "Laat de nummering beginnen met " -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" @@ -8734,15 +8744,15 @@ msgstr "" "Nummerveld ‘{0}’ bevat ongeldige waarden die niet in de lijst worden " "opgenomen" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Verwijder alle labels" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "toe te voegen labels" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "te verwijderen labels" @@ -9052,7 +9062,7 @@ msgid "My Books" msgstr "Mijn boeken" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Catalogus aanmaken" @@ -10463,7 +10473,7 @@ msgstr "Versie geschiedenis voor %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "Alle" @@ -10821,7 +10831,7 @@ msgstr "Onderdelen" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -12219,43 +12229,43 @@ msgstr "" msgid "Unavailable" msgstr "Niet beschikbaar" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Taken:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "Klik om een takenlijst te zien" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - Taken" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "Zoek een taak op naam" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 msgid "No job" msgstr "Geen taak" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "Geen taak geselecteerd" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "Weet u zeker dat u de geselecteerde taak wilt stoppen?" msgstr[1] "Weet u zeker dat u de geselecteerde taken wilt stoppen?" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "Wilt u echt alle niet-apparaatgebonden taken stoppen?" @@ -12285,7 +12295,7 @@ msgstr "&Sneltoets:" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -12477,54 +12487,54 @@ msgstr "Geselecteerd om te verwijderen" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Dubbelklik om me te <b>wijzigen</b><br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "Kolom %s verbergen" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "Op %s sorteren" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "Oplopend" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "Aflopend" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "Verander de uitlijning van de tekst voor %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "Links" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "Rechts" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "Midden" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "Kolom weergeven" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "Kolom verkleinen indien deze te breed is voor weergave" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "Standaardlayout herstellen" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -15761,6 +15771,10 @@ msgstr "C&reëer" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "&Programmacode: (zorg dat u de identatie-regels van python gebruikt)" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "Locatiebeheer" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "Schakel om tussen bibliotheek- en apparaatmodus" @@ -16113,7 +16127,7 @@ msgid "Nam&e/Description ..." msgstr "Naam/&omschrijving…" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "Zoekopdracht:" @@ -16123,7 +16137,7 @@ msgid "Enable" msgstr "Inschakelen" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "Omkeren" @@ -16184,7 +16198,7 @@ msgstr "" "winkel zich enkel op deze markt richt." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -16275,13 +16289,13 @@ msgid "Search:" msgstr "Zoeken:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "Boeken:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -16314,7 +16328,7 @@ msgstr "Downloaden" msgid "Price" msgstr "Prijs" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -16324,7 +16338,7 @@ msgstr "" "De gevonden prijs is %s. Controleer dit in de winkel voordat u het boek " "koopt. Deze prijs is vaak exclusief acties die de winkel mogelijk heeft." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -16336,7 +16350,7 @@ msgstr "" "handelingen die u met dit boek mag uitvoeren. Controleer in de winkel voor u " "tot aanschaf overgaat of u dit boek kunt lezen." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -16350,7 +16364,7 @@ msgstr "" "DRM-status door de winkel niet weergegeven op een manier die calibre kan " "herkennen." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." @@ -16358,7 +16372,7 @@ msgstr "" "De DRM-status van dit boek kan niet gedetecteerd worden. Er is een zeer " "grote kans dat dit boek een DRM-beperking heeft." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "De volgende formaten kunnen direct gedownload worden: %s." @@ -16394,20 +16408,20 @@ msgstr "Er zijn geen boeken gevonden die met uw zoekterm overeenkomen." msgid "Choose format to download to your library." msgstr "Kies het formaat dat u naar uw bibliotheek wilt downloaden." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "Boeken verkrijgen" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "Een geselecteerd boek in de standaard webbrowser openen" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "In &externe browser openen" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "Niet beschikbaar" @@ -16782,12 +16796,12 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "Boek %(num)d van %(total)d (%(title)s) converteren" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "Sommige boeken kunnen niet geconverteerd worden" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " @@ -16796,28 +16810,28 @@ msgstr "" "Converteren mislukt voor %(num)d van %(tot)d boeken, omdat er geen geschikt " "bronformaat werd gevonden." -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "Boeken in de wachtrij voor massaconversie" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "In wachtrij " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "Boek %(num)d van %(tot)d (%(title)s) converteren" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Download nieuws van " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "Converteer bestaande" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -17142,7 +17156,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opties om het e-book leesvenster aan te passen" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "De laatstgebruikte venstergrootte onthouden" @@ -17402,29 +17416,37 @@ msgstr "E-book laden…" msgid "Could not open ebook" msgstr "Kan e-book niet openen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Opties voor de e-book leesvenster" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Indien gespecificeerd, zal het leesvenster proberen naar voren te komen na " "het opstarten." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Als dit is opgegeven zal het leesvenster proberen om in volledig scherm te " "starten." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "Print javascript waarschuwingen en console berichten op de console" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" +"De positie waarop het geselecteerde boek geopend moet worden. De positie is " +"een locatie zoals weergeven in de linker bovenhoek van het leesvenster." + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -17925,64 +17947,64 @@ msgstr "" "voor de Stanza-reader op uw iPhone. Voor mijnhostnaam, dient u de volledig " "hostnaam of het IP-adres van de computer waar calibre op draait te gebruiken." -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "aangevinkt" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "ja" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "nee" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "niet aangevinkt" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "vandaag" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "gisteren" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "dezemaand" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "dagengeleden" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "blanco" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "leeg" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "Foutieve boolean opdracht \"{0}\"" @@ -18601,6 +18623,12 @@ msgid "" "in the range is not\n" "included).\n" msgstr "" +"%prog verwijder ID's\n" +"\n" +"Verwijder de boek indentificatioren van de database. ID's is een komma-" +"gescheiden lijst van ID nummers (u kan ID nummers verkrijgen door het list " +"commando te gebruiken). Bijvoorbeeld: 23,34,57-85 (bij opgave van een reeks, " +"wordt het laatste nummer niet opgenomen).\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:355 msgid "You must specify at least one book to remove" @@ -20267,7 +20295,7 @@ msgstr "" "Bij een#genre-waarde van \"A.B.C, D.E.F\", {#genre:subitems(0,1)} geeft \"A, " "D\". {#genre:subitems(0,2)} geeft \"A.B, D.E\"" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -20310,31 +20338,31 @@ msgstr "" "door de locale string voor AM of PM iso : de datum met tijd en tijdzone. " "Kan alleen los van de rest gebruikt worden" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "uppercase(waarde) -- geeft waarde van het veld terug in hoofdletters" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" "lowercase(waarde) -- geeft waarde van het veld terug in kleine letters" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" "titlecase(waarde) -- geeft de waarde van het veld terug in (Engelstalige) " "title-case (Elke Woord Met Hoofdletter)" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" "capitalize(waarde) -- geeft de waarde van het veld terug in hoofdletters" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "booksize() -- geeft waarde van het veld grootte terug" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" @@ -20342,7 +20370,7 @@ msgstr "" "ondevice() -- geef Yes terug als ondevice is ingesteld, anders wordt een " "lege string geretourneerd" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" @@ -20350,7 +20378,7 @@ msgstr "" "has_cover() -- geeft Yes terug als het boek een omslag heeft, anders wordt " "een lege string terug gegeven" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " @@ -20360,7 +20388,7 @@ msgstr "" "niet leeg is. Als alle waarden leeg zijn, zal een lege waarde worden " "teruggegeven. U kunt een onbeperkt aantal waarden opgeven." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " @@ -20371,7 +20399,7 @@ msgstr "" "werkt goed met test of first_non_empty. U kunt een onbeperkt aantal waarden " "opgeven." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " @@ -20382,7 +20410,7 @@ msgstr "" "Deze functie werkt goed met test of first_non_empty. U kunt een onbeperkt " "aantal waarden opgeven." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " @@ -20392,7 +20420,7 @@ msgstr "" "wordt een lege string terug gegeven. Deze functie werkt goed met test of " "first_non_empty. U kunt een onbeperkt aantal waarden opgeven." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -20407,7 +20435,7 @@ msgstr "" "lijst2 worden gescheiden door scheiding, zo ook de items in de teruggegeven " "lijst." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -20419,7 +20447,7 @@ msgstr "" "hoofdlettergevoelig wordt vergeleken. De items in lijst1 en lijst2 worden " "gescheiden door scheiding, zo ook de items in de teruggegeven lijst." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -20432,7 +20460,7 @@ msgstr "" "lijst2 worden gescheiden door scheiding, zo ook de items in de teruggegeven " "lijst." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -20444,7 +20472,7 @@ msgstr "" "gesorteerd, anders aflopend. De items in lijst worden gescheiden door " "scheiding, zo ook de items in de teruggegeven lijst." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -20459,7 +20487,7 @@ msgstr "" "gebruiken (scheiding1 of scheiding2). De volgorde van items in de lijst is " "niet relevant. De vergelijking is ongevoelig voor hoofd- en kleine letters." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -20474,7 +20502,7 @@ msgstr "" "te geven lijst. Als opt_vervang geen lege string is, wordt deze vervanging " "toegepast voor het item wordt toegevoegd aan de teruggegeven lijst." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " @@ -20484,7 +20512,7 @@ msgstr "" "gebruik in de format_date of days_between, maar kan worden aangepast in " "iedere andere string. De datum is in ISO-formaat." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -20496,7 +20524,7 @@ msgstr "" "negatief. Als ofwel datum1 ofwel datum2 geen datum is, wordt een lege string " "terug gegeven." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -20508,7 +20536,7 @@ msgstr "" "Engels terug gegeven. Als de vertaling niet nul is, geef de strings terug in " "de huidige vertaling. Lang_codes is een kommagescheiden lijst." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -20567,166 +20595,174 @@ msgid "English (Australia)" msgstr "Engels (Australië)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 +msgid "English (Japan)" +msgstr "Engels (Japan)" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "Engels (Duitsland)" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 msgid "English (Bulgaria)" msgstr "Engels (Bulgarije)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "Engels (Nieuw Zeeland)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "Engels (Canada)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "Engels (Griekenland)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "Engels (India)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "Engels (Nepal)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "Engels (Thailand)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "Engels (Turkije)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "Engels (Cyprus)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "Engels (Tsjechische Republiek)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "Engels (Pakistan)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "Engels (Kroatië)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "Engels (Indonesië)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "Engels (Israël)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "Engels (Rusland)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "Engels (Singapore)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "Engels (Jemen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "Engels (Ierland)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "Engels (China)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "Engels (Zuid-Afrika)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "Spaans (Paraguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "Spaans (Uruguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "Spaans (Argentinië)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "Spaans (Mexico)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "Spaans (Cuba)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "Spaans (Chili)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "Spaans (Ecuador)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "Spaans (Honduras)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "Spaans (Venezuela)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "Spaans (Bolivië)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "Spaans (Nicaragua)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "Spaans (Colombia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "Duits (AT)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "Frans (BE)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "Nederlands (NL)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "Nederlands (BE)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "AM" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "PM" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "am" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "pm" diff --git a/src/calibre/translations/oc.po b/src/calibre/translations/oc.po index cd68ae420b..3454331f0c 100644 --- a/src/calibre/translations/oc.po +++ b/src/calibre/translations/oc.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 16:08+0000\n" "Last-Translator: Cédric VALMARY (Tot en òc) <cvalmary@yahoo.fr>\n" "Language-Team: Occitan (post 1500) <oc@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:03+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:27+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Fa estrictament pas res" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Fa estrictament pas res" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Fa estrictament pas res" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Fa estrictament pas res" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Fa estrictament pas res" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -464,7 +464,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -886,7 +886,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -898,10 +898,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -930,17 +930,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1052,8 +1052,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2768,13 +2768,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2782,7 +2782,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3154,7 +3154,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3592,7 +3592,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4468,52 +4468,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4521,123 +4521,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4645,7 +4645,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4654,13 +4654,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4671,33 +4671,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4787,8 +4791,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5433,7 +5437,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5584,75 +5588,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5782,8 +5786,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5806,6 +5810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6336,18 +6341,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7214,7 +7223,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7637,10 +7646,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7653,68 +7662,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8002,7 +8011,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9223,7 +9232,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9563,7 +9572,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10842,43 +10851,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10908,7 +10917,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11095,54 +11104,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13932,6 +13941,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14266,7 +14279,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14276,7 +14289,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14328,7 +14341,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14417,13 +14430,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14456,7 +14469,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14464,7 +14477,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14472,7 +14485,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14480,13 +14493,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14520,20 +14533,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14883,40 +14896,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15219,7 +15232,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15469,25 +15482,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15926,64 +15945,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17740,7 +17759,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17763,67 +17782,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17832,7 +17851,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17840,7 +17859,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17848,7 +17867,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17856,7 +17875,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17865,7 +17884,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17874,14 +17893,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17889,7 +17908,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17897,7 +17916,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17953,166 +17972,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/pa.po b/src/calibre/translations/pa.po index 54c64c4140..e6dab44e60 100644 --- a/src/calibre/translations/pa.po +++ b/src/calibre/translations/pa.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 16:48+0000\n" "Last-Translator: Kovid Goyal <Unknown>\n" "Language-Team: Punjabi <pa@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:04+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:27+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -464,7 +464,7 @@ msgid "Change the way calibre behaves" msgstr "Calibre ਦੇ ਵਿਵਹਾਰ ਨੂੰ ਬਦਲੋ" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -893,7 +893,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -905,10 +905,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -937,17 +937,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1059,8 +1059,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2775,13 +2775,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2789,7 +2789,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3161,7 +3161,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3599,7 +3599,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4475,52 +4475,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4528,123 +4528,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4652,7 +4652,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4661,13 +4661,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4678,33 +4678,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4794,8 +4798,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5440,7 +5444,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5591,75 +5595,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5789,8 +5793,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5813,6 +5817,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6343,18 +6348,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7221,7 +7230,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7644,10 +7653,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7660,68 +7669,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8009,7 +8018,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9230,7 +9239,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9570,7 +9579,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10849,43 +10858,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10915,7 +10924,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11102,54 +11111,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13939,6 +13948,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14273,7 +14286,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14283,7 +14296,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14335,7 +14348,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14424,13 +14437,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14463,7 +14476,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14471,7 +14484,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14479,7 +14492,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14487,13 +14500,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14527,20 +14540,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14890,40 +14903,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15226,7 +15239,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15476,25 +15489,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15933,64 +15952,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17747,7 +17766,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17770,67 +17789,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17839,7 +17858,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17847,7 +17866,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17855,7 +17874,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17863,7 +17882,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17872,7 +17891,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17881,14 +17900,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17896,7 +17915,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17904,7 +17923,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17960,166 +17979,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/pl.po b/src/calibre/translations/pl.po index d2fd0915b4..6f86f84555 100644 --- a/src/calibre/translations/pl.po +++ b/src/calibre/translations/pl.po @@ -7,17 +7,17 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" -"PO-Revision-Date: 2011-12-06 19:31+0000\n" -"Last-Translator: koliberek <Unknown>\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" +"PO-Revision-Date: 2011-12-12 20:27+0000\n" +"Last-Translator: Piotr Parafiniuk <Unknown>\n" "Language-Team: Polish <pl@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2011-12-07 04:49+0000\n" -"X-Generator: Launchpad (build 14435)\n" +"X-Launchpad-Export-Date: 2011-12-13 04:53+0000\n" +"X-Generator: Launchpad (build 14458)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -27,8 +27,8 @@ msgstr "Ta opcja zupełnie nic nie zmienia" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -39,8 +39,8 @@ msgstr "Ta opcja zupełnie nic nie zmienia" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -49,8 +49,8 @@ msgstr "Ta opcja zupełnie nic nie zmienia" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -175,7 +175,7 @@ msgstr "Ta opcja zupełnie nic nie zmienia" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -194,7 +194,7 @@ msgstr "Ta opcja zupełnie nic nie zmienia" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -217,7 +217,7 @@ msgstr "Dostosuj" #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:57 msgid "Cannot configure" -msgstr "Nie można skonfigurować" +msgstr "Nie można konfigurować" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:318 msgid "File type" @@ -347,7 +347,7 @@ msgstr "Generuj katalog książek w bieżącej bibliotece" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:744 msgid "Convert books to various ebook formats" -msgstr "Konwertuj książki do różnych formatów" +msgstr "Konwertuj książki na różne formaty" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Delete books from your calibre library or connected device" @@ -445,7 +445,7 @@ msgstr "Wybierz losową książkę z biblioteki calibre" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:860 msgid "Search for books from different book sellers" -msgstr "Szukaj książek u różnych dostawców treści" +msgstr "Szukaj książek w różnych księgarniach" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 msgid "Get new calibre plugins or update your existing ones" @@ -476,7 +476,7 @@ msgid "Change the way calibre behaves" msgstr "Zmień zachowanie calibre" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Dodaj własne kolumny" @@ -936,7 +936,7 @@ msgstr "Wyłącz wtyczkę" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -948,10 +948,10 @@ msgstr "Zbyt długa ścieżka biblioteki. Nie może być dłuższa niż %d znak #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Tak" @@ -980,7 +980,7 @@ msgstr "Dziennik debugowania" msgid "Communicate with Android phones." msgstr "Umożliwia komunikację z telefonami z Androidem." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -988,11 +988,11 @@ msgstr "" "Oddzielona przecinkami lista katalogów na urządzeniu, do których mają być " "wysyłane książki. Zostanie użyty pierwszy istniejący katalog" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Umożliwia komunikację z telefonami S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "Umożliwia komunikację z tabletami z systemem WebOS." @@ -1081,7 +1081,7 @@ msgid "" "desktop, then add to calibre's Library window." msgstr "" "Nie można skopiować książek bezpośrednio z iUrządzenia. Przeciągnij z " -"Biblioteki iTunes na Pulpit, a następnie dodaj do Biblioteki Calibre" +"Biblioteki iTunes na Pulpit, a następnie dodaj do biblioteki calibre" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:371 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:374 @@ -1127,8 +1127,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -1165,7 +1165,7 @@ msgstr "Li Fanxi" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:42 msgid "Device IP Address (restart calibre after changing)" -msgstr "Adres IP urządzenia (ponownie uruchom Calibre po zmianie tej opcji)" +msgstr "Adres IP urządzenia (ponownie uruchom calibre po zmianie tej opcji)" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:48 msgid "" @@ -1807,9 +1807,9 @@ msgid "" "device and its cards. This permits calibre to find books put on the device " "by other software and by wireless download." msgstr "" -"Ustawienie tej opcji pozwoli Calibre na szukanie książek we wszystkich " -"folderach na urządzeniu i jego karcie pamięci. Pozwala to Calibre znaleźć " -"książki wprowadzone do urządzenia przez inne oprogramowanie oraz pobrane " +"Ustawienie tej opcji pozwoli calibre na szukanie książek we wszystkich " +"folderach na urządzeniu i jego karcie pamięci. Pozwala to znaleźć książki " +"wprowadzone do urządzenia przez inne oprogramowanie oraz pobrane " "bezprzewodowo." #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:190 @@ -3214,7 +3214,7 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "aby zobaczyć pełną listę z opisami" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." @@ -3222,7 +3222,7 @@ msgstr "" "Przeskanuj linki w plikach HTML najpierw wszerz. Standardowo są skanowane " "najpierw wgłąb." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3233,7 +3233,7 @@ msgstr "" "być nieujemny. Zero oznacza, że żadne odnośniki w wejściowym pliku HTML nie " "będą śledzone. Domyslna wartość to %default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3658,7 +3658,7 @@ msgstr "BŁĄD SZABLONU" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "Nie" @@ -4145,7 +4145,7 @@ msgstr "Wstęp" msgid "Main Text" msgstr "Tekst główny" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "książki formatu %s nie są wspierane" @@ -4944,7 +4944,7 @@ msgstr "Dodaj książki" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:47 msgid "Add books to the calibre library/device from files on your computer" msgstr "" -"Dodaj książki do biblioteki Calibre/urządzenia z plików na komputerze" +"Dodaj książki do biblioteki calibre/urządzenia z plików na komputerze" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:48 msgid "A" @@ -5001,7 +5001,7 @@ msgstr "Shift+A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:260 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:91 msgid "No books selected" -msgstr "Nie wybrano ksiązek" +msgstr "Nie wybrano książek" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:87 msgid "Cannot add files as no books are selected" @@ -5056,7 +5056,7 @@ msgid "" "settings:" msgstr "" "Znaleziono następujące zduplikowane książki oraz następujące formaty książek " -"zostały przetworzone i dołączone do bazy danych Calibre zgodnie z twoimi " +"zostały przetworzone i dołączone do bazy danych calibre zgodnie z twoimi " "ustawieniami auto-dołączania:" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:342 @@ -5082,7 +5082,7 @@ msgstr "Dodaj do biblioteki" #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:183 msgid "No book selected" -msgstr "Nie wybrano ksiązki" +msgstr "Nie wybrano żadnej książki" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:382 msgid "" @@ -5100,7 +5100,7 @@ msgstr "Dodaj książki do biblioteki" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add_to_library.py:14 msgid "Add books to your calibre library from the connected device" -msgstr "Dodaj do biblioteki Calibre książki z podłączonego urządzenia" +msgstr "Dodaj do biblioteki calibre książki z podłączonego urządzenia" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:26 msgid "Merging user annotations into database" @@ -5160,7 +5160,7 @@ msgstr "Generowanie katalogu %s..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:85 msgid "Catalog generated." -msgstr "Katalog wygenerowany." +msgstr "Katalog został wygenerowany." #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:88 msgid "Export Catalog Directory" @@ -5171,12 +5171,12 @@ msgstr "Eksportuj folder katalogu" msgid "Select destination for %(title)s.%(fmt)s" msgstr "Wybierz położenie dla %(title)s.%(fmt)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "Nie znaleziono biblioteki" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " @@ -5186,40 +5186,40 @@ msgstr "" "nową lokalizację w polu poniżej. W przeciwnym wypadku biblioteka zostanie " "wyrejestrowana z calibre." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "Nowa lokalizacja dla tej biblioteki:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "Biblioteka została przeniesiona" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "Wyrejestruj bibliotekę." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "Nowa lokalizacja biblioteki" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "Nie znaleziono biblioteki w %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "Wybierz bibliotekę" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Wybierz bibliotekę calibre, z którą chcesz pracować" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Zmień bibliotekę lub utwórz nową...." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -5227,82 +5227,82 @@ msgstr "Zmień bibliotekę lub utwórz nową...." msgid "%d books" msgstr "%d książek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Szybki przełącznik" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Zmień nazwę biblioteki" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "Usuń blibliotekę" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "Wybierz losową książkę" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Konserwacja biblioteki" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "Status kopii bezpieczeństwa metadanych biblioteki" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "Zrób kopię bezpieczeństwa metadanych wszystkich książek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Sprawdź bibliotekę" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "Odtwórz bazę danych" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Zmień nazwę" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "Wybierz nową nazwę dla biblioteki <b>%s</b>. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "Zauważ, że folder aktualnej biblioteki będzie miał zmienioną nazwę." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Już istnieje" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "Folder %s już istnieje. Najpierw go usuń." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "Zbyt długie" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Błąd zmiany nazwy" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " @@ -5312,11 +5312,11 @@ msgstr "" "niepowodzenia jest to, że jeden lub więcej plików z biblioteki otwarty jest " "przez inny program." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "Biblioteka została usunięta" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " @@ -5325,24 +5325,24 @@ msgstr "" "Biblioteka %s została usunięta z calibre. Pliki pozostają na twoim " "komputerze, jeśli chcesz je usunąć, musisz zrobić to ręcznie." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "brak" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "Status kopii bezpieczeństwa" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "Pozostało do zapisania %s plików książki metadanych." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "Kopia bezpieczeństwa metadanych" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." @@ -5350,7 +5350,7 @@ msgstr "" "Kopia zapasowa metadanych zostanie utworzona w trakcie działania programu " "calibre ze średnią prędkością 1 książki na trzy sekundy." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -5361,7 +5361,7 @@ msgstr "" "bibliotekę do miejsca z krótszą ścieżką za pomocą Ekspolartora Windows, " "ustaw w calibre nowe położenie i spróbuj ponownie." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -5370,7 +5370,7 @@ msgstr "" msgid "Success" msgstr "Powiodło się" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" @@ -5378,7 +5378,7 @@ msgstr "" "Nie znaleziono błędów w bazie danych calibre. Czy chcesz by calibre " "sprawdził czy pliki w bibliotece zgadzają się z informacjami w bazie danych?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -5389,30 +5389,34 @@ msgstr "" msgid "Failed" msgstr "Nie udało się" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" "Sprawdzanie integralności bazy danych zakończone niepowodzeniem, kliknij " "Pokaż, aby zobaczyć szczegóły." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "Skanowanie biblioteki, to może chwilę potrwać" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "Nie znaleziono żadnych problemów" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" "Pliki w twojej bibliotece zgadzają się z informacjami w bazie danych." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Niedozwolone" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5420,7 +5424,7 @@ msgstr "" "Nie można zmieniać bibliotek z włączoną zmienną środowiskową " "CALIBRE_OVERRIDE_DATABASE_PATH." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "Nie możesz zmieniać biblioteki, kiedy są uruchomione zadania." @@ -5512,8 +5516,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -6208,7 +6212,7 @@ msgid "Search for this %s" msgstr "Szukaj %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "Sklepy" @@ -6377,33 +6381,33 @@ msgstr "Szukam w" msgid "Adding..." msgstr "Dodawanie..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Szukaj we wszystkich podfolderach..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Błędna ścieżka" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "Wybrany folder nie może być przetworzony." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Brak książek" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Nie znaleziono książek" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "Brak uprawnień" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." @@ -6411,15 +6415,15 @@ msgstr "" "Nie można dodać niektórych plików ponieważ nie masz do nich uprawnień. " "Kliknij Pokaż szczegóły aby zobaczyć listę tych plików." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Dodano" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Dodawanie nie powiodło się" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -6428,29 +6432,29 @@ msgstr "" "calibre i dodawać książki w mniejszych ilościach, aż znajdziesz tą, która " "spowodowała problem." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Znleziono duplikaty!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "Książka o identycznym tytule jest już w bazie danych. Dodać mimo to?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Dodawanie duplikatów..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Zapisywanie..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "Zbieranie danych, proszę czekać..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Zapisano" @@ -6590,8 +6594,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6618,6 +6622,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "Wspomóż" @@ -6627,7 +6632,7 @@ msgstr "Kliknij, aby otworzyć" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:136 msgid "Ids" -msgstr "Ids" +msgstr "Identyfikatory" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:174 #, python-format @@ -7167,7 +7172,7 @@ msgstr "Widok normalny" msgid "HTML Source" msgstr "Źródło HTML" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " @@ -7177,11 +7182,15 @@ msgstr "" "zapisanych przy poprzedniej konwersji (jeśli istnieją) zamiast używania " "domyślnych określonych w Ustawieniach" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "Żadna z zaznaczonych książek nie ma zapisanych ustawień konwersji." + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Masowa konwersja" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Opcje specyficzne dla formatu wyjściowego." @@ -8094,7 +8103,7 @@ msgstr "Liczba wystąpień:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -8547,10 +8556,10 @@ msgstr "Nie udało się uruchomić Przeglądarki okładek" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -8563,70 +8572,70 @@ msgid "Undefined" msgstr "Niezdefiniowany" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "gwiazdka(i)" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Brak oceny" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "Ustaw '%s' na dzisiaj" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "Wyczyść '%s'" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " index:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" "Lista \"{0}\" zawiera błędną wartość, która zostanie zmieniona na domyślną" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "Zastosuj zmiany" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "Usuń cykl" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "Automatycznie numeruj książki" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "Wymuś początek numeracji na " -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" "Lista \"{0}\" zawiera błędne wartości, które nie pojawiają się na wykazie" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Usuń wszystkie etykiety" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "etykiety do dodania" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "etykiety do usunięcia" @@ -8935,7 +8944,7 @@ msgid "My Books" msgstr "Moje książki" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Wygeneruj katalog" @@ -10337,7 +10346,7 @@ msgstr "Historia zmian %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "Wszystkie" @@ -10367,7 +10376,7 @@ msgstr "Status" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:303 msgid "Available" -msgstr "Dostepny" +msgstr "Dostępny" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:303 msgid "Calibre" @@ -10400,7 +10409,7 @@ msgstr "Platforma niedostępna" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:389 msgid "Calibre upgrade required" -msgstr "Wymagana aktualizacja Calibre" +msgstr "Wymagana jest aktualizacja calibre" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:392 msgid "Plugin deprecated" @@ -10696,7 +10705,7 @@ msgstr "Elementy" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10909,7 +10918,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:197 #, python-format msgid "%s news sources" -msgstr "%s źródło newsów" +msgstr "%s źródeł newsów" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:311 msgid "Need username and password" @@ -11666,7 +11675,7 @@ msgid "" "You will lose any unsaved changes. To save your changes, click the " "Add/Update recipe button. Continue?" msgstr "" -"Stracisz niezapisane zmiany. Aby zapisać zmiany, kliknij w przycisk " +"Stracisz niezapisane zmiany. Aby zapisać zmiany, kliknij przycisk " "Dodaj/Uaktualnij źródła. Kontynuować?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:257 @@ -11839,7 +11848,7 @@ msgstr "E-book:" #: /home/kovid/work/calibre/src/calibre/gui2/email.py:201 msgid "Attached, you will find the e-book" -msgstr "W załączniku znajdziesz e-booka" +msgstr "W załączniku znajdziesz e-book" #: /home/kovid/work/calibre/src/calibre/gui2/email.py:202 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:189 @@ -12086,44 +12095,44 @@ msgstr "" msgid "Unavailable" msgstr "Niedostępne" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Zadań:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "Kliknij, by zobaczyć kolejkę zadań" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - Zadania" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "Wyszukaj zadanie po nazwie" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 msgid "No job" msgstr "Brak zadań" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "Nie wybrano zadania" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "Na pewno wstrzymać wybrane zadanie?" msgstr[1] "Na pewno wstrzymać wybrane zadania?" msgstr[2] "Na pewno wstrzymać wybrane zadania?" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" "Naprawdę chcesz zatrzymać wszystkie zadania nie związane z urządzeniem?" @@ -12154,7 +12163,7 @@ msgstr "&Skrót:" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -12350,54 +12359,54 @@ msgstr "Oznaczone do usunięcia" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Kliknij dwa razy, aby rozpocząć <b>edycję</b><br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "Ukryj kolumnę %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "Posortuj po kolumnie %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "Rosnąco" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "Malejąco" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "Zmień wyrównanie tekstu dla %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "Do lewej" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "Do prawej" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "Wyśrodkuj" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "Pokaż kolumnę" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "Zwęź kolumnę jeśli jest zbyt szeroka" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "Przywróć domyślny układ" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -15301,12 +15310,12 @@ msgid "" "<li><b>Automatic management</b>: Calibre automatically keeps metadata on the " "device in sync with the calibre library, on every connect</li></ul>" msgstr "" -"<li><b>Manualne zarządzanie</b>: Calibre aktualizuje metadane i dodaje " +"<li><b>Manualne zarządzanie</b>: calibre aktualizuje metadane i dodaje " "kolekcje tylko gdy książka jest wysyłana. Z tą opcją, calibre nigdy nie " "usunie kolekcji.</li>\n" -"<li><b>Tylko przy wysyłaniu</b>: Calibre aktualizuje metadane i dodaje/usuwa " +"<li><b>Tylko przy wysyłaniu</b>: calibre aktualizuje metadane i dodaje/usuwa " "kolekcje dla książki wtedy, gdy książka jest wysłana na urządzenie. </li>\n" -"<li><b>Automatyczne zarządzanie</b>: Calibre automatycznie przechowuje " +"<li><b>Automatyczne zarządzanie</b>: calibre automatycznie przechowuje " "metadane na urządzeniu w synchronizacji z biblioteką calibre, przy każdym " "połączeniu</li></ul>" @@ -15632,6 +15641,10 @@ msgstr "Utwó&rz" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "Kod &programu: (stosuj reguły wcięć z pythona)" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "Menedżer miejsc" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "Przełącz pomiędzy widokami biblioteki i urządzenia" @@ -15985,7 +15998,7 @@ msgid "Nam&e/Description ..." msgstr "Nazwa/&Opis" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "Zapytanie:" @@ -15995,7 +16008,7 @@ msgid "Enable" msgstr "Włącz" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "Odwróć zaznaczenie" @@ -16053,7 +16066,7 @@ msgstr "" "ograniczony tylko do tego rynku." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "Kupując w tym sklepie wspierasz dewelopera calibre: %s." @@ -16142,13 +16155,13 @@ msgid "Search:" msgstr "Wyszukaj:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "Książki:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -16181,7 +16194,7 @@ msgstr "Pobierz" msgid "Price" msgstr "Cena" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -16192,7 +16205,7 @@ msgstr "" "czy jest ona poprawna. Podana cena często nie uwzględnia promocji aktualnie " "obowiązujących w danym sklepie." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -16203,7 +16216,7 @@ msgstr "" "czytniku. Dodatkowo sposób jej użycia może być ograniczany. Przed zakupem " "upewnij się, że będziesz miał możliwość przeczytać tę książkę." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -16215,7 +16228,7 @@ msgstr "" "konwertować. Jednak przed zakupem upewnij się co do braku zabezpieczeń - " "niektóre sklepy nie publikują informacji o stosowanych zabezpieczeniach." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." @@ -16223,7 +16236,7 @@ msgstr "" "Nie udało się sprawdzić obecności zabezpieczeń DRM. Istnieje duże " "prawdopodobieństwo, że ta książka posiada zabezpieczenia DRM." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "Następujące formaty mogą zostać pobrane bezpośrednio: %s." @@ -16257,20 +16270,20 @@ msgstr "Nie udało się znaleźć książek pasujących do zapytania." msgid "Choose format to download to your library." msgstr "Wybierz format, który ma zostać pobrany do biblioteki." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "Zdobądź książki" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "Otwórz wybraną książkę w przeglądarce systemowej" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "Otwórz w z&ewnętrznej przeglądarce" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "Niedostępne" @@ -16646,12 +16659,12 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "Konwertuj książkę %(num)d z %(total)d (%(title)s)" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "Nie udało się skonwertować niektórych książek" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " @@ -16660,28 +16673,28 @@ msgstr "" "Nie można przekonwertować %(num)d książek z %(tot)d ponieważ nie zawierają " "odpowiednich formatów źródłowych." -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "Kolejkowanie książek do masowej konwersji" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "Kolejkowanie " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "Konwersja książki %(num)d z %(tot)d (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Pobierzy newsy z " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "Konwertuj istniejące" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -17006,7 +17019,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opcje odpowiedzialne za personalizacje przeglądarki książek" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "Zapamiętaj ostatnio użyty rozmiar okienka" @@ -17267,29 +17280,37 @@ msgstr "Ładowanie książki..." msgid "Could not open ebook" msgstr "Nie można otworzyć książki" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Opcje odpowiadające za kontrolę nad przeglądarką książek" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Jeśli określone, okno przeglądarki spróbuje pokazać się na wierzchu podczas " "startu." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Jeśli określone, okno przeglądarki spróbuje otworzyć się na pełnym ekranie " "podczas startu." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "Wyświetlaj uwagi javascriptu i wiadomości konsolowe w konsoli" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" +"Miejsce w którym wskazana książka ma być otwarta. Jest to pozycja widoczna w " +"górnym lewym rogu przeglądarki." + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -17625,7 +17646,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:232 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:237 msgid "Bad configuration" -msgstr "Zła konfiguracja" +msgstr "Błędna konfiguracja" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:222 msgid "You must set the From email address" @@ -17787,64 +17808,64 @@ msgstr "" "na urządzeniu iPhone. myhostname powinien być poprawną nazwą hosta lub " "adresem IP komputera, na którym działa calibre." -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "zaznaczony" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "tak" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "nie" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "odznaczony" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "dzisiaj" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "wczoraj" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "w tym miesiącu" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "dni temu" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "pusty" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "pusty" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "Nieprawidłowe zapytanie \"{0}\"" @@ -20126,7 +20147,7 @@ msgstr "" "{#genre:subitems(0,1)} zwróci \"A, D\", a {#genre:subitems(0,2)} zwróci " "\"A.B, D.E\"" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -20176,29 +20197,29 @@ msgstr "" "iso - data i czas ze strefą czasową. Musi być jedynym określeniem " "formatu." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "uppercase(val) -- zwraca wartość pola w dużych literach" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "lowercase(val) -- zwraca wartość pola w małych literach" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" "titlecase(val) -- zwraca wartość pola w tytulikach (każdy wyraz z wielkiej " "litery)" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "capitalize(val) -- zwraca wartość pola napisaną dużymi literami" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "booksize() -- zwraca wartość pola 'wielkość'" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" @@ -20206,7 +20227,7 @@ msgstr "" "ondevice() -- zwraca Yes jeśli parametr ondevice jest ustawiony, w " "przeciwnym przypadku pusty ciąg" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" @@ -20214,7 +20235,7 @@ msgstr "" "has_cover() -- zwraca Yes jeśli książka ma okładkę, w przeciwnym wypadku " "pusty łańcuch" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " @@ -20224,7 +20245,7 @@ msgstr "" "nie jest pusta. Jeśli wszystkie wartości są puste to zwracana jest również " "pusta wartość. Liczba parametrów funkcji nie jest ograniczona." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " @@ -20234,7 +20255,7 @@ msgstr "" "niepuste, w przeciwnym przypadku pusty ciąg. Ta funkcja współdziała " "doskonale z first_non_empty. Liczba parametrów funkcji nie jest ograniczona." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " @@ -20245,7 +20266,7 @@ msgstr "" "współdziała doskonale z first_non_empty. Liczba parametrów funkcji nie jest " "ograniczona." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " @@ -20255,7 +20276,7 @@ msgstr "" "przypadku pusty ciąg. Ta funkcja współdziała dobrze z first_non_empty. " "Liczba parametrów funkcji nie jest ograniczona." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -20270,7 +20291,7 @@ msgstr "" "Elementy listy wynikowej są oddzielane tym samym separatorem co list na " "wejściu." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -20282,7 +20303,7 @@ msgstr "" "znaczenia. Lista wynikowa jest rozdzielana tym samym separatorem co listy " "źródłowe." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -20294,7 +20315,7 @@ msgstr "" "liter nie ma znaczenia. Lista wynikowa jest rozdzielana tym samym " "separatorem co listy źródłowe." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -20306,7 +20327,7 @@ msgstr "" "przeciwnym przypadku malejąco. Elementy listy wynikowej są oddzielane tym " "samym separatorem co listy źródłowej." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -20320,7 +20341,7 @@ msgstr "" "użyciu separatorów (sep1 i sep2). Kolejność elementów listy nie jest " "znacząca, wielkość liter również." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -20334,7 +20355,7 @@ msgstr "" "zwrócona. Jeśli parametr opt_replace nie jest pusty dokonaj zamiany przed " "dodaniem elementu do listy wynikowej." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " @@ -20344,7 +20365,7 @@ msgstr "" "użycia w funkcjach format_date lub days_between, ale może być przetwarzany " "jak każdy inny łańcuch. Data jest w formacie ISO." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -20356,7 +20377,7 @@ msgstr "" "ujemna. Jeśli obie daty są nieprawidłowe (ciągi znaków nie są datami) " "zwracany jest pusty ciąg znaków." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -20369,7 +20390,7 @@ msgstr "" "zwraca ciągi w języku bieżącej lokalizacji. Lang_codes jest listą " "rozdzielaną przecinkami." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -20428,166 +20449,174 @@ msgid "English (Australia)" msgstr "angielski (Australia)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 +msgid "English (Japan)" +msgstr "Angielski (Japonia)" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "Angielski (Niemcy)" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 msgid "English (Bulgaria)" msgstr "angielski (Bułgaria)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "angielski (Nowa Zelandia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "angielski (Kanada)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "angielski (Grecja)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "angielski (Indie)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "angielski (Nepal)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "angielski (Tajlandia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "angielski (Turcja)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "angielski (Cypr)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" -msgstr "Angielski (Czechy)" +msgstr "angielski (Czechy)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "angielski (Pakistan)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "angielski (Chorwacja)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "angielski (Indonezja)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "angielski (Izrael)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "angielski (Rosja)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "angielski (Singapur)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "angielski (Jemen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "angielski (Irlandia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "angielski (Chiny)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "angielski (Republika Południowej Afryki)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "hiszpański (Paragwaj)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "hiszpański (Urugwaj)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "hiszpański (Argentyna)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "hiszpański (Meksyk)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "hiszpański (Kuba)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "hiszpański (Chile)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "hiszpański (Ekwador)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "hiszpański (Honduras)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" -msgstr "Hiszpański (Wenezuela)" +msgstr "hiszpański (Wenezuela)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "hiszpański (Boliwia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" -msgstr "Hiszpański (Nikaragua)" - -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" -msgstr "Hiszpański (Kolumbia)" - #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +msgid "Spanish (Nicaragua)" +msgstr "hiszpański (Nikaragua)" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +msgid "Spanish (Colombia)" +msgstr "hiszpański (Kolumbia)" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "niemiecki (Austria)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "francuski (Belgia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "niderlandzki (Holandia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "niderlandzki (Belgia)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "AM" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "PM" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "am" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "pm" @@ -21434,7 +21463,7 @@ msgstr "" "I tak, przy sortowaniu 'library_order' książka o tytule \"The Client\" " "pojawi się pod literą \"C\",\n" "natomiast przy sortowaniu 'strictly_alphabetic' pod literą \"T\".\n" -"Parametr ten dotyczy jedynie interfejsu Calibre i nie ma wpływu na " +"Parametr ten dotyczy jedynie interfejsu calibre i nie ma wpływu na " "czytniki.\n" "Dodatkowo książki dodane przed zmianą parametru pozostają na dotychczasowych " "miejscach\n" diff --git a/src/calibre/translations/pt.po b/src/calibre/translations/pt.po index eb72b952ae..42e26363d8 100644 --- a/src/calibre/translations/pt.po +++ b/src/calibre/translations/pt.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-11-22 17:57+0000\n" "Last-Translator: Sérgio Marques <Unknown>\n" "Language-Team: Portuguese <pt@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:05+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:28+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -473,7 +473,7 @@ msgid "Change the way calibre behaves" msgstr "Altere o modo como o calibre se comporta" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Adicione as suas próprias colunas" @@ -934,7 +934,7 @@ msgstr "Desactivar o extra mencionado" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -946,10 +946,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Sim" @@ -978,7 +978,7 @@ msgstr "Debug log" msgid "Communicate with Android phones." msgstr "Estabelecer ligação a telefones Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -986,11 +986,11 @@ msgstr "" "Lista de directorias separada por vírgulas para enviar e-books para o " "dispositivo (a primeira existente será usada)" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Estabelecer ligação a telefones S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1110,8 +1110,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -3082,7 +3082,7 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." @@ -3090,7 +3090,7 @@ msgstr "" "Percorrer os atalhos nos ficheiros HTML no sentido da largura em primeiro " "lugar. Normalmente eles são percorridos primeiro no sentido do comprimento." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3101,7 +3101,7 @@ msgstr "" "HTML. Deve ser não negativo. 0 pressupõe que nenhum atalho na raiz do " "ficheiro HTML será seguido. A predefinição é %default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3519,7 +3519,7 @@ msgstr "ERRO DO TEMPLATE" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "Não" @@ -3978,7 +3978,7 @@ msgstr "Prefácio" msgid "Main Text" msgstr "Texto Principal" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "Os livros no formato %s não são suportados" @@ -4968,52 +4968,52 @@ msgstr "Exportar a directoria do catálogo" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "Não foi encontrada uma biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Escolha a biblioteca calibre para utilizar" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Mudar/crear biblioteca..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -5021,82 +5021,82 @@ msgstr "Mudar/crear biblioteca..." msgid "%d books" msgstr "%d livros" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Mudar rapidamente" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Renomear a biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "Escolher um livro aleatoriamente" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Manutenção da biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "Estado dos backups dos metadados da biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "Começar a salvaguarda dos meta-dados de todos os livros" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Verificar biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "Repor base de dados" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Renomear" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "Escolher um nome novo para a biblioteca <b>%s</b>. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "Repare que o nome da pasta da biblioteca actual será renomeada." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Já existe" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "A pasta %s já existe. Apague-a primeiro" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "A renomeação falhou" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " @@ -5105,35 +5105,35 @@ msgstr "" "Não foi possível renomear a biblioteca %s. A causa mais comum para esta " "situação é um dos ficheiros da biblioteca estar aberto por outro programa." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "nenhum" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "Estatísticas da cópia de segurança" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "Ficheiros de meta-dados de livros que faltam para serem criados: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "Fazer backup de meta-dados" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." @@ -5141,7 +5141,7 @@ msgstr "" "Os meta-dados serão guardados enquanto o calibre está a executar, ao ritmo " "de aproximadamente 1 livro a cada três segundos." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -5149,7 +5149,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -5158,13 +5158,13 @@ msgstr "" msgid "Success" msgstr "Sucesso" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -5175,35 +5175,39 @@ msgstr "" msgid "Failed" msgstr "Sem sucesso" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" "Verificação de integridade da base de dados falhou, clique para Mostrar " "Detalhes para mais detalhes" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "Não foi encontrado qualquer problema" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Não permitido" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "Não pode modificar bibliotecas enquanto existem processos a correr." @@ -5296,8 +5300,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5954,7 +5958,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -6108,47 +6112,47 @@ msgstr "A procurar em" msgid "Adding..." msgstr "A adicionar..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "A procurar em todas as sub-pastas..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Erro no caminho" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "É impossível processar a pasta especificada." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Nenhuns livros" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Nenhum livros encontrados" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "Não tem permissão" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Adicionado" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Falha ao adicionar" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -6157,11 +6161,11 @@ msgstr "" "e adicionar os livros em incrementos mais pequenos até encontrar o livro " "problemático." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Duplicados encontrados!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" @@ -6169,19 +6173,19 @@ msgstr "" "Livros com o mesmo título que o seguinte já existem na base de dados. " "Adicionar na mesma?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Adicionar duplicados..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "A guardar..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Guardado" @@ -6319,8 +6323,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6346,6 +6350,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6877,18 +6882,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Converter a granel" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Opções específicas ao formato de destino." @@ -7775,7 +7784,7 @@ msgstr "Ocorrências:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -8206,10 +8215,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -8222,68 +8231,68 @@ msgid "Undefined" msgstr "Não definido" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Sem avaliação" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "Limpar '%s'" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "Aplicar alterações" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "Numerar livros automaticamente" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Remover todas as etiquetas" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "Etiquetas a adicionar" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "etiquetas a serem removidas" @@ -8584,7 +8593,7 @@ msgid "My Books" msgstr "Os Meus Livros" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Gerar catálogo" @@ -9828,7 +9837,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -10168,7 +10177,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -11476,43 +11485,43 @@ msgstr "" msgid "Unavailable" msgstr "Indisponível" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Processos:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "Clicar para ver lista de trabalhos" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - Processos" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -11542,7 +11551,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11732,54 +11741,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Duplo clique para <b>me</b> editar<br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14624,6 +14633,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14960,7 +14973,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14970,7 +14983,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -15022,7 +15035,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -15111,13 +15124,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -15150,7 +15163,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -15158,7 +15171,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -15166,7 +15179,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -15174,13 +15187,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -15214,20 +15227,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -15579,40 +15592,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "É impossível converter alguns livros" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "A criar a fila de espera dos livros para conversão a granel" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "A criar a fila de espera " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Recolher as notícias de " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "Converter existentes" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15925,7 +15938,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opções para personalizar o Visualizador de livros" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "Lembrar o tamanho da última janela utilizada" @@ -16179,27 +16192,33 @@ msgstr "A carregar o livro..." msgid "Could not open ebook" msgstr "É impossível abrir o livro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Opções para controlar o Visualizador de livros" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Se especificado a janela do Visualizador vai tentar vir para a frente quando " "iniciada." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "Imprimir alertas javascript e mensagens da consola na consola" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -16671,64 +16690,64 @@ msgstr "" "Stanza no seu iPhone. Aqui myhostname deve ser o domínio ou o endereço IP do " "computador onde o calibre está a executar." -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -18589,7 +18608,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -18612,67 +18631,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -18681,7 +18700,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -18689,7 +18708,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -18697,7 +18716,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -18705,7 +18724,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -18714,7 +18733,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -18723,14 +18742,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -18738,7 +18757,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -18746,7 +18765,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -18802,166 +18821,174 @@ msgid "English (Australia)" msgstr "Inglês (Austrália)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +msgid "English (Bulgaria)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "Inglês (Nova Zelândia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "Inglês (Canadá)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "Inglês (Índia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "Inglês (Tailândia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "Inglês (Chipre)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "Inglês (Paquistão)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "Inglês (Israel)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "Inglês (Singapura)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "Inglês (Iémen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "Inglês (Irlanda)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "Inglês (China)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "Espanhol (Paraguai)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "Alemão (AT)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "Francês (BE)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "Neerlandês (NL)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "Neerlandês (BE)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/pt_BR.po b/src/calibre/translations/pt_BR.po index 431838478c..71740ed8aa 100644 --- a/src/calibre/translations/pt_BR.po +++ b/src/calibre/translations/pt_BR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-11-16 20:44+0000\n" "Last-Translator: Gusmao <Unknown>\n" "Language-Team: American English <kde-i18n-doc@kde.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:11+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:34+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -475,7 +475,7 @@ msgid "Change the way calibre behaves" msgstr "Muda o modo como o calibre se comporta" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Adiciona suas próprias colunas" @@ -938,7 +938,7 @@ msgstr "Desabilitar a extensão com nome" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -951,10 +951,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Sim" @@ -983,7 +983,7 @@ msgstr "Log de Debug" msgid "Communicate with Android phones." msgstr "Comunica-se com os telefones Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -991,11 +991,11 @@ msgstr "" "Lista de diretórios separados por vírgulas para enviar eBooks ao " "dispositivo. O primeiro existente será utilizado" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Comunica-se com os telefones S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "Comunicar-se com tablets WebOS" @@ -1133,8 +1133,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -3087,13 +3087,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "para uma lista completa com descrições." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3104,7 +3104,7 @@ msgstr "" "valor positivo. 0 Implica que nenhum link no arquivo HTML raiz será seguido. " "O padrão é %default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3511,7 +3511,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "Não" @@ -3962,7 +3962,7 @@ msgstr "Prefácio" msgid "Main Text" msgstr "Texto Principal" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "%s formatos de livro não são suportados" @@ -4908,52 +4908,52 @@ msgstr "Exportar diretório de catálogo" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "Nenhuma biblioteca encontrada" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Escolha a biblioteca do calibre para trabalhar com" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Alternar/criar biblioteca..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4961,82 +4961,82 @@ msgstr "Alternar/criar biblioteca..." msgid "%d books" msgstr "%d livros" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Renomear biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Manutenção da Biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "Status do backup dos metadados da biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "Iniciar o backup dos metadados de todos os livros" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Verificar biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Renomear" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "Escolher um nome novo para a biblioteca <b>%s</b>. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "Observe que a biblioteca atual será renomeada." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Já existe" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "A pasta %s já existe. Delete-a primeiro." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Falha ao renomear" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " @@ -5045,41 +5045,41 @@ msgstr "" "Falha ao renomear a biblioteca em %s. O causa mais comum para isto, é um dos " "arquivos na biblioteca está aberto em outro programa." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "nenhum" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "Status do Backup" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "Livros com arquivos de metadados esperando ser criados: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "Backup dos Metadados" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -5087,7 +5087,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -5096,13 +5096,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -5113,33 +5113,37 @@ msgstr "" msgid "Failed" msgstr "Falhou" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Não permitido" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" "Você não pode mudar bibliotecas enquanto tarefas estão sendo executadas." @@ -5230,8 +5234,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5886,7 +5890,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -6040,47 +6044,47 @@ msgstr "Procurando em" msgid "Adding..." msgstr "Adicionando..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Procurando em todos os sub-diretórios..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Erro no caminho" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "O diretório específico não pode ser processado." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Nenhum livro" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Não foram encontrados livros" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "Sem permissão" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Adicionado" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Falha ao adicionar" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -6089,11 +6093,11 @@ msgstr "" "reiniciar o calibre e adicionar os livros em quantidades menores, até você " "encontrar o livro que está com problemas." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Foram encontradas duplicatas!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" @@ -6101,19 +6105,19 @@ msgstr "" "Livros com o mesmo título dos livros gravados na base de dados. Adicioná-los " "de qualquer forma?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Adicionando duplicados..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Salvando..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Salvo" @@ -6253,8 +6257,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6279,6 +6283,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6809,7 +6814,7 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " @@ -6819,11 +6824,15 @@ msgstr "" "use os valores salvos em uma conversão anterior (se eles existirem) ao invés " "de usar os valores especificados nas Preferências" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Conversão em massa" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Opções específicas para o formato de saída." @@ -7711,7 +7720,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -8141,10 +8150,10 @@ msgstr "Navegador de Capas não pode ser carregado" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -8157,68 +8166,68 @@ msgid "Undefined" msgstr "Indefinido" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "estrela(s)" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Não avaliado" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "Ajustar '%s' para hoje" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " índice" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Remove todas as tags" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "tags para adicionar" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "tags para remover" @@ -8514,7 +8523,7 @@ msgid "My Books" msgstr "Meus Livros" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Gerar catálogo" @@ -9751,7 +9760,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -10091,7 +10100,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -11390,43 +11399,43 @@ msgstr "" msgid "Unavailable" msgstr "Indísponivel" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Tarefas:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "Clique para ver a lista de tarefas" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - Tarefas" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -11456,7 +11465,7 @@ msgstr "Atalho" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11645,54 +11654,54 @@ msgstr "Marcado para exclusão" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Um duplo clique para <b>editar</b>-me<br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "Esconder campo %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "Ascendente" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "Descendente" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "Mudar o alinhamento do texto para %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "À esquerda" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "Direita" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "Centralizado" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "Mostrar campo" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "Restaurar o layout padrão" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14561,6 +14570,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "Alternar visões entre a biblioteca e o dispositivo" @@ -14897,7 +14910,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14907,7 +14920,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14959,7 +14972,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -15048,13 +15061,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -15087,7 +15100,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -15095,7 +15108,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -15103,7 +15116,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -15111,13 +15124,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -15151,20 +15164,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -15518,40 +15531,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "Não foi possível converter alguns livros" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "Fila de livros para conversão em massa" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "Colocando na fila " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Obter notícias de " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15865,7 +15878,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opções de personalização do visualizador de eBooks" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "Lembrar do último tamanho da janela" @@ -16121,27 +16134,33 @@ msgstr "Carregando eBook..." msgid "Could not open ebook" msgstr "Não foi possível abrir o eBook" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Opções de controle do visualizador de eBooks" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Se especificado, a janela do visualizador irá tentar vir para frente quando " "iniciada." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "Imprimir alerta javascript e mensagens de console no console" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -16615,64 +16634,64 @@ msgstr "" "Stanza em seu iPhone. Onde myhostname deverá ser o hostname ou o endereço IP " "do computador que o calibre está rodando." -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "marcado" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "sim" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "não" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "desmarcado" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "hoje" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "ontem" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "esteMês" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "diasatrás" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "espaço em branco" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "vazio" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -18567,7 +18586,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -18590,67 +18609,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -18659,7 +18678,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -18667,7 +18686,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -18675,7 +18694,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -18683,7 +18702,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -18692,7 +18711,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -18701,14 +18720,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -18716,7 +18735,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -18724,7 +18743,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -18780,166 +18799,174 @@ msgid "English (Australia)" msgstr "Inglês (Austrália)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +msgid "English (Bulgaria)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "Inglês (Nova Zelândia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "Inglês (Canadá)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "Inglês (Índia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "Inglês (Tailândia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "Inglês (Chipre)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "Inglês (Paquistão)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "Inglês (Israel)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "Inglês (Singapura)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "Inglês (Iémen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "Inglês (Irlanda)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "Inglês (China)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "Espanhol (Paraguai)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "Alemão (AT)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "Holandês (NL)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "Holandês (BE)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/ro.po b/src/calibre/translations/ro.po index 272ac311c7..214d6286bc 100644 --- a/src/calibre/translations/ro.po +++ b/src/calibre/translations/ro.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-11-29 09:51+0000\n" "Last-Translator: Lucian Martin <Unknown>\n" "Language-Team: Romanian <ro@li.org>\n" @@ -16,8 +16,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 " "== 0) && (n != 0))) ? 2: 1));\n" -"X-Launchpad-Export-Date: 2011-12-03 05:05+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:28+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -27,8 +27,8 @@ msgstr "Nu face absolut nimic" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -39,8 +39,8 @@ msgstr "Nu face absolut nimic" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -49,8 +49,8 @@ msgstr "Nu face absolut nimic" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -175,7 +175,7 @@ msgstr "Nu face absolut nimic" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -194,7 +194,7 @@ msgstr "Nu face absolut nimic" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -482,7 +482,7 @@ msgid "Change the way calibre behaves" msgstr "Schimbă modul în care se comportă Calibre" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Adaugă propriile tale coloane" @@ -952,7 +952,7 @@ msgstr "Dezactivează extensia specificată prin nume" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -966,10 +966,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Da" @@ -998,7 +998,7 @@ msgstr "Registrul pentru depanare" msgid "Communicate with Android phones." msgstr "Comunică cu telefoane Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -1006,11 +1006,11 @@ msgstr "" "Lista separată prin virgule a directoarelor ce vor fi trimise către " "dispozitiv. Va fi folosit primul dispozitiv identificat." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Comunică cu telefoanele S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "Comunică cu tabletele WebOS." @@ -1146,8 +1146,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -3251,7 +3251,7 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "pentru o listă completă cu descrieri." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." @@ -3259,7 +3259,7 @@ msgstr "" "Parcurge mai întâi pe lăţime link-urile din fişierele HTML . În mod normal, " "ele sunt parcuse întâi pe adâncime." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3270,7 +3270,7 @@ msgstr "" "fişierele HTML. Trebuie să fie non-negativ. 0 implică faptul că nici un link " "din fişierul rădăcină HTML nu este urmat. Implicit este %default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3699,7 +3699,7 @@ msgstr "MODEL DE EROARE" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "Nu" @@ -4196,7 +4196,7 @@ msgstr "Prefaţă" msgid "Main Text" msgstr "Textul principal" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "%s formatul cărţilor nu este acceptat" @@ -5246,12 +5246,12 @@ msgstr "Exportă directorul catalogului" msgid "Select destination for %(title)s.%(fmt)s" msgstr "Selectaţi destinaţie pentru %(title)s.%(fmt)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "Nu a fost găsită nici o bibliotecă" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " @@ -5261,40 +5261,40 @@ msgstr "" "selectaţi noua locaţie mai jos. Altfel, calibre va uita de această " "bibliotecă." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "Noua locaţie a acestei biblioteci:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "Biblioteca a fost mutată" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "Uită biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "Noua locaţie a bibliotecii" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "Nu a fost găsită nici o bibliotecă la %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "Alege biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Alegeţi biblioteca cu care doriţi să lucraţi" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Schimbă/creează bibliotecă" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -5302,82 +5302,82 @@ msgstr "Schimbă/creează bibliotecă" msgid "%d books" msgstr "%d cărţi" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Schimb rapid" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Redenumeşte biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "Şterge biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "Alege o carte la întamplare" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Întreţinerea bibliotecii" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "Statutul de rezervă al bibliotecii de metadate" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "Porneşte back-up-ul de metadate pentru toate cărţile" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Verifică biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "Restaurează baza de date" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Redenumește" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "Alegeţi o noua denumire pentru bibliotecă <b>%s</b>. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "Reţineţi că actualul folder biblioteca va fi redenumit." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Există deja" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "Directorul %s există deja. Ştergeţi-l mai întâi." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "Prea lung" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Redenumirea a eşuat" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " @@ -5387,11 +5387,11 @@ msgstr "" "aceasta este că unul dintre fişierele din bibliotecă este deschis în alt " "program." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "Biblioteca a fost eliminată" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " @@ -5401,24 +5401,24 @@ msgstr "" "dumneavoastră, dacă doriţi să le ştergeţi, va trebui să executaţi acţiunea " "manual." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "nici unul" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "Statusul back-up-ului" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "Fişierele de metadate ale cărţii rămase pentru a fi scrise: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "Back-up pentru metadate" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." @@ -5426,7 +5426,7 @@ msgstr "" "Metadatele vor fi salvate în timp ce calibre rulează, la o rată de " "aproximativ 1 carte la fiecare 3 secunde." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -5438,7 +5438,7 @@ msgstr "" "utilizând Windows Explorer, apoi indicaţi-i lui calibre noua locaţie şi " "încercaţi din nou." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -5447,7 +5447,7 @@ msgstr "" msgid "Success" msgstr "Succes" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" @@ -5456,7 +5456,7 @@ msgstr "" "aplicaţia calibre să verifice dacă fişierele din biblioteca dvs. se " "potrivesc cu informaţiile din baza de date?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -5467,31 +5467,35 @@ msgstr "" msgid "Failed" msgstr "Eşuat" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" "Verificarea integrităţii bazei de date a eşuat, faceţi clic pe Afişare " "detalii pentru detalii." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "Nu au fost găsite probleme" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" "Fişierele din biblioteca dumneavoastra se potrivesc cu informaţiile din baza " "de date." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Nu este permis" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5499,7 +5503,7 @@ msgstr "" "Nu puteţi schimba biblioteci în timp ce utilizaţi variabila de mediu " "CALIBRE_OVERRIDE_DATABASE_PATH." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "Nu puteţi schimba bibliotecile în timp ce ruleaza alte job-uri." @@ -5591,8 +5595,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -6292,7 +6296,7 @@ msgid "Search for this %s" msgstr "Caută %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "Magazine" @@ -6461,33 +6465,33 @@ msgstr "Se caută în" msgid "Adding..." msgstr "Se adaugă..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Se caută în toate subdirectoarele..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Eroare de cale" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "Directorul specificat nu a putut fi procesat." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Nici o carte" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Nu au fost găsite cărţi" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "Nu aveţi permisiune" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." @@ -6495,15 +6499,15 @@ msgstr "" "Nu se pot adăuga unele fişiere deoarece nu aveţi permisiunea de a le accesa. " "Faceţi clic pe \"Afişare detalii\" pentru a vedea lista de fişiere." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Adăugat" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Adăugarea a eşuat" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -6512,11 +6516,11 @@ msgstr "" "şi adăugaţi cărţile în mai mulţi paşi, până când aţi găsit cartea care a " "cauzat problema." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Au fost găsite dubluri!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" @@ -6524,19 +6528,19 @@ msgstr "" "Cărţi cu acelaşi titlu ca următoarele există deja în baza de date. Adăugaţi-" "le oricum?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Se adaugă duplicate..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Se salvează..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "Se colectează datele, vă rugăm aşteptaţi..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Salvat" @@ -6676,8 +6680,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6704,6 +6708,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "Donează" @@ -7250,7 +7255,7 @@ msgstr "Vizualizare normală" msgid "HTML Source" msgstr "Sursă HTML" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " @@ -7260,11 +7265,15 @@ msgstr "" "salvate într-o conversaţie anterioară (dacă este posibil) în locul celor " "specificate implicit în Preferinţe" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Converteşte în masă" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Opţiuni specifice formatului fişierului de ieşire." @@ -8181,7 +8190,7 @@ msgstr "Apariţii:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -8630,10 +8639,10 @@ msgstr "Browser-ul pentru coperţi nu a putut fi încărcat" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -8646,70 +8655,70 @@ msgid "Undefined" msgstr "Nedefinit" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "stele" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Neevaluat(ă)" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "Setează '%s' la azi" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "Înlătură '%s'" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " index:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" "Enumeraţia \"{0}\" conţine o valoare invalidă care va seta modul implicit" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "Aplică modificările" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "Elimină seria" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "Numerotează cărţile în mod automat" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "Obligă numerele să înceapă cu " -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" "Enumeraţia \"{0}\" conţine valori invalide care nu vor fi afişate în listă" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Elimină toate etichetele" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "etichete de adăugat" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "etichete de eliminat" @@ -9020,7 +9029,7 @@ msgid "My Books" msgstr "Cărţile Mele" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Generează catalog" @@ -10428,7 +10437,7 @@ msgstr "Istoria versiunilor pentru %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "Tot/Toate" @@ -10790,7 +10799,7 @@ msgstr "Elemente" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -12185,44 +12194,44 @@ msgstr "" msgid "Unavailable" msgstr "Indisponibil" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Sarcini:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "Apăsaţi click pentru a vedea lista cu sarcini" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - Sarcini" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "Nicio sarcină selectată" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "Sigur doriţi să opriţi sarcina selectată?" msgstr[1] "Sigur doriţi să opriţi toate sarcinile selectate?" msgstr[2] "Sigur doriţi să opriţi toate sarcinile selectate?" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "Sigur doriţi să opriţi toate sarcinile din afara dispozitivului?" @@ -12252,7 +12261,7 @@ msgstr "&Scurtătură:" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -12443,54 +12452,54 @@ msgstr "Marcat pentru ştergere" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Apăsaţi click pentru a mă <b>edita</b><br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "Ascunde coloana %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "Sortează în %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "Ascendent" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "Descendent" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "Modifică alinierea textului pentru %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "Stânga" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "Dreapta" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "Centru" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "Arată coloana" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "Îngustă coloana dacă este prea lată pentru a încape" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "Restaurează amplasarea implicită" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -15753,6 +15762,10 @@ msgstr "C&reează" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "Cod &Program: (asiguraţi-vă că urmaţi regulile de indentaţie Python)" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "Schimbaţi între vizualizarea bibliotecii şi cea a dispozitivului" @@ -16107,7 +16120,7 @@ msgid "Nam&e/Description ..." msgstr "Num&e/Descriere ..." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "Interogare:" @@ -16117,7 +16130,7 @@ msgid "Enable" msgstr "Activează" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "Inversează" @@ -16178,7 +16191,7 @@ msgstr "" "limitează doar la piaţa respectivă." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "Cumpărând de la acest magazin sprijiniţi dezvoltatorul calibre: %s" @@ -16267,13 +16280,13 @@ msgid "Search:" msgstr "Caută:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "Cărţi:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -16306,7 +16319,7 @@ msgstr "Descarcă" msgid "Price" msgstr "Preț" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -16317,7 +16330,7 @@ msgstr "" "confirma dacă preţul este corect. De multe ori, acest preţ nu include " "promoţiile pe care magazinul le poate avea." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -16329,7 +16342,7 @@ msgstr "" "şi veţi avea un număr limitat de opţiuni pentru ea. Verificaţi cu magazinul " "înainte de a face achiziţia pentru a vă asigura că puteţi citi cartea." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -16342,7 +16355,7 @@ msgstr "" "verificaţi de două ori cu magazinul statutul DRM al cărţii. Este posibil ca " "magazinul să nu împărtăşească folosirea DRM." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." @@ -16350,7 +16363,7 @@ msgstr "" "Statutul DRM al acestei cărţi nu a putut fi determinat. Există posibilitatea " "ca această carte să fie restricţionată DRM." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "Următoarele formate pot fi descărcate direct: %s." @@ -16384,20 +16397,20 @@ msgstr "Nu s-au găsit cărţi care potrivesc interogării dumneavoastră." msgid "Choose format to download to your library." msgstr "Alegeţi formatul în care să descărcaţi în biblioteca dumneavoastră." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "Obţine Cărţi" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "Deschide cartea selectată în browserul web al sistemului" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "Deschide în browser &extern" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "Indisponibil" @@ -16775,12 +16788,12 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "Converteşte cartea %(num)d din %(total)d (%(title)s)" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "Unele cărţi nu s-au putut converti" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " @@ -16789,28 +16802,28 @@ msgstr "" "Nu s-au putut converti %(num)d cărţi din %(tot)d deoarece nu au fost găsite " "formate sursă compatibile." -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "Se adaugă cărţi pentru conversia în masă" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "Se adaugă " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "Converteşte cartea %(num)d din %(tot)d (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Obţine ştiri de la " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "Converteşte" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -17135,7 +17148,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opţiuni de personalizare a vizualizatorului" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "Reţine ultima mărime a ferestrei folosită" @@ -17398,29 +17411,35 @@ msgstr "Se încarcă e-cartea..." msgid "Could not open ebook" msgstr "Nu s-a putut deschide cartea" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Opţiuni pentru controlul vizualizatorului cărţilor" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Dacă este specificat, fereastra vizualizatorului va încerca să vină în prim " "plan atunci când este pornit." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Dacă este specificat, fereastra vizualizatorului va încerca să pornească pe " "tot ecranul." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "Afişează alerta javascript şi mesajele de consolă pe consolă" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -17922,64 +17941,64 @@ msgstr "" "catalog nou în Stanza de pe iPhone. Aici myhostname ar trebui să fie un " "hostname calificat sau adresa IP a computerului de pe care rulează calibre." -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "bifat" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "da" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "nu" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "nebifat" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "azi" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "ieri" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "lunaaceasta" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "zileînurmă" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "gol" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "gol" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "Interogare booleană invalidă \"{0}\"" @@ -20246,7 +20265,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -20269,29 +20288,29 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "uppercase(val) -- returnează valoarea câmpului cu litere mari" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "lowercase(val) -- returnează valoarea câmpului cu litere mici" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" "titlecase(val) -- returnează valoarea câmpului cu prima literă mare iar " "restul mici" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "capitalize(val) -- returnează valoarea câmpului cu majuscule" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "booksize() -- returnează valoarea câmpului mărime" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" @@ -20299,7 +20318,7 @@ msgstr "" "ondevice() -- returnează \"Da\" dacă \"ondevice\" este setat, altfel " "returnează un şir gol" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" @@ -20307,7 +20326,7 @@ msgstr "" "has_cover() -- returnează \"Da\" dacă cartea are copertă, altfel returnează " "un şir gol" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " @@ -20317,7 +20336,7 @@ msgstr "" "vidă. Dacă toate valorile sunt vide, atunci valoarea vidă este returnată. Se " "pot folosi oricâte valori." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " @@ -20327,7 +20346,7 @@ msgstr "" "vide, altfel returnează şirul gol. Această funcţie funcţionează bine " "împreună cu \"test\" sau \"first_non_empty\". Se pot folosi oricâte valori." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " @@ -20337,7 +20356,7 @@ msgstr "" "vidă, altfel returnează şirul gol. Această funcţie funcţionează bine " "împreună cu \"test\" sau \"first_non_empty\". Se pot folosi oricâte valori." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " @@ -20347,7 +20366,7 @@ msgstr "" "returnează şirul gol. Această funcţie funcţionează bine împreună cu \"test\" " "sau \"first_non_empty\". Se pot folosi oricâte valori." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -20362,7 +20381,7 @@ msgstr "" "folosite. Elementele din \"list1\" şi \"list2\" sunt separate prin " "\"separator\" ca şi elementele din lista returnată." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -20375,7 +20394,7 @@ msgstr "" "\"list1\" şi \"list2\" sunt separate prin \"separator\" ca şi elementele din " "lista returnată." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -20388,7 +20407,7 @@ msgstr "" "din \"list1\" şi \"list2\" sunt separate prin \"separator\" ca şi elementele " "din lista returnată." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -20401,7 +20420,7 @@ msgstr "" "Elementele listei sunt separate prin \"separator\" ca şi cele din lista " "returnată." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -20410,7 +20429,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -20419,7 +20438,7 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " @@ -20429,7 +20448,7 @@ msgstr "" "fi folosită în \"format_date\" sau \"days_between\", dar poate fi manipulată " "ca şi oricare alt şir. Data este în formatul ISO." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -20441,7 +20460,7 @@ msgstr "" "\"date2\", altfel este negativ. Dacă oricare \"date1\" sau \"date2\" nu sunt " "variabile de tip dată, funcţia returnează un şir gol." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -20449,7 +20468,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -20508,166 +20527,174 @@ msgid "English (Australia)" msgstr "Engleză (Australia)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 +msgid "English (Japan)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 msgid "English (Bulgaria)" msgstr "Engleză (Bulgaria)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "Engleză (Noua Zeelandă)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "Engleză (Canada)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "Engleză (Grecia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "Engleză (India)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "Engleză (Nepal)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "Engleză (Tailanda)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "Engleză (Turcia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "Engleză (Cipru)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "Engleză (Pakistan)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "Engleză (Croaţia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "Engleză (Indonezia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "Engleză (Israel)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "Engleză (Rusia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "Engleză (Singapore)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "Engleză (Yemen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "Engleză (Irlanda)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "Engleză (China)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "Engleză (Africa de Sud)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "Spaniolă (Paraguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "Spaniolă (Uruguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "Spaniolă (Argentina)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "Spaniolă (Mexic)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "Spaniolă (Cuba)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "Spaniolă (Chile)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "Spaniolă (Ecuador)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "Spaniolă (Honduras)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "Spaniolă (Venezuela)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "Spaniolă (Bolivia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "Spaniolă (Nicaragua)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "Spaniolă (Columbia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "Germană (AT)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "Franceză (BE)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "Olandeză (NL)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "Olandeză (BE)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "AM" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "PM" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "am" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "pm" diff --git a/src/calibre/translations/ru.po b/src/calibre/translations/ru.po index 8e1569451a..9071188ca8 100644 --- a/src/calibre/translations/ru.po +++ b/src/calibre/translations/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.55\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-12-05 19:05+0000\n" "Last-Translator: G0LDEN_key <Unknown>\n" "Language-Team: American English <kde-i18n-doc@lists.kde.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2011-12-06 05:27+0000\n" -"X-Generator: Launchpad (build 14435)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:29+0000\n" +"X-Generator: Launchpad (build 14450)\n" "X-Poedit-Country: RUSSIAN FEDERATION\n" "X-Poedit-Language: Russian\n" "X-Poedit-SourceCharset: utf-8\n" @@ -31,8 +31,8 @@ msgstr "Ничего не делает" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -43,8 +43,8 @@ msgstr "Ничего не делает" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -53,8 +53,8 @@ msgstr "Ничего не делает" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -179,7 +179,7 @@ msgstr "Ничего не делает" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -198,7 +198,7 @@ msgstr "Ничего не делает" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -480,7 +480,7 @@ msgid "Change the way calibre behaves" msgstr "Настройка поведения Сalibre" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Добавьте свои столбцы" @@ -936,7 +936,7 @@ msgstr "Отключить указанный плагин" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -949,10 +949,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Да" @@ -981,7 +981,7 @@ msgstr "Журнал ошибок" msgid "Communicate with Android phones." msgstr "Соединиться с Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -989,11 +989,11 @@ msgstr "" "Разделённый запятаями список директории для отправки e-books на это " "устройство. Будет использовано первое в списке устройство" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Соединиться с телефоном S60" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "Соединиться с WebOS планшетом" @@ -1121,8 +1121,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -3130,7 +3130,7 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "для полного списка с деталями" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." @@ -3138,7 +3138,7 @@ msgstr "" "В файлах HTML в первую очередь следовать по соседним ссылкам. Обычно, " "сначала следование идёт в глубину." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3149,7 +3149,7 @@ msgstr "" "Значение должно быть неотрицательным. 0 указывает, что следование по ссылкам " "производиться не будет. По умолчанию %default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3568,7 +3568,7 @@ msgstr "ОШИБКА ШАБЛОНА" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "Нет" @@ -4035,7 +4035,7 @@ msgstr "Введение" msgid "Main Text" msgstr "Основной текст" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "%s формат книг не поддерживается" @@ -5029,12 +5029,12 @@ msgstr "Экспортировать каталог директории" msgid "Select destination for %(title)s.%(fmt)s" msgstr "Выбрать назначение для %(title)s.%(fmt)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "Библиотека не найдена" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " @@ -5044,40 +5044,40 @@ msgstr "" "перемещена, укажите новое расположение. Иначе calibre забудет про эту " "библиотеку." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "Новое расположение этой библиотеки:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "Библиотека перемещена" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "Забыть библиотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "Расположение новой библиотеки" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "Существующих библиотек Calibre в %s не найдено" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "Выбрать библиотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Выберите библиотеку calibre с которой будете работать" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Переключить/создать библиотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -5085,83 +5085,83 @@ msgstr "Переключить/создать библиотеку" msgid "%d books" msgstr "%d книг(а/и)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Быстрый переход" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Переименовать библиотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "Удалить библиотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "Выбрать случайную книгу" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Обслуживание библиотеки" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "Статус резервирования метаданных библиотеки" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "Запустить резервирование метаданных всех книг" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Проверить библиотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "Восстановить базу данных из резервной копии" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Переименовать" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "Выберите новое название для библиотеки <b> %s </b>. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" "Следует отметить, что фактическая папка библиотеки будет переименована." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Уже существует" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "Папка %s уже существует. Удалите её сначала." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "Слишком длинный" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Переименование не удалось" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " @@ -5170,11 +5170,11 @@ msgstr "" "Не удалось переименовать библиотеку в %s. Обычно причина этого состоит в " "том, что один из файлов в библиотеке открыт в другой программе." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "Библиотека удалена" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " @@ -5183,24 +5183,24 @@ msgstr "" "Библиотека %s удалена из calibre. Файлы остались на компьютере. Если вы " "хотите удалить их, сделайте это вручную." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "нет" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "Статус резервирования" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "Осталось записать файлов метаданных книги: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "Резервировать метаданные" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." @@ -5208,7 +5208,7 @@ msgstr "" "Метаданные будут резервироваться пока calibre запущен, примерно 1 книга в 3 " "секунды." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -5219,7 +5219,7 @@ msgstr "" "Переместите вашу библиотеку в директорию с коротким путем, используя Windows " "Explorer, затем укажите calibre новый путь и попробуйте снова." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -5228,7 +5228,7 @@ msgstr "" msgid "Success" msgstr "Выполнено" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" @@ -5236,7 +5236,7 @@ msgstr "" "Ошибок в базе calibre не найдено. Хотите чтобы calibre проверил, совпадают " "ли файлы с информацией в базе?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -5247,29 +5247,33 @@ msgstr "" msgid "Failed" msgstr "Неудалось" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" "Проверка целостности базы данных завершилась не удачей, нажмите 'Показать " "детали' для подробностей" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "Проблемы не обнаружены" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Запрещено" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5277,7 +5281,7 @@ msgstr "" "Вы не можете изменить библиотеки при использовании " "CALIBRE_OVERRIDE_DATABASE_PATH переменной окружения." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "Вы не можете сменить библиотеку во время выполнения операции." @@ -5370,8 +5374,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -6043,7 +6047,7 @@ msgid "Search for this %s" msgstr "Поиск для %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "Магазины" @@ -6205,33 +6209,33 @@ msgstr "Поиск" msgid "Adding..." msgstr "Добавление..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Ищем во всех под-каталогах ..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Ошибка пути" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "Специальных каталог не может быть обработан." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Нет книг" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Книги не найдены" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "Нет разрешений" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." @@ -6239,15 +6243,15 @@ msgstr "" "Не удается добавить некоторые файлы, т.к вы не имеете доступа к ним. Нажмите " "кнопку \"Показать подробности\", чтобы увидеть список файлов." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Добавлена" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Ошибка при добавлении" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -6255,30 +6259,30 @@ msgstr "" "Процесс добавления книг, видимо, завис. Попробуйте перезапустить calibre и " "добавить книги меньшими порциями до тех пор пока не найдете проблемную книгу." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Есть повторения!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" "Книги со следующими названиями уже имеются в базе. Все равно добавить их?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Добавляем дубликаты ..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Сохранение..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "Идёт сбор данных. Пожалуйста, подождите..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Сохранено" @@ -6418,8 +6422,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6445,6 +6449,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "Пожертвовать" @@ -6978,7 +6983,7 @@ msgstr "Обычный вид" msgid "HTML Source" msgstr "Исходный код HTML" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " @@ -6988,11 +6993,15 @@ msgstr "" "сохраненные во время предыдущей конвертиции (если таковые есть) вместо " "значений по умолчанию указанных в основном окне настроек." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Массовое конвертирование" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Параметры для определенного формата вывода." @@ -7882,7 +7891,7 @@ msgstr "Вхождения" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -8320,10 +8329,10 @@ msgstr "Не могу загрузить просмотрщик обложек" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -8336,68 +8345,68 @@ msgid "Undefined" msgstr "Не определено" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "звезд(а)" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Без оценки" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "Установить '%s' на сегодня" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "Очистить '%s'" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " индекс:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "Применить изменения" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "Удалить серии" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "Автоматически нумеровать книги" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "Задать начало нумрации с " -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Удалить все тэги" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "тэги для добавления" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "метки для удаления" @@ -8701,7 +8710,7 @@ msgid "My Books" msgstr "Мои книги" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Создать каталог" @@ -9958,7 +9967,7 @@ msgstr "История версий для %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "Всё" @@ -10313,7 +10322,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -11666,44 +11675,44 @@ msgstr "" msgid "Unavailable" msgstr "Недоступен" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Задания:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "Нажмите, чтобы увидеть список заданий" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - Задания" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "Вы действительно хотите остановить выбранное задание?" msgstr[1] "Вы действительно хотите остановить выбранные задания?" msgstr[2] "Вы действительно хотите остановить выбранные задания?" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "Вы действительно хотите остановить все задания не на устройствах?" @@ -11733,7 +11742,7 @@ msgstr "&Комбинация клавиш:" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11920,54 +11929,54 @@ msgstr "Отмечено для удаления" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Дважды кликните по <b>редактировать</b><br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "Скрыть столбец %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "Поиск по %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "Возрастание" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "Убывание" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "Изменить выравнивание текста для %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "Влево" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "Вправо" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "По центру" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "Показать столбец" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "Уменьшить столбец, если он не умещается" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "Восстановить расположение по умолчанию" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14920,6 +14929,10 @@ msgstr "Создать" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -15260,7 +15273,7 @@ msgid "Nam&e/Description ..." msgstr "Названи&е/Описание" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "Запрос:" @@ -15270,7 +15283,7 @@ msgid "Enable" msgstr "Включить" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "Инвертировать" @@ -15326,7 +15339,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -15416,13 +15429,13 @@ msgid "Search:" msgstr "Поиск:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "Книги:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -15455,7 +15468,7 @@ msgstr "Скачать" msgid "Price" msgstr "Цена" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -15463,7 +15476,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -15471,7 +15484,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -15479,13 +15492,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "Форматы доступные для непосредственного скачивания: %s." @@ -15521,20 +15534,20 @@ msgstr "Не удалось найти ни одной книги, соотве msgid "Choose format to download to your library." msgstr "Выберите формат для скачивания в библиотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "Скачать книги" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "Показать выбранную книгу в системном интернет броузере" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "Показывать в системном интернет броузере" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "Недоступно" @@ -15892,40 +15905,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "Не могу конвертировать некоторые книги" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Выбрать новости из " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -16243,7 +16256,7 @@ msgid "Options to customize the ebook viewer" msgstr "Опции настроек ebook вьювера" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "Запомнить последний использованный размер окна" @@ -16497,27 +16510,33 @@ msgstr "Загружается электронная книга..." msgid "Could not open ebook" msgstr "Не могу открыть электронную книгу" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Опции управления ebook вьювером" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Если указано, окно вьювера будт пытаться всплыть наверх при открытии." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Если указано, окне просмотра будет открыто во весь экран при запуске." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -17001,64 +17020,64 @@ msgstr "" "\"myhostname\" должно быть полным именем хоста, либо ip адресом компьютера " "на котором запущено приложение calibre." -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "отмечено" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "да" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "нет" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "не отмечено" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "сегодня" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "вчера" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "в этом месяце" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "несколько дней назад" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "пусто" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -18954,7 +18973,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -18977,33 +18996,33 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "uppercase(val) -- возвращает аргумент в верхнем регистре" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "lowercase(val) -- возвращает аргумент в нижнем регистре" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "booksize() -- возвращает размер поля" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" @@ -19011,35 +19030,35 @@ msgstr "" "has_cover() -- вовзращает Да, если у книги есть обложка, иначе возвращает " "пустую строку" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -19048,7 +19067,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -19056,7 +19075,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -19064,7 +19083,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -19072,7 +19091,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -19081,7 +19100,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -19090,7 +19109,7 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " @@ -19100,7 +19119,7 @@ msgstr "" "для использования в format_date или days_between, но можно использовать как " "и любую другую строку. Дата в формате ISO." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -19111,7 +19130,7 @@ msgstr "" "date2. Число положительно, если date1 больше date2, в противном случае " "отрицательно. Если date1 или date2 не даты, функция возвращает пустую строку." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -19119,7 +19138,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -19175,166 +19194,174 @@ msgid "English (Australia)" msgstr "Английский язык (Австралия)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 +msgid "English (Japan)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 msgid "English (Bulgaria)" msgstr "Английский (Болгария)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "Английский язык (Новая Зеландия)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "Английский язык (Канада)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "Английский (Греция)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "Английский язык (Индия)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "Английский язык (Таиланд)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "Английский (Турция)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "Английский язык (Кипр)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "Английский (Пакистан)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "Английский (Хорватия)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "Английский (Индонезия)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "Английский язык (Израиль)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "Английский (Сингапур)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "Английский язык (Йемен)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "Английский язык (Ирландия)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "Английский язык (Китай)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "Английский (Южная Африка)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "Испанский язык (Парагвай)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "Испанский (Уругвай)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "Испанский (Аргентина)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "Испанский (Мексика)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "Испанский (Куба)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "Испанский (Чили)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "Испанский (Эквадор)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "Испанский (Гондурас)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "Испанский (Венесуэла)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "Испанский (Боливия)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "Испанский (Никарагуа)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "Испанский (Колумбия)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "Немецкий язык (AT)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "Французский (BE)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "Нидерландский язык (NL)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "Нидерландский язык (BE)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/sc.po b/src/calibre/translations/sc.po index e680c900f5..6e3ec68ba5 100644 --- a/src/calibre/translations/sc.po +++ b/src/calibre/translations/sc.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2010-12-11 02:46+0000\n" "Last-Translator: Kovid Goyal <Unknown>\n" "Language-Team: Sardinian <sc@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n!=1;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:07+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:31+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -464,7 +464,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -886,7 +886,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -898,10 +898,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -930,17 +930,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1052,8 +1052,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2768,13 +2768,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2782,7 +2782,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3154,7 +3154,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3592,7 +3592,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4468,52 +4468,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4521,123 +4521,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4645,7 +4645,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4654,13 +4654,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4671,33 +4671,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4787,8 +4791,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5433,7 +5437,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5584,75 +5588,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5782,8 +5786,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5806,6 +5810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6336,18 +6341,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7214,7 +7223,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7637,10 +7646,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7653,68 +7662,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8002,7 +8011,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9223,7 +9232,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9563,7 +9572,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10842,43 +10851,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10908,7 +10917,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11095,54 +11104,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13932,6 +13941,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14266,7 +14279,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14276,7 +14289,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14328,7 +14341,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14417,13 +14430,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14456,7 +14469,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14464,7 +14477,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14472,7 +14485,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14480,13 +14493,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14520,20 +14533,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14883,40 +14896,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15219,7 +15232,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15469,25 +15482,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15926,64 +15945,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17740,7 +17759,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17763,67 +17782,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17832,7 +17851,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17840,7 +17859,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17848,7 +17867,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17856,7 +17875,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17865,7 +17884,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17874,14 +17893,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17889,7 +17908,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17897,7 +17916,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17953,166 +17972,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/si.po b/src/calibre/translations/si.po index 33646fce84..53b8aba645 100644 --- a/src/calibre/translations/si.po +++ b/src/calibre/translations/si.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-06-16 06:16+0000\n" "Last-Translator: Dinusha <nivanthaka84@yahoo.com>\n" "Language-Team: Sinhalese <si@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:06+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:30+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -464,7 +464,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -886,7 +886,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -898,10 +898,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -930,17 +930,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1052,8 +1052,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2768,13 +2768,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2782,7 +2782,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3154,7 +3154,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3592,7 +3592,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4468,52 +4468,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4521,123 +4521,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4645,7 +4645,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4654,13 +4654,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4671,33 +4671,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4787,8 +4791,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5433,7 +5437,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5584,75 +5588,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5782,8 +5786,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5806,6 +5810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6336,18 +6341,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7214,7 +7223,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7637,10 +7646,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7653,68 +7662,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8002,7 +8011,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9223,7 +9232,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9563,7 +9572,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10842,43 +10851,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10908,7 +10917,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11095,54 +11104,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13932,6 +13941,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14266,7 +14279,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14276,7 +14289,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14328,7 +14341,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14417,13 +14430,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14456,7 +14469,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14464,7 +14477,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14472,7 +14485,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14480,13 +14493,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14520,20 +14533,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14883,40 +14896,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15219,7 +15232,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15469,25 +15482,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15926,64 +15945,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17740,7 +17759,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17763,67 +17782,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17832,7 +17851,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17840,7 +17859,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17848,7 +17867,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17856,7 +17875,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17865,7 +17884,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17874,14 +17893,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17889,7 +17908,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17897,7 +17916,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17953,166 +17972,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/sk.po b/src/calibre/translations/sk.po index d407af753c..eda5b2554f 100644 --- a/src/calibre/translations/sk.po +++ b/src/calibre/translations/sk.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-11-16 22:40+0000\n" "Last-Translator: mascot4M <Unknown>\n" "Language-Team: Slovak <sk@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:06+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:30+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Nerobí vôbec nič" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Nerobí vôbec nič" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Nerobí vôbec nič" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Nerobí vôbec nič" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Nerobí vôbec nič" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -469,7 +469,7 @@ msgid "Change the way calibre behaves" msgstr "Zmeniť spôsob chovania calibre" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "pridať vlastné stĺpce" @@ -921,7 +921,7 @@ msgstr "Deaktivovať modul podľa mena" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -933,10 +933,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Áno" @@ -965,7 +965,7 @@ msgstr "Debug log" msgid "Communicate with Android phones." msgstr "Komunikácia s telefónmi Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -973,11 +973,11 @@ msgstr "" "Čiarkou oddelený zoznam adresárov na poslanie e-knihy do zariadení. Prvý " "existujúci bude použitý" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Komunikácia s S60 telefónmi" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1096,8 +1096,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2957,13 +2957,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "pre úplný zoznam s popisom." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2974,7 +2974,7 @@ msgstr "" "nie-záporný. 0 znamená, že nebudú žiadne odkazy v koreňovom HTML súbore. " "Predvolená hodnota je %default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3379,7 +3379,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "Nie" @@ -3831,7 +3831,7 @@ msgstr "Predhovor" msgid "Main Text" msgstr "Hlavný text" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "Elektronické knihy vo formáte %s nie sú podporované" @@ -4722,52 +4722,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4775,123 +4775,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Už existuje" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4899,7 +4899,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4908,13 +4908,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4925,33 +4925,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Nedovolené" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -5041,8 +5045,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5688,7 +5692,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5839,75 +5843,75 @@ msgstr "Hľadám v" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Boli nájdené duplikáty!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Uložené" @@ -6037,8 +6041,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6061,6 +6065,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6591,18 +6596,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7472,7 +7481,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7895,10 +7904,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7911,68 +7920,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8264,7 +8273,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9487,7 +9496,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9827,7 +9836,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -11124,43 +11133,43 @@ msgstr "" msgid "Unavailable" msgstr "Nie sú k dispozícii" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Úlohy:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - Úlohy" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -11190,7 +11199,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11377,54 +11386,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14231,6 +14240,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14565,7 +14578,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14575,7 +14588,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14627,7 +14640,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14716,13 +14729,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14755,7 +14768,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14763,7 +14776,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14771,7 +14784,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14779,13 +14792,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14819,20 +14832,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -15182,40 +15195,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "Niektoré knihy sa nepodarilo previesť" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Prevziať správy z " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15520,7 +15533,7 @@ msgid "Options to customize the ebook viewer" msgstr "Možnosti úpravy prehliadača elektronických kníh" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15771,25 +15784,31 @@ msgstr "Načítavam elektronickú knihu..." msgid "Could not open ebook" msgstr "Nepodarilo sa otvoriť knihu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Nastavenie prehliadača elektronických kníh" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -16228,64 +16247,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -18118,7 +18137,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -18141,67 +18160,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -18210,7 +18229,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -18218,7 +18237,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -18226,7 +18245,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -18234,7 +18253,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -18243,7 +18262,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -18252,14 +18271,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -18267,7 +18286,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -18275,7 +18294,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -18331,166 +18350,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/sl.po b/src/calibre/translations/sl.po index 5666d11ec2..1dfe2db391 100644 --- a/src/calibre/translations/sl.po +++ b/src/calibre/translations/sl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.8.12\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-10-03 21:01+0000\n" "Last-Translator: Martin Srebotnjak <miles@filmsi.net>\n" "Language-Team: Martin Srebotnjak <miles@filmsi.net>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || " "n%100==4 ? 3 : 0);\n" -"X-Launchpad-Export-Date: 2011-12-03 05:07+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:30+0000\n" +"X-Generator: Launchpad (build 14450)\n" "X-Poedit-Country: SLOVENIA\n" "X-Poedit-Language: Slovenian\n" "X-Poedit-SourceCharset: iso-8859-1\n" @@ -30,8 +30,8 @@ msgstr "Ne stori ničesar" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -42,8 +42,8 @@ msgstr "Ne stori ničesar" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -52,8 +52,8 @@ msgstr "Ne stori ničesar" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -178,7 +178,7 @@ msgstr "Ne stori ničesar" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -197,7 +197,7 @@ msgstr "Ne stori ničesar" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -477,7 +477,7 @@ msgid "Change the way calibre behaves" msgstr "Spremenite odzivanje programa calibre" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Dodajte lastne stolpce" @@ -931,7 +931,7 @@ msgstr "Onemogoči imenovani vtičnik" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -943,10 +943,10 @@ msgstr "Pot do knjižnice je predolga. Imeti mora manj kot %d znakov." #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Da" @@ -975,7 +975,7 @@ msgstr "Dnevnik razhroščevanja" msgid "Communicate with Android phones." msgstr "Povezovanje s telefoni Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -983,11 +983,11 @@ msgstr "" "Seznam z vejico ločenih map za pošiljanje e-knjig na napravo. Uporabljena bo " "prva obstoječa" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Povezovanje s telefoni S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1109,8 +1109,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2990,13 +2990,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "za popoln seznam z opisi." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3004,7 +3004,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3403,7 +3403,7 @@ msgstr "NAPAKA PREDLOGE" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "Ne" @@ -3847,7 +3847,7 @@ msgstr "Uvod" msgid "Main Text" msgstr "Glavno besedilo" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "Knjige v zapisu %s niso podprte" @@ -4753,52 +4753,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "Ni najdenih knjižnic" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Izberite knjižnico calibre za delovanje" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Zamenjaj/ustvari knjižnico ..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4806,123 +4806,123 @@ msgstr "Zamenjaj/ustvari knjižnico ..." msgid "%d books" msgstr "%d knjig" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Hitri preklop" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Preimenuj knjižnico" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "Odstrani knjižnico" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "Izberi naključno knjigo" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Vzdrževanje knjižnice" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "Stanje varnostnega kopiranja metapodatkov knjižnice" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "Začni varnostno kopirati metapodatke vseh knjig" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Preveri knjižnico" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "Obnovi zbirko podatkov" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Preimenuj" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "Izberite novo ime za knjižnico <b>%s</b>. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "Upoštevajte, da bo dejanska mapa knjižnice preimenovana." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Že obstaja" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "Mapa %s že obstaja. Najprej jo izbrišite." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Preimenovanje ni uspelo" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "Knjižnica odstranjena" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "brez" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "Stanje varnostnega kopiranja" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "Preostale datoteke metapodatkov knjig za pisanje: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "Varnostno kopiraj metapodatke" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4930,7 +4930,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4939,13 +4939,13 @@ msgstr "" msgid "Success" msgstr "Uspešno" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4956,33 +4956,37 @@ msgstr "" msgid "Failed" msgstr "Ni uspelo" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "Ni najdenih težav" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "Datoteke iz vaše knjižnice se ujemajo s podatki v zbirki podatkov." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Ni dovoljeno" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "Knjižnic ne morete zamenjati med izvajanjem opravil." @@ -5072,8 +5076,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5720,7 +5724,7 @@ msgid "Search for this %s" msgstr "Poišči po %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "Trgovine" @@ -5871,75 +5875,75 @@ msgstr "Iskanje v" msgid "Adding..." msgstr "Dodajanje ..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Iskanje v vseh podmapah ..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Napaka poti" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "Navedene mape ni mogoče obdelati." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Ni knjig" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Ni najdenih knjig" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "Ni pravic" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Dodano" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Dodajanje ni uspelo" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Najdeni dvojniki!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Dodajanje dvojnikov ..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Shranjevanje ..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "Zbiranje podatkov, počakajte trenutek ..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Shranjeno" @@ -6069,8 +6073,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6093,6 +6097,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "Doniraj" @@ -6623,18 +6628,22 @@ msgstr "Navadni pogled" msgid "HTML Source" msgstr "Izvorna koda HTML" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Paketna pretvorba" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7506,7 +7515,7 @@ msgstr "Pojavitve:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -7936,10 +7945,10 @@ msgstr "Brskalnika po naslovnicah ni mogoče naložiti" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7952,68 +7961,68 @@ msgid "Undefined" msgstr "Nedoločeno" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "zvezdi(c)" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Neocenjeno" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "Počisti '%s'" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "Uveljavi spremembe" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "Odstrani zbirko" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "Samodejno oštevilči knjige" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Odstrani vse značke" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8305,7 +8314,7 @@ msgid "My Books" msgstr "Moje knjige" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Ustvari katalog" @@ -9528,7 +9537,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "Vse" @@ -9868,7 +9877,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -11153,43 +11162,43 @@ msgstr "" msgid "Unavailable" msgstr "Ni na voljo" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Opravila:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "Kliknite za prikaz seznama opravil" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - Opravila" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -11219,7 +11228,7 @@ msgstr "&Bližnjica:" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11406,54 +11415,54 @@ msgstr "Označeno za brisanje" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Dvoklikni me, da me <b>urediš</b><br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "Skrij stolpec %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "Razvrsti po %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "Naraščajoče" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "Padajoče" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "Levo" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "Desno" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "Pokaži stolpec" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "Obnovi privzeto razporeditev" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14245,6 +14254,10 @@ msgstr "&Ustvari" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "Preklopi med pogledi knjižnice in naprave" @@ -14582,7 +14595,7 @@ msgid "Nam&e/Description ..." msgstr "Im&e/opis ..." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "Poizvedba:" @@ -14592,7 +14605,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14644,7 +14657,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14733,13 +14746,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "Knjige:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14772,7 +14785,7 @@ msgstr "" msgid "Price" msgstr "Cena" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14780,7 +14793,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14788,7 +14801,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14796,13 +14809,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14836,20 +14849,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "Pridobi knjige" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "Ni na voljo" @@ -15209,40 +15222,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "Pretvori knjigo %(num)d od %(total)d (%(title)s)" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "Pretvorba nekaterih knjig ni možna" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "Postavljanje v vrsto " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Pridobi novice z " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "Pretvori obstoječe" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15547,7 +15560,7 @@ msgid "Options to customize the ebook viewer" msgstr "Možnosti za prilagajanje bralnika e-knjig" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "Zapomni si nazadnje uporabljeno velikost okna" @@ -15797,25 +15810,31 @@ msgstr "Nalaganje e-knjige ..." msgid "Could not open ebook" msgstr "E-knjige ni mogoče odpreti" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -16254,64 +16273,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "potrjeno" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "da" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "ne" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "nepotrjeno" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "danes" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "včeraj" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -18124,7 +18143,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -18147,67 +18166,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -18216,7 +18235,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -18224,7 +18243,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -18232,7 +18251,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -18240,7 +18259,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -18249,7 +18268,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -18258,14 +18277,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -18273,7 +18292,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -18281,7 +18300,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -18337,166 +18356,174 @@ msgid "English (Australia)" msgstr "angleški (Avstralija)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +msgid "English (Bulgaria)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "angleški (Nova Zelandija)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "angleški (Kanada)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "angleški (Indija)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "angleški (Tajska)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "angleški (Ciper)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "angleški (Pakistan)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "angleški (Hrvaška)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "angleški (Izrael)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "angleški (Singapur)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "angleški (Jemen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "angleški (Irska)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "angleški (Kitajska)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "španski (Paragvaj)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "španski (Urugvaj)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "španski (Argentina)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "španski (Mehika)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "španski (Kuba)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "španski (Čile)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "španski (Ekvador)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "španski (Honduras)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "španski (Venezuela)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "španski (Bolivija)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "španski (Nikaragva)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "nemški (Avstrija)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "francoski (Belgija)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "nizozemski (Nizozemska)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "nizozemski Belgija)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/sq.po b/src/calibre/translations/sq.po index e1271bc595..2e1c53d161 100644 --- a/src/calibre/translations/sq.po +++ b/src/calibre/translations/sq.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-07 22:44+0000\n" "Last-Translator: Erlis Mulosmani <Unknown>\n" "Language-Team: Albanian <sq@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 04:52+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:16+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "nuk bën absolutisht asgjë" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "nuk bën absolutisht asgjë" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "nuk bën absolutisht asgjë" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "nuk bën absolutisht asgjë" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "nuk bën absolutisht asgjë" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -464,7 +464,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -886,7 +886,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -898,10 +898,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -930,17 +930,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1052,8 +1052,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2768,13 +2768,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2782,7 +2782,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3154,7 +3154,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3592,7 +3592,7 @@ msgstr "" msgid "Main Text" msgstr "Teksti Kryesor" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4468,52 +4468,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4521,123 +4521,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4645,7 +4645,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4654,13 +4654,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4671,33 +4671,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4787,8 +4791,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5433,7 +5437,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5584,75 +5588,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Gabim shtegu" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5782,8 +5786,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5806,6 +5810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6336,18 +6341,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7214,7 +7223,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7637,10 +7646,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7653,68 +7662,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8002,7 +8011,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9223,7 +9232,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9563,7 +9572,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10842,43 +10851,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10908,7 +10917,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11095,54 +11104,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13932,6 +13941,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14266,7 +14279,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14276,7 +14289,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14328,7 +14341,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14417,13 +14430,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14456,7 +14469,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14464,7 +14477,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14472,7 +14485,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14480,13 +14493,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14520,20 +14533,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14883,40 +14896,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15219,7 +15232,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15469,25 +15482,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15926,64 +15945,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17740,7 +17759,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17763,67 +17782,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17832,7 +17851,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17840,7 +17859,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17848,7 +17867,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17856,7 +17875,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17865,7 +17884,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17874,14 +17893,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17889,7 +17908,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17897,7 +17916,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17953,166 +17972,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/sr.po b/src/calibre/translations/sr.po index d1be279f58..dc22519846 100644 --- a/src/calibre/translations/sr.po +++ b/src/calibre/translations/sr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 16:19+0000\n" "Last-Translator: Kovid Goyal <Unknown>\n" "Language-Team: Serbian <sr@li.org>\n" @@ -16,8 +16,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:06+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:29+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -27,8 +27,8 @@ msgstr "Ne radi baš ništa" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -39,8 +39,8 @@ msgstr "Ne radi baš ništa" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -49,8 +49,8 @@ msgstr "Ne radi baš ništa" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -175,7 +175,7 @@ msgstr "Ne radi baš ništa" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -194,7 +194,7 @@ msgstr "Ne radi baš ništa" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -468,7 +468,7 @@ msgid "Change the way calibre behaves" msgstr "Promenite način ponašanja calibrea" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Dodajte sopstvene kolone" @@ -920,7 +920,7 @@ msgstr "Isključi navedeni dodatak" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -932,10 +932,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Da" @@ -964,7 +964,7 @@ msgstr "Izveštaj o radu" msgid "Communicate with Android phones." msgstr "Uspastavi vezu sa Android telefonima." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -972,11 +972,11 @@ msgstr "" "Zarezima razdvojen spisak direktorijuma na uređaju u koje će se slati " "knjige. Koristiće se prvi postojeći." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Uspostavi vezu sa S60 telefonima." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1095,8 +1095,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -3050,14 +3050,14 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" "Prati sve HTML veze prvo po širini. Obično se veze prate prvo po dubini." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3068,7 +3068,7 @@ msgstr "" "nenegativna. Vrednost 0 sprečava praćenje bilo koje veze iz osnovnog HTML " "fajla. Podrazumeva se %default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3476,7 +3476,7 @@ msgstr "GREŠKA U ŠABLONU" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "Ne" @@ -3933,7 +3933,7 @@ msgstr "Predgovor" msgid "Main Text" msgstr "Glavni tekst" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "Knjige u formatu %s nisu podržane" @@ -4901,52 +4901,52 @@ msgstr "Direktorijum za izvoz kataloga" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "Nije pronađena nijedna bibilioteka" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Izaberi calibre biblioteku za rad" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Promeni/kreiraj biblioteku..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4954,84 +4954,84 @@ msgstr "Promeni/kreiraj biblioteku..." msgid "%d books" msgstr "%d knjiga" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Brzi prelazak" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Preimenuj biblioteku" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "Izaberi knjigu nasumice" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Održavanje biblioteke" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "Status rezervne kopije metapodataka iz bilioteke" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "Počni da praviš rezervnu kopiju metapodataka svih knjiga" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Proveri ispravnost biblioteke" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Preimenuj" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "Izaberite novo ime za biblioteku <b>%s</b>. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" "Obratite pažnju, biće promenjeno ime samog direktorijuma u kome je " "biblioteka." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Već postoji" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "Direktorijum %s već postoji. Morate ga prvo izbrisati." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Promena imena nije uspela" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " @@ -5040,41 +5040,41 @@ msgstr "" "Nisam uspeo da promenim ime biblioteke %s. Najčešći uzrok je ako je neki od " "fajlova u biblioteci otvoren u nekom drugom programu." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "nema" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "Status rezervne kopije" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "Preostali metapodaci za upis u knjigu: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "Napravi rezervnu kopiju metapodataka" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -5082,7 +5082,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -5091,13 +5091,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -5108,27 +5108,31 @@ msgstr "" msgid "Failed" msgstr "Nije uspelo" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Nije dozvoljeno" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5136,7 +5140,7 @@ msgstr "" "Ne možete da promenite biblioteku ako koristite promenljivu " "CALIBRE_OVERRIDE_DATABASE_PATH." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "Ne možete da promenite biblioteku kada ima još aktivnih poslova." @@ -5228,8 +5232,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5897,7 +5901,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -6056,47 +6060,47 @@ msgstr "Tražim u" msgid "Adding..." msgstr "Dodajem..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Tražim u svim pod-direktorijumima..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Greška u putanji" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "Nisam mogao da obradim navedeni direktorijum" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Nema knjiga" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Nije nađena nijedna knjiga" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "Nema dozvole" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Dodato" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Dodavanje nije uspelo" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -6105,30 +6109,30 @@ msgstr "" "dodajete knjige u manjim grupama sve dok ne pronađete knjigu koja pravi " "problem." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Pronađeni su duplikati!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" "Knjige sa istim naslovom već postoje u bazi podataka. Da ih ipak dodam?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Dodajem duplikate..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Snimam..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Snimljeno" @@ -6268,8 +6272,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6295,6 +6299,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6828,7 +6833,7 @@ msgstr "Običan pogled na teskt" msgid "HTML Source" msgstr "HTML izvorni kod" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " @@ -6838,11 +6843,15 @@ msgstr "" "sačuvane od prethodne konverzije (ako postoje), umesto korišćenja " "podrazumevanih vrednosti u Podešavanjima" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Masovna konverzija" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Opcije koje zavise od izlaznog formata." @@ -7728,7 +7737,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -8158,10 +8167,10 @@ msgstr "Izlog omota nije mogao biti učitan" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -8174,32 +8183,32 @@ msgid "Undefined" msgstr "Nedefinisano" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "zvezdica" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Bez ocene" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "Postavi '%s' na današnji datum" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " indeks:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" @@ -8207,23 +8216,23 @@ msgstr "" "Enumeracija \"{0}\" sadrži neispravnu vrednost koja će biti promenjena na " "podrazumevanu" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "Ukloni seriju" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "Automatski numeriši knjige" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "Brojanje mora početi od " -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" @@ -8231,15 +8240,15 @@ msgstr "" "Enumeracija \"{0}\" sadrži neispravnu vrednost koja će biti isključena iz " "liste" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Ukloni sve etikete" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "etikete za dodavanje" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "etikete za uklanjanje" @@ -8541,7 +8550,7 @@ msgid "My Books" msgstr "Moje knjige" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Napravi katalog" @@ -9838,7 +9847,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -10178,7 +10187,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -11494,43 +11503,43 @@ msgstr "" msgid "Unavailable" msgstr "Nedostupan" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Poslovi:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "Kliknite da vidite spisak poslova" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - Poslova" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -11560,7 +11569,7 @@ msgstr "&Prečica:" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11749,54 +11758,54 @@ msgstr "Izabrano za brisanje" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Kliknite dva puta da me <b>promenite</b><br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "Sakrij kolonu %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "Sortiraj po koloni %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "Rastući redosled" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "Opadajući redosled" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "Promeni poravnanje za %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "Levo" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "Desno" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "Centrirano" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "Prikaži kolonu" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "Vrati podrazumevani izgled" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14724,6 +14733,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "Prebaci se između pogleda na biblioteku, ili uređaj" @@ -15061,7 +15074,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -15071,7 +15084,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -15123,7 +15136,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -15212,13 +15225,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -15251,7 +15264,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -15259,7 +15272,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -15267,7 +15280,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -15275,13 +15288,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -15315,20 +15328,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -15692,40 +15705,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "Konvertuj knjigu %(num)d od %(total)d (%(title)s)" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "Nisam uspeo da konvertujem neke knjige" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "Stavljam knjige u red čekanja za masovnu konverziju" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "Stavljam u red za čekanje " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Preuzmi vesti sa " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "Konvertuj postojeće" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -16045,7 +16058,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opcije za podešavanje čitača e-knjiga" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "Zapamti poslednje korišćenu veličinu prozora" @@ -16301,28 +16314,34 @@ msgstr "Učitavam e-knjigu..." msgid "Could not open ebook" msgstr "Nisam uspeo da otvorim e-knjigu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Opcije za kontrolu čitača e-knjiga" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Ako je naveden, prozor čitača će pokušati da pri pokretanju dođe u prvi plan." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Ako je navedeno, prozor za čitanje će se pri pokretanju otvoriti preko celog " "ekrana." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "Prikaži javascript upozorenja i poruke na konzoli" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -16803,64 +16822,64 @@ msgstr "" "na vašem iPhoneu. Ovde mojhost treba da bude puno ime ili IP adresa računara " "na kojem ste pokrenuli calibre." -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "obeleženo" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "da" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "ne" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "neobeleženo" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "danas" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "juče" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "ovog meseca" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "dana ranije" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "prazno" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "prazno" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -18895,7 +18914,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -18918,67 +18937,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -18987,7 +19006,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -18995,7 +19014,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -19003,7 +19022,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -19011,7 +19030,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -19020,7 +19039,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -19029,14 +19048,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -19044,7 +19063,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -19052,7 +19071,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -19108,166 +19127,174 @@ msgid "English (Australia)" msgstr "Engleski (Australija)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +msgid "English (Bulgaria)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "Engleski (Novi Zeland)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "Engleski (Kanada)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "Engleski (Indija)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "Engleski (Tajland)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "Engleski (Kipar)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "Engleski (Pakistan)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "Engleski (Izrael)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "Engleski (Singapur)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "Engleski (Jemen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "Engleski (Irska)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "Engleski (Kina)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "Španski (Paragvaj)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "Nemački (Austrija)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "Francuski (BE)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "Holandski (Holandija)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "Holandski (Belgija)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/sv.po b/src/calibre/translations/sv.po index 7e6b211d8f..538af72992 100644 --- a/src/calibre/translations/sv.po +++ b/src/calibre/translations/sv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-12-04 19:49+0000\n" "Last-Translator: Merarom <Unknown>\n" "Language-Team: Swedish <sv@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-05 05:21+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:31+0000\n" +"X-Generator: Launchpad (build 14450)\n" "X-Poedit-Country: SWEDEN\n" "X-Poedit-Language: Swedish\n" @@ -28,8 +28,8 @@ msgstr "Gör absolut ingenting" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -40,8 +40,8 @@ msgstr "Gör absolut ingenting" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -50,8 +50,8 @@ msgstr "Gör absolut ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -176,7 +176,7 @@ msgstr "Gör absolut ingenting" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -195,7 +195,7 @@ msgstr "Gör absolut ingenting" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -478,7 +478,7 @@ msgid "Change the way calibre behaves" msgstr "Ändra Calibres beteende" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Lägg till dina egna kolumner" @@ -933,7 +933,7 @@ msgstr "Inaktivera namngivet tillägg" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -945,10 +945,10 @@ msgstr "Sökväg till biblioteket för lång. Måste vara mindre än tecken %d." #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Ja" @@ -977,7 +977,7 @@ msgstr "Felsökningslogg" msgid "Communicate with Android phones." msgstr "Kommunicera med Android-telefoner." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -985,11 +985,11 @@ msgstr "" "Kommaseparerad lista av kataloger på enheten dit e-böckerna skall skickas. " "Den första katalog som finns kommer att användas" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Kommunicera med S60-telefoner" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "Kommunicera med WebOS-surfplattor." @@ -1125,8 +1125,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -3160,7 +3160,7 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "för en komplett lista med beskrivningar." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." @@ -3168,7 +3168,7 @@ msgstr "" "Gå igenom länkarna i HTML-filer på bredden först. Normalt gås de först " "igenom på djupet." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3179,7 +3179,7 @@ msgstr "" "värde. 0 innebär att ingen länkar i rot-HTML-filen följs. Standard är " "%default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3607,7 +3607,7 @@ msgstr "MALL FEL" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "Nej" @@ -4100,7 +4100,7 @@ msgstr "Förord" msgid "Main Text" msgstr "Huvudtext" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "%s-formaterade böcker stöds inte" @@ -5126,12 +5126,12 @@ msgstr "Exportkatalog" msgid "Select destination for %(title)s.%(fmt)s" msgstr "Välj destination för %(title)s.%(fmt)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "Inga biblioteket hittades" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " @@ -5141,40 +5141,40 @@ msgstr "" "flyttades, välj den nya platsen nedan. Annars Calibre kommer att glömma " "detta bibliotek." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "Ny plats för detta bibliotek:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "Bibliotek flyttat" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "Glöm biblioteket" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "Nya bibliotekets plats" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "Inga befintliga Calibre biblioteket finns på %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "Välj bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Välj Calibre-bibliotek att arbeta med" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Byt/skapa bibliotek..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -5182,82 +5182,82 @@ msgstr "Byt/skapa bibliotek..." msgid "%d books" msgstr "%d böcker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Snabb växling" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Byt namn på biblioteket" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "Ta bort biblioteket" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "Välj en slumpmässig bok" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Bibliotekunderhåll" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "Säkerhetskopieringsstatus metadatabiblioteket" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "Börjar säkerhetskopiera metadata för alla böcker" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Kontrollera biblioteket" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "Återställ databasen" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Byt namn" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "Välj ett nytt namn på biblioteket <b>%s </b>. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "Observera dock att själva bibliotekamappen kommer att döpas om." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Finns redan" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "Mappen %s finns redan. Ta bort den först." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "För lång" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Namnbyte misslyckades" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " @@ -5266,11 +5266,11 @@ msgstr "" "Misslyckades med att byta namn på biblioteket på %s. Den vanligaste orsaken " "till detta är om en av filerna i biblioteket är öppen i ett annat program." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "Bibliotek flyttat" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " @@ -5279,24 +5279,24 @@ msgstr "" "Biblioteket %s har tagits bort från calibre. Filerna finns kvar på din " "dator, om du vill ta bort dem, måste du att göra det manuellt." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "inga" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "Säkerhetskoperingsstatus ..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "Bokmetadatafiler som återstår att skrivas:%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "Säkerhetskopiera metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." @@ -5304,7 +5304,7 @@ msgstr "" "Metadata kommer att backas upp medan caliber är igång, till en kurs av cirka " "1 bok var tredje sekund." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -5315,7 +5315,7 @@ msgstr "" "biblioteket till en plats med en kortare bana med Utforskaren i Windows, led " "calibre till den nya platsen och försök igen." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -5324,7 +5324,7 @@ msgstr "" msgid "Success" msgstr "Lyckades" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" @@ -5333,7 +5333,7 @@ msgstr "" "kontrollera om filerna i biblioteket överensstämmer med de uppgifter i " "databasen?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -5344,28 +5344,32 @@ msgstr "" msgid "Failed" msgstr "Misslyckades" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" "Databasintegritet misslyckades, klicka på Visa detaljer för mer information." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "Hittade inga problem" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "Inga problem upptäcktes" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Tillåẗs ej" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." @@ -5373,7 +5377,7 @@ msgstr "" "Du kan inte ändra bibliotek medan du använder CALIBRE_OVERRIDE_DATABASE_PATH " "miljövariabeln." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "Du kan inte ändra bibliotek medan jobb körs." @@ -5465,8 +5469,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -6163,7 +6167,7 @@ msgid "Search for this %s" msgstr "Sök efter den här %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "Butiker" @@ -6330,33 +6334,33 @@ msgstr "Söker i" msgid "Adding..." msgstr "Lägger till..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Söker i all underkataloger..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Sökvägsfel" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "Den angivna katalogen kunde inte behandlas." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Inga böcker" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Inga böcker hittades" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "Ej behörig" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." @@ -6364,15 +6368,15 @@ msgstr "" "Kan inte lägga till några filer som du inte har behörighet att komma åt dem. " "Klicka på Visa detaljer för att se en lista över sådana filer." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Tillagd" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Kunde inte lägga till" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -6381,11 +6385,11 @@ msgstr "" "Calibre och lägga till böcker i mindre steg, tills du hittar boken som ger " "upphov till problemet." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Dubbletter hittades!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" @@ -6393,19 +6397,19 @@ msgstr "" "Böcker med samma titel som följande finns redan i databasen. Skall de ändå " "läggas till?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Lägger till dubbletter ..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Sparar..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "Insamling av data, var god vänta ..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Sparat" @@ -6545,8 +6549,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6571,6 +6575,7 @@ msgstr "Flera böcker per &mapp, antar varje ebokfil är en annorlunda bok" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "Donera" @@ -7117,7 +7122,7 @@ msgstr "Normal vy" msgid "HTML Source" msgstr "HTML-källa" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " @@ -7127,11 +7132,15 @@ msgstr "" "som sparats i en tidigare konvertering (om den finns) i stället för att " "använda de standardvärden som anges i Inställningar" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Masskonvertering" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Alternativ specifika för utdataformatet." @@ -8044,7 +8053,7 @@ msgstr "Händelser:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -8490,10 +8499,10 @@ msgstr "Omslagsbläddraren kunde inte laddas" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -8506,32 +8515,32 @@ msgid "Undefined" msgstr "Odefinierad" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "stjärna (or)" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Ej Rankat" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "Sätt '%s' till i dag" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "Rensa '%s'" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " index:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" @@ -8539,23 +8548,23 @@ msgstr "" "Uppräkningen \"{0}\" innehåller ett ogiltigt värde som kommer att sättas " "till standard" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "Verkställ ändringar" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "Ta bort serie" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "Automatiskt numrera böcker" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "Tvinga nummerstart att börja med " -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" @@ -8563,15 +8572,15 @@ msgstr "" "Uppräkningen \"{0}\" innehåller ogiltiga värden som inte kommer att visas i " "listan" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Ta bort alla taggar" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "taggar för att lägga till" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "taggar för att ta bort" @@ -8878,7 +8887,7 @@ msgid "My Books" msgstr "Mina böcker" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Generera katalog" @@ -10269,7 +10278,7 @@ msgstr "Versionshistoria för %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "Alla" @@ -10624,7 +10633,7 @@ msgstr "Föremål" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -12005,43 +12014,43 @@ msgstr "" msgid "Unavailable" msgstr "Otillgängligt" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Jobb:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Skift + Alt + J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "Klicka för att se listan över jobb" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - Jobb" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "Vill du verkligen stoppa valda jobbet?" msgstr[1] "Vill du verkligen stoppa alla valda jobben?" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "Vill du verkligen stoppa alla icke-enhets jobb?" @@ -12071,7 +12080,7 @@ msgstr "&Snabbtangent:" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -12262,54 +12271,54 @@ msgstr "Markerat för borttagning" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Dubbelklicka för att <b>redigera</b> mig<br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "Dölj kolumn %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "Sortera på %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "Stigande" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "Fallande" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "Ändra textjustering för %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "Vänster" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "till höger" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "Centrera" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "Visa kolumn" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "Krymp kolumn om det är för brett för att passa" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "Återställ standardutformning" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -15520,6 +15529,10 @@ msgstr "&Skapa" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "&Programkod: (Se till att följa python indragsregler)" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "Växla mellan bibliotek och enhetens visningar" @@ -15871,7 +15884,7 @@ msgid "Nam&e/Description ..." msgstr "&Namn/beskrivning ..." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "Fråga:" @@ -15881,7 +15894,7 @@ msgid "Enable" msgstr "Aktivera" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "Invertera" @@ -15942,7 +15955,7 @@ msgstr "" "butiken är begränsad till bara den marknaden." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "Köp från denna butik stöder Calibre-utvecklare: %s." @@ -16031,13 +16044,13 @@ msgid "Search:" msgstr "Sök:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "Böcker:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -16070,7 +16083,7 @@ msgstr "Hämta" msgid "Price" msgstr "Pris" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -16081,7 +16094,7 @@ msgstr "" "kontrollera detta pris är korrekt. Detta pris ofta ingår inte kampanjer i " "butiken som pågår." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -16093,7 +16106,7 @@ msgstr "" "dig om vad du kan göra med denna bok. Kontrollera med butiken innan du gör " "några inköp för att du faktiskt kan läsa den här boken." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -16105,7 +16118,7 @@ msgstr "" "konvertering. Men innan du köper dubbelkolla DRM status med butiken. Butiken " "kanske inte visar användningen av DRM." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." @@ -16113,7 +16126,7 @@ msgstr "" "DRM status i denna bok kunde inte fastställas. Det finns en mycket hög " "sannolikhet att denna bok är faktiskt DRM begränsad." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "Följande format kan laddas ner direkt: %s." @@ -16147,20 +16160,20 @@ msgstr "Kunde inte hitta några böcker som passar din sökning." msgid "Choose format to download to your library." msgstr "Välj format att ladda ner till ditt bibliotek." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "Hämta böcker" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "Öppna en vald bok i systemets webbläsare" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "Öppna i &extern webbläsare" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "Inte tillgänglig" @@ -16531,12 +16544,12 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "Konvertera bok %(num)d av %(total)d (%(title)s)" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "Kunde inte konvertera några böcker" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " @@ -16545,28 +16558,28 @@ msgstr "" "Kunde inte konvertera %(num)d av %(tot)d böcker, eftersom inget passande " "källformat hittades." -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "Köar böcker för masskonvertering" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "Köar " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "Konvertera bok %(num)d av %(tot)d (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Hämta nyheter från " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "Konvertering finns" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -16887,7 +16900,7 @@ msgid "Options to customize the ebook viewer" msgstr "Alternativ för att anpassa läsplattan" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "Kom ihåg senast använd fönsterstorlek" @@ -17147,27 +17160,33 @@ msgstr "Laddar e-bok...." msgid "Could not open ebook" msgstr "Kunde inte öppna e-bok" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Alternativ för att styra läsplattan" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Om angivet, kommer läsfönstret att försöka lägga sig överst vid start." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Om vald kommer visningsfönstret försöker öppna helskärm när den startas." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "Skriv javaskriptnotifieringar och konsolmeddelanden till konsolen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -17661,64 +17680,64 @@ msgstr "" "läsaren på din iPhone. Myhostname bör vara det fullständiga värdnamnet eller " "IP-adressen till datorn Calibre körs på." -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "ikryssad" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "ja" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "nej" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "inte ikryssad" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "i dag" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "i går" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "denna månad" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "dagar sedan" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "tom" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "tom" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "Ogiltig Boolesk fråga \"{0}\"" @@ -19980,7 +19999,7 @@ msgstr "" "\"B.C\". Antag ett #genre värde \"A.B.C, D.E.F\", {#genre:subitems(0,1)} " "returnerar \"A, D\". {#genre:subitems(0,2)} returnerar \"A.B, D.E\"" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -20003,27 +20022,27 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "uppercase(val) - Returnerar värdet i fältet med versaler" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "lowercase(val) - Returnerar värdet i fältet med gemener" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "titlecase(val) - returvärde på fältet i titelformat" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "capitalize(Val) - Returnerar värdet av fältet med versaler" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "booksize() - returnera värdet av fältetstorlek" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" @@ -20031,7 +20050,7 @@ msgstr "" "ondevice() -- returnera Ja om ondevice är inställd, annars returnera " "tillbaka den tomma strängen" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" @@ -20039,7 +20058,7 @@ msgstr "" "has_cover () - returnera Ja om boken har ett omslag, annars tillbaka den " "tomma strängen" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " @@ -20049,7 +20068,7 @@ msgstr "" "är tomt. Om alla värden är tomma, då returneras det tomma värdet. Du kan ha " "så många värden som du vill." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " @@ -20059,7 +20078,7 @@ msgstr "" "tom, annars returneras en tom sträng. Denna funktion fungerar bra med test " "eller first_non_empty. Du kan ha så många värden som du vill." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " @@ -20069,7 +20088,7 @@ msgstr "" "tomt, annars returneras en tom sträng. Denna funktion fungerar bra med test " "eller first_non_empty. Du kan ha så många värden som du vill." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " @@ -20079,7 +20098,7 @@ msgstr "" "en tom sträng. Denna funktion fungerar bra med test eller first_non_empty. " "Du kan ha så många värden som du vill." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -20093,7 +20112,7 @@ msgstr "" "används. Objekten i List1 och List2 skiljs åt av separator, liksom de " "artiklar i den returnerade listan." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -20105,7 +20124,7 @@ msgstr "" "jämförelse. Objekten i List1 och List2 skiljs åt av separator, liksom de " "artiklar i den returnerade listan." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -20117,7 +20136,7 @@ msgstr "" "skiftlägeskänslig jämföra. Objekten i List1 och List2 skiljs åt av " "separator, liksom de artiklar i den returnerade listan." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -20129,7 +20148,7 @@ msgstr "" "stigande, annars fallande. Listan objekt skiljs åt av separator, liksom de " "artiklar i den returnerade listan." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -20138,7 +20157,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -20147,7 +20166,7 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " @@ -20157,7 +20176,7 @@ msgstr "" "användning i format_date eller days_between, men kan manipuleras som alla " "andra strängen. Datumet är i ISO-format." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -20168,7 +20187,7 @@ msgstr "" "datum2. Numret är positivt om date1 är större än date2, annars negativ. Om " "någon datum1 eller datum2 inte datum, returnerar funktionen en tom sträng." -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -20176,7 +20195,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -20232,166 +20251,174 @@ msgid "English (Australia)" msgstr "Engelska (Australien)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 +msgid "English (Japan)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 msgid "English (Bulgaria)" msgstr "Engelska (Bulgarien)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "Engelska (Nya Zeeland)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "Engelska (Kanada)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "Engelska (Grekland)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "Engelska (Indien)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "Engelska (Thailand)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "Engelska (Turkiet)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "Engelska (Cypern)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "Engelska (Pakistan)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "Engelska (Kroatien)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "Engelska (Indonesien)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "Engelska (Israel)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "Engelska (Singapore)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "Engelska (Jemen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "Engelska (Irland)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "Engelska (Kina)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "Engelska (Sydafrika)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "Spanska (Paraguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "Spanska (Uruguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "Spanska (Argentina)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "Spanska (Mexiko)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "Spanska (Kuba)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "Spanska (Chile)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "Spanska (Ecuador)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "Spanska (Honduras)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "Spanska (Venezuela)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "Spanska (Bolivia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "Spanska (Nicaragua)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "Spanska (Colombia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "Tyska (Österrike)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "Franska (BE)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "Holländska (Nederländerna)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "Holländska (Belgien)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "AM" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "PM" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "am" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "pm" diff --git a/src/calibre/translations/ta.po b/src/calibre/translations/ta.po index 1505e1e216..2d143934ee 100644 --- a/src/calibre/translations/ta.po +++ b/src/calibre/translations/ta.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 17:54+0000\n" "Last-Translator: Kovid Goyal <Unknown>\n" "Language-Team: Tamil <ta@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:08+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:31+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "நிச்சயமாக எதுவும் செய்யாத #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "நிச்சயமாக எதுவும் செய்யாத #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "நிச்சயமாக எதுவும் செய்யாத #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "நிச்சயமாக எதுவும் செய்யாத #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "நிச்சயமாக எதுவும் செய்யாத #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -464,7 +464,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -886,7 +886,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -898,10 +898,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -930,17 +930,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1052,8 +1052,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2768,13 +2768,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2782,7 +2782,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3157,7 +3157,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3595,7 +3595,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4471,52 +4471,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4524,123 +4524,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4648,7 +4648,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4657,13 +4657,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4674,33 +4674,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4790,8 +4794,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5436,7 +5440,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5587,75 +5591,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5785,8 +5789,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5809,6 +5813,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6339,18 +6344,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7217,7 +7226,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7640,10 +7649,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7656,68 +7665,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8005,7 +8014,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9226,7 +9235,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9566,7 +9575,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10845,43 +10854,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10911,7 +10920,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11098,54 +11107,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13935,6 +13944,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14269,7 +14282,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14279,7 +14292,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14331,7 +14344,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14420,13 +14433,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14459,7 +14472,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14467,7 +14480,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14475,7 +14488,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14483,13 +14496,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14523,20 +14536,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14886,40 +14899,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15222,7 +15235,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15472,25 +15485,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15929,64 +15948,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17743,7 +17762,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17766,67 +17785,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17835,7 +17854,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17843,7 +17862,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17851,7 +17870,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17859,7 +17878,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17868,7 +17887,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17877,14 +17896,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17892,7 +17911,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17900,7 +17919,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17956,166 +17975,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/te.po b/src/calibre/translations/te.po index 3642d5bef8..74a63cbd8b 100644 --- a/src/calibre/translations/te.po +++ b/src/calibre/translations/te.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 17:01+0000\n" "Last-Translator: Kovid Goyal <Unknown>\n" "Language-Team: Telugu <te@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:08+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:32+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -464,7 +464,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -886,7 +886,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -898,10 +898,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -930,17 +930,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1052,8 +1052,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2768,13 +2768,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2782,7 +2782,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3154,7 +3154,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3592,7 +3592,7 @@ msgstr "పీఠిక" msgid "Main Text" msgstr "ముఖ్య పాఠ్యం" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4468,52 +4468,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4521,123 +4521,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4645,7 +4645,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4654,13 +4654,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4671,33 +4671,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4787,8 +4791,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5433,7 +5437,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5584,75 +5588,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "పుస్తకాలు లేవు" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5782,8 +5786,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5806,6 +5810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6336,18 +6341,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7214,7 +7223,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7637,10 +7646,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7653,68 +7662,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8002,7 +8011,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9223,7 +9232,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9563,7 +9572,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10842,43 +10851,43 @@ msgstr "" msgid "Unavailable" msgstr "అందుబాటులో లేదు" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10908,7 +10917,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11095,54 +11104,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13932,6 +13941,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14266,7 +14279,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14276,7 +14289,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14328,7 +14341,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14417,13 +14430,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14456,7 +14469,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14464,7 +14477,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14472,7 +14485,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14480,13 +14493,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14520,20 +14533,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14883,40 +14896,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15219,7 +15232,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15469,25 +15482,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15926,64 +15945,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17740,7 +17759,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17763,67 +17782,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17832,7 +17851,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17840,7 +17859,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17848,7 +17867,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17856,7 +17875,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17865,7 +17884,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17874,14 +17893,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17889,7 +17908,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17897,7 +17916,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17953,166 +17972,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/th.po b/src/calibre/translations/th.po index 96132c9896..d5f3ef09ba 100644 --- a/src/calibre/translations/th.po +++ b/src/calibre/translations/th.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-08-05 16:43+0000\n" "Last-Translator: sksy <songkit@gmail.com>\n" "Language-Team: Thai <th@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:08+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:32+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:410 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:431 @@ -36,8 +36,8 @@ msgstr "ไม่มีอะไรเลย" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -48,8 +48,8 @@ msgstr "ไม่มีอะไรเลย" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -58,8 +58,8 @@ msgstr "ไม่มีอะไรเลย" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -184,7 +184,7 @@ msgstr "ไม่มีอะไรเลย" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -203,7 +203,7 @@ msgstr "ไม่มีอะไรเลย" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -466,7 +466,7 @@ msgid "Change the way calibre behaves" msgstr "เปลี่ยนแปลงพฤติกรรมในการทำงานของ calibre" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "เพิ่มคอลัมน์ของคุณเอง" @@ -911,7 +911,7 @@ msgstr "พักใช้งานเนมปลั้กอิน" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -923,10 +923,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -955,7 +955,7 @@ msgstr "" msgid "Communicate with Android phones." msgstr "ติดต่อกับโทรศัพท์แอนดรอยด์" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -963,11 +963,11 @@ msgstr "" "รายการไดเรคตอรี่ที่คั่นด้วยคอมม่าเพื่อส่งอีบุคส์ไปยังอุปกรณ์ปลายทางซึ่งจะใช้ช" "ื่อที่พบครั้งแรกก่อน" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "ติดต่อกับโทรศัพท์ S60" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1088,8 +1088,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2914,13 +2914,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2930,7 +2930,7 @@ msgstr "" "ค่าสูงสุดของลำดับชั้นในการตามลิงก์ของไฟล์ HTML จะต้องไม่เป็นค่าติดลบ " "ค่าศูนย์แปลว่าไม่ต้องตามลิงก์ ค่าเริ่มต้นคือ %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3307,7 +3307,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3745,7 +3745,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4621,52 +4621,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4674,123 +4674,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4798,7 +4798,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4807,13 +4807,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4824,33 +4824,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4940,8 +4944,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5586,7 +5590,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5737,75 +5741,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5935,8 +5939,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5959,6 +5963,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6489,18 +6494,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7367,7 +7376,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7790,10 +7799,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7806,68 +7815,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8155,7 +8164,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9376,7 +9385,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9716,7 +9725,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10995,43 +11004,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -11061,7 +11070,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11248,54 +11257,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14085,6 +14094,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14419,7 +14432,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14429,7 +14442,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14481,7 +14494,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14570,13 +14583,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14609,7 +14622,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14617,7 +14630,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14625,7 +14638,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14633,13 +14646,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14673,20 +14686,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -15036,40 +15049,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15372,7 +15385,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15622,25 +15635,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -16079,64 +16098,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17893,7 +17912,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17916,67 +17935,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17985,7 +18004,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17993,7 +18012,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -18001,7 +18020,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -18009,7 +18028,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -18018,7 +18037,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -18027,14 +18046,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -18042,7 +18061,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -18050,7 +18069,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -18106,166 +18125,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/tr.po b/src/calibre/translations/tr.po index 6d8758a557..6fff077e12 100644 --- a/src/calibre/translations/tr.po +++ b/src/calibre/translations/tr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-10-24 13:59+0000\n" "Last-Translator: ismail yenigul <Unknown>\n" "Language-Team: Turkish <tr@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:09+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:32+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Hiçbir şey yapmaz" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Hiçbir şey yapmaz" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Hiçbir şey yapmaz" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Hiçbir şey yapmaz" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Hiçbir şey yapmaz" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -474,7 +474,7 @@ msgid "Change the way calibre behaves" msgstr "Calibre'nin işleyiş şeklini değiştirin" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Kendi sütunlarınızı ekleyin" @@ -930,7 +930,7 @@ msgstr "İsimlendirilmiş eklentiler geçersiz" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -942,10 +942,10 @@ msgstr "Kütüphanenin yolu çok uzun. %d karakterden daha az olmalı" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "EVET" @@ -974,7 +974,7 @@ msgstr "Hata ayıklama logu" msgid "Communicate with Android phones." msgstr "Android telefonlar ile iletişim kur." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -982,11 +982,11 @@ msgstr "" "Aygıtta e-kitapların gönderileceğin klasörlerin virgülle ayrılmış listesi. " "Var olan ilk klasör kullanılacaktır." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "S60 telefonlar ile haberleş." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "WebOS tablet ile bağlantı kur" @@ -1123,8 +1123,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -3075,13 +3075,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "Tanımları ile birlikte tam liste için" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -3089,7 +3089,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3478,7 +3478,7 @@ msgstr "ŞABLON HATASI" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "No" @@ -3919,7 +3919,7 @@ msgstr "Önsöz" msgid "Main Text" msgstr "Ana Metin" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "%s biçimli litaplar desteklenmiyor" @@ -4802,52 +4802,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4855,123 +4855,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Yeniden adlandır" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "yok" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4979,7 +4979,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4988,13 +4988,13 @@ msgstr "" msgid "Success" msgstr "Başarılı" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -5005,33 +5005,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -5121,8 +5125,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5767,7 +5771,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5918,75 +5922,75 @@ msgstr "" msgid "Adding..." msgstr "Ekleniyor..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Kitap yok" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Kitap bulunmadı" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Eklendi" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Ekleme başarısız" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Kaydediliyor..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Kaydedildi" @@ -6116,8 +6120,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6140,6 +6144,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "Bağış" @@ -6670,18 +6675,22 @@ msgstr "" msgid "HTML Source" msgstr "HTML Kaynağı" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7548,7 +7557,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -7971,10 +7980,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7987,68 +7996,68 @@ msgid "Undefined" msgstr "Tanımsız" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "yıldız" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Derecelendirilmemiş" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " İndeks" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "Değişiklikleri uygula" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "Kitapları otomatik numaralandır" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Bütün etiketleri kaldır" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "eklenecek etiketler" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "kaldırılacak etiketler" @@ -8336,7 +8345,7 @@ msgid "My Books" msgstr "Kitaplarım" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Katalog oluştur" @@ -9557,7 +9566,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "Tümü" @@ -9897,7 +9906,7 @@ msgstr "Öğeler" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -11176,43 +11185,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -11242,7 +11251,7 @@ msgstr "&Kısayol:" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11429,54 +11438,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14279,6 +14288,10 @@ msgstr "&Oluştur" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14613,7 +14626,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14623,7 +14636,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14675,7 +14688,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14764,13 +14777,13 @@ msgid "Search:" msgstr "Arama:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14803,7 +14816,7 @@ msgstr "" msgid "Price" msgstr "Fiyat" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14811,7 +14824,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14819,7 +14832,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14827,13 +14840,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14867,20 +14880,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -15230,40 +15243,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15568,7 +15581,7 @@ msgid "Options to customize the ebook viewer" msgstr "Ekitap görüntüleyiciyi kişiselleştirmek için seçenekler" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "En son kullanılan pencere boyutunu hatırla" @@ -15822,25 +15835,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -16279,64 +16298,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "evet" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "hayır" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "bugün" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "dün" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -18095,7 +18114,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -18118,67 +18137,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -18187,7 +18206,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -18195,7 +18214,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -18203,7 +18222,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -18211,7 +18230,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -18220,7 +18239,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -18229,14 +18248,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -18244,7 +18263,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -18252,7 +18271,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -18308,166 +18327,174 @@ msgid "English (Australia)" msgstr "İngilizce (Avustralya)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +msgid "English (Bulgaria)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "İngilizce (Yeni Zelanda)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "İngilizce (Kanada)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "İngilizce (Yunanistan)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "İngilizce (Hindistan)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "İngilizce (Tayland)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "İngilizce (Türkiye)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "English (Kıbrıs)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "İngilizce (Pakistan)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "İngilizce (Hırvatistan)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "İngilizce (Endonezya)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "English (İsrail)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "İngilizce (Singapur)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "İngilizce (Yemen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "İngilizce (İrlanda)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "İngilizce (Güney Afrika)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "İspanyolca (Paraguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "İspanyolca (Uruguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "İspanyolca (Arjantin)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "İspanyolca (Meksika)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "İspanyolca (Küba)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "İspanyolca (Şili)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "İspanyolca (Ekvador)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "İspanyolca (Honduras)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "İspanyolca (Venezuela)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "İspanyolca (Bolivya)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "İspanyolca (Nikaragua)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "İspanyolca (Kolombiya)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/uk.po b/src/calibre/translations/uk.po index 469ab9b445..e2c0499817 100644 --- a/src/calibre/translations/uk.po +++ b/src/calibre/translations/uk.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" -"PO-Revision-Date: 2011-12-05 18:27+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" +"PO-Revision-Date: 2011-12-14 20:01+0000\n" "Last-Translator: yurchor <Unknown>\n" "Language-Team: Ukrainian <uk@li.org>\n" "MIME-Version: 1.0\n" @@ -17,8 +17,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2011-12-06 05:28+0000\n" -"X-Generator: Launchpad (build 14435)\n" +"X-Launchpad-Export-Date: 2011-12-15 05:18+0000\n" +"X-Generator: Launchpad (build 14487)\n" "Language: uk\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -29,8 +29,8 @@ msgstr "Не робить абсолютно нічого" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -41,8 +41,8 @@ msgstr "Не робить абсолютно нічого" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -51,8 +51,8 @@ msgstr "Не робить абсолютно нічого" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -177,7 +177,7 @@ msgstr "Не робить абсолютно нічого" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -196,7 +196,7 @@ msgstr "Не робить абсолютно нічого" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -276,6 +276,9 @@ msgid "" "Textile references to images. The referenced images as well as the TXT file " "are added to the archive." msgstr "" +"Створити архів TXTZ у разі імпортування файла TXT, що містить посилання " +"Markdown або Textile на зображення. До архіву буде додано разом з файлом TXT " +"файли зображень." #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:127 msgid "Extract cover from comic files" @@ -476,7 +479,7 @@ msgid "Change the way calibre behaves" msgstr "Змінити спосіб поведінки Calibre" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Додати власну колонку" @@ -709,8 +712,8 @@ msgid "" "This profile tries to provide sane defaults and is useful if you know " "nothing about the input document." msgstr "" -"Цей профіль намагається надати вірні дані за замовчуванням і буде корисним " -"для тих, хто нічого не знає про документ вводу." +"Цей профіль намагається надати правильні типові значення. Він може " +"знадобитися, якщо вам нічого невідомо про документ з вхідними даними." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:60 #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:453 @@ -792,9 +795,9 @@ msgid "" "produce a document intended to be read at a computer or on a range of " "devices." msgstr "" -"Цей профіль намагається забезпечити прийнятні значення за замовчуванням, це " -"корисно, якщо ви хочете створити документ, призначений для читання на " -"комп'ютері або на різних пристроях." +"Цей профіль намагається забезпечити прийнятні типові значення. Це корисно, " +"якщо ви хочете створити документ, призначений для читання на комп'ютері або " +"на різних пристроях." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:277 msgid "" @@ -933,7 +936,7 @@ msgstr "Вимкнути вказаний за назвою додаток" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -946,10 +949,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Так" @@ -978,7 +981,7 @@ msgstr "Журнал зневаджування" msgid "Communicate with Android phones." msgstr "Зв'язується з телефонами на базі операційної системи \"Android\"" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -986,11 +989,11 @@ msgstr "" "Перелік папок (розділений комами) для надсилання електронних книжок на " "пристрій. Будуть використані ті, що були створені першими." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Зв'язується з телефонами на базі операційної системи \"S60\"" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "Обмін даними з планшетами під керуванням WebOS." @@ -1005,6 +1008,16 @@ msgid "" "iTunes</em> menu item.</p><p>Enabling the Apple driver for direct connection " "to iDevices is an unsupported advanced user mode.</p><p></p>" msgstr "" +"<p>Якщо ви не бажаєте, щоб calibre розпізнавала ваш пристрій Apple під час " +"з’єднання пристрою з комп’ютером, натисніть <b>Вимкнути драйвер " +"Apple</b>.</p><p>Щоб перенести книги на ваш пристрій Apple, натисніть " +"<b>Вимкнути драйвер Apple</b>, потім скористайтеся способом «Connect to " +"iTunes», рекомендованим у <a " +"href=\"http://www.mobileread.com/forums/showthread.php?t=118559\">списку " +"поширених питань Calibre + iDevices</a>, за допомогою пункту меню " +"<em>З’єднання/Оприлюднення</em>|<em>З’єднатися з iTunes</em>.</p><p>Вмикання " +"драйвера Apple для безпосереднього з’єднання з пристроєм Apple є " +"непідтримуваним розширеним режимом користування.</p><p></p>" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:64 msgid "Disable Apple driver" @@ -1016,11 +1029,11 @@ msgstr "Вимкнути драйвер Apple" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:118 msgid "Use Series as Category in iTunes/iBooks" -msgstr "Використати Серії як Категорії в iTunes/iBooks" +msgstr "Використати Серії як Категорії у iTunes/iBooks" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:119 msgid "Enable to use the series name as the iTunes Genre, iBooks Category" -msgstr "" +msgstr "Увімкнути використання назви серія як жанру iTunes, категорія iBooks" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:121 msgid "Cache covers from iTunes/iBooks" @@ -1036,6 +1049,8 @@ msgid "" "\"Copy files to iTunes Media folder %s\" is enabled in iTunes " "Preferences|Advanced" msgstr "" +"У «Налаштуваннях iTunes->Додатково» позначено пункт «Копіювати файли до теки " +"даних iTunes %s»" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:126 msgid "" @@ -1044,6 +1059,11 @@ msgid "" "your calibre configuration directory.</p><p>Enabling indicates that iTunes " "is configured to store copies in your iTunes Media folder.</p>" msgstr "" +"<p>Значення цього параметра має збігатися зі значенням параметра у iTunes " +"(<i>Налаштування</i>-><i>Додатково</i>.</p><p>Якщо позначку буде знято, " +"копії книжок, переданих на iTunes, будуть зберігатися у вашому каталозі " +"налаштувань calibre.</p><p>Позначення пункту означатиме, що iTunes " +"налаштовано на зберігання копій у вашій теці даних iTunes.</p>" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:190 msgid "Apple device" @@ -1109,8 +1129,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -1465,6 +1485,11 @@ msgid "" "the Kindle when uploading MOBI files by USB. Note that the page numbers do " "not correspond to any paper book." msgstr "" +"У Kindle 3 і новіших версіях передбачено можливість використання даних щодо " +"номерів сторінок у файлах MOBI. Якщо буде позначено цей пункт, calibre " +"обчислить і надішле ці дані на Kindle під час вивантаження файлів MOBI за " +"допомогою USB. Зауважте, що номери сторінок не відповідають номерам сторінок " +"паперових книжок." #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:304 msgid "Use slower but more accurate page number generation" @@ -1477,6 +1502,10 @@ msgid "" "book. However, this method is slower and will slow down sending files to the " "Kindle." msgstr "" +"Передбачено два способи створення даних щодо номерів сторінок. Використання " +"точнішого засобу створення призведе до створення сторінок з кращою " +"відповідністю друкованим книгам. Цей спосіб обробки є повільнішим, він " +"уповільнює передавання файлів на Kindle." #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:374 msgid "Communicate with the Kindle DX eBook reader." @@ -1492,7 +1521,7 @@ msgstr "Зв’язується з Kobo Reader." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:56 msgid "The Kobo supports several collections including " -msgstr "" +msgstr "У Kobo передбачено підтримку декількох збірок, зокрема " #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:58 msgid "Create tags for automatic management" @@ -1508,6 +1537,10 @@ msgid "" "With this option, calibre will send a separate cover image to the reader, " "useful if you have modified the cover." msgstr "" +"Зазвичай пристрої читання KOBO визначають зображення обкладинки з самого " +"файла електронної книги. Якщо буде позначено цей пункт, calibre надішле на " +"пристрій читання окреме зображення обкладинки. Корисно, якщо вами було " +"змінено зображення обкладинки." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:64 msgid "Upload Black and White Covers" @@ -1523,6 +1556,10 @@ msgid "" "With this option Calibre will show the expired records and allow you to " "delete them with the new delete logic." msgstr "" +"Вада у попередній версії призводила до того, що у базі даних залишалися " +"записи книг не у форматі kepub. Якщо буде позначено цей пункт, Calibre " +"покаже застарілі записи. Програма надасть вам змогу вилучити ці записи за " +"допомогою нової логіки вилучення." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:573 #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:381 @@ -1710,6 +1747,9 @@ msgid "" "%(aba)s:%(abav)s. Add these values to the list to enable them. The " "collections will be given the name provided after the \":\" character." msgstr "" +". Доступні дві особливі збірки: %(abt)s:%(abtv)s і %(aba)s:%(abav)s. Додайте " +"ці значення до списку, щоб увімкнути їх. Збіркам буде надано назву, вказану " +"після символу «:»." #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:77 msgid "Upload separate cover thumbnails for books (newer readers)" @@ -1723,6 +1763,12 @@ msgid "" "WARNING: This option should only be used with newer SONY readers: 350, 650, " "950 and newer." msgstr "" +"Зазвичай, пристрої для читання SONY отримують зображення обкладинки з файлу " +"електронної книги. Якщо буде позначено цей пункт, calibre надішле окреме " +"зображення обкладинки до пристрою. Це корисно, якщо ви надсилаєте на " +"пристрій книги із захистом DRM, для яких не можна змінити зображення " +"обкладинки. УВАГА! Цим пунктом слід користуватися лише на нових пристроях " +"SONY: 350, 650, 950 та новіших ." #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:84 msgid "" @@ -1738,6 +1784,9 @@ msgid "" "your device. Unset this option if you have so many books on the reader that " "performance is unacceptable." msgstr "" +"Позначте цей пункт, щоб отримувати окремі обкладинки книжок кожен раз, коли " +"ви приєднуєте свій пристрій. Зніміть позначення, якщо на вашому пристрої " +"багато книжок на пристрої, отже швидкодія пристрою робиться неприйнятною." #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:90 #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:84 @@ -1752,6 +1801,10 @@ msgid "" "ratio (width to height) as the cover. Unset it if you want the thumbnail to " "be the maximum size, ignoring aspect ratio." msgstr "" +"Позначте цей пункт, якщо ви хочете, щоб мініатюри зображень обкладинок мали " +"те саме співвідношення сторін (ширину до висоти), що й зображення " +"обкладинки. Зніміть позначку, якщо ви хочете, щоб мініатюри були " +"максимального розміру без врахування співвідношення сторін." #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:96 msgid "Search for books in all folders" @@ -1763,6 +1816,10 @@ msgid "" "device and its cards. This permits calibre to find books put on the device " "by other software and by wireless download." msgstr "" +"Позначення цього пункту наказує calibre виконувати пошук у усіх теках " +"пристрою та його картах пам’яті. Це надає змогу calibre знаходити книги, які " +"було збережено на пристрої за допомогою іншого програмного забезпечення та " +"отримано за допомогою бездротових мереж." #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:190 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/structure.py:69 @@ -1783,6 +1840,10 @@ msgid "" "With this option, calibre will send a separate cover image to the reader, " "useful if you are sending DRMed books in which you cannot change the cover." msgstr "" +"Зазвичай пристрої читання SONY визначають зображення обкладинки з самого " +"файла електронної книги. Якщо буде позначено цей пункт, calibre надішле на " +"пристрій читання окреме зображення обкладинки. Корисно, якщо ви надсилаєте " +"книги, захищені DRM, у яких ви не можете змінити зображення обкладинки." #: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:78 msgid "Refresh separate covers when using automatic management" @@ -1799,6 +1860,10 @@ msgid "" "the T1 sets it. This means it will only show the first author for books with " "multiple authors. Leave this disabled if you use Metadata Plugboards." msgstr "" +"Позначте цей пункт, якщо хочете, щоб запис автора на пристрої Sony виглядав " +"точно так само, як його визначає T1. Це призведе до показу лише першого " +"автора книги, якщо у книги декілька авторів. Не позначайте пункт, якщо ви " +"використовуєте додаткові засоби обробки метаданих." #: /home/kovid/work/calibre/src/calibre/devices/sne/driver.py:17 msgid "Communicate with the Samsung SNE eBook reader." @@ -1955,6 +2020,10 @@ msgid "" "cable/USB port on your computer. If you device has a \"Reset to factory " "defaults\" type of setting somewhere, use it. Underlying error: %s" msgstr "" +"Помилка доступу до читання файлів в основній па’мяті вашого пристрою. Щоб " +"усунути проблему, зверніться до служби технічної підтримки виробника " +"пристрою. Як правило, виправити проблему можна використанням іншого кабелю " +"USB або розніму USB на вашому комп'ютері. Основна помилка: %s" #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:113 #, python-format @@ -1965,6 +2034,12 @@ msgid "" "your SD card using the FAT32 filesystem. Also make sure there are not too " "many files in the root of your SD card. Underlying error: %s" msgstr "" +"Помилка доступу до файлів на SD-карті вашого пристрою. Причин може бути " +"багато: SD-карту може бути пошкоджено, вона може бути більшого об’єму, ніж " +"підтримує ваш пристрій, її може бути захищено від запису тощо. Спробуйте " +"іншу SD-карту, або форматуйте вашу SD-карту з використанням файлової системи " +"FAT32. Також переконайтеся, що в кореневій папці вашої SD-карти не надто " +"багато файлів. Основна помилка: %s" #: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:37 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:68 @@ -1978,6 +2053,8 @@ msgid "" "Get this ID using Preferences -> Misc -> Get information to set up the user-" "defined device" msgstr "" +"Отримати це значення для налаштування визначеного користувачем пристрою " +"можна за допомогою пункту меню «Налаштування -> Інше -> Отримати інформацію»." #: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:70 @@ -1987,7 +2064,7 @@ msgstr "Ідентифікатор продукту USB (шістн.)" #: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:43 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:72 msgid "USB Revision ID (in hex)" -msgstr "" +msgstr "Ідентифікатор версії USB (у шістн.)" #: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:79 @@ -2002,6 +2079,9 @@ msgid "" "This field is used only on windows. Get this ID using Preferences -> Misc -> " "Get information to set up the user-defined device" msgstr "" +"Це поле використовується лише у Windows. Отримати це значення для " +"налаштування визначеного користувачем пристрою можна за допомогою пункту " +"меню «Налаштування -> Інше -> Отримати інформацію»." #: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:51 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:81 @@ -2028,6 +2108,8 @@ msgid "" "Enter the folder where the books are to be stored. This folder is prepended " "to any send_to_device template" msgstr "" +"Вкажіть теку, у якій слід зберегти книги. Назву цієї теки буде додано як " +"префікс до будь-якого шаблону надсилання на пристрій" #: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:66 msgid "Card A folder" @@ -2147,12 +2229,18 @@ msgid "" "Specify the image size as widthxheight pixels. Normally, an image size is " "automatically calculated from the output profile, this option overrides it." msgstr "" +"Вкажіть розмір зображення у пікселях у форматі «ШиринахВисота». Зазвичай, " +"розмір зображення автоматично визначається на основі профілю виведення " +"даних, цей пункт призведе до його перевизначення." #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:325 msgid "" "When converting a CBC do not add links to each page to the TOC. Note this " "only applies if the TOC has more than one section" msgstr "" +"Під час перетворення CBC не додавати посилання на кожну сторінку до змісту. " +"Зауважте, що це стосується переліків змісту, у яких буде більше одного " +"розділу." #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:467 #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:479 @@ -2236,6 +2324,9 @@ msgid "" "default. Use %(en)s to enable. Individual actions can be disabled with the " "%(dis)s options." msgstr "" +"Внести зміни до тексту або структури документа за допомогою типових взірців. " +"Типово вимкнено. Скористайтеся %(en)s, щоб увімкнути. Окремі дії можна буде " +"вимкнути за допомогою параметрів %(dis)s." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:157 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:18 @@ -2270,6 +2361,9 @@ msgid "" "List builtin recipe names. You can create an ebook from a builtin recipe " "like this: ebook-convert \"Recipe Name.recipe\" output.epub" msgstr "" +"Показати список назв вбудованих рецептів. Ви можете створити електронну " +"книгу на основі вбудованого рецепту ось так: ebook-convert \"Назва " +"рецепту.recipe\" файл_результату.epub" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:289 msgid "Output saved to" @@ -2285,8 +2379,8 @@ msgid "" "specified directory. Useful if you are unsure at which stage of the " "conversion process a bug is occurring." msgstr "" -"Зберігати вивід після різних стадій перетворення у вказаний каталог. " -"Корисно, якщо ви не впевнені на якій стадії стається помилка." +"Зберігати виведені дані на різних кроках перетворення до вказаного каталогу. " +"Корисно, якщо ви не впевнені, на якому кроці сталася помилка." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:121 msgid "" @@ -2318,6 +2412,10 @@ msgid "" "fonts in the output bigger and vice versa. By default, the base font size is " "chosen based on the output profile you chose." msgstr "" +"Розмір основного шрифту у пунктах. На основі цього розміру буде визначено " +"масштаб всіх інших шрифтів у книзі. Якщо буде вибрано більший розмір, всі " +"шрифти у результаті будуть більшими. Типово розмір основного шрифту буде " +"вибрано на основі вибраного вами профілю виведення даних." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:153 msgid "" @@ -2349,6 +2447,10 @@ msgid "" "cases, the minimum line height option is more useful. By default no line " "height manipulation is performed." msgstr "" +"Висота рядка у пунктах. Визначає інтервал між послідовними рядками тексту. " +"Використовується лише для елементів, для яких не визначено власної висоти " +"рядка. Здебільшого, краще користуватися мінімальною висотою рядка. Типово, " +"програма не вноситиме змін до висоти рядка." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:197 msgid "" @@ -2389,6 +2491,9 @@ msgid "" "preference to the auto-generated one. With this option, the auto-generated " "one is always used." msgstr "" +"Зазвичай, якщо файл джерела вже містить дані змісту, його пріоритет буде " +"вищим за пріоритет автоматично створеного змісту. Якщо буде використано цей " +"пункт, завжди використовуватиметься автоматично створений зміст." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:240 msgid "Don't add auto-detected chapters to the Table of Contents." @@ -2410,12 +2515,17 @@ msgid "" "is: %default. Links are only added to the TOC if less than the threshold " "number of chapters were detected." msgstr "" +"Максимальна кількість посилань, які буде додано до змісту. 0 вимикає " +"додавання. Типове значення: %default. Посилання буде додано до змісту, лише " +"якщо буде виявлено меншу за вказану кількість глав." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:262 msgid "" "Remove entries from the Table of Contents whose titles match the specified " "regular expression. Matching entries and all their children are removed." msgstr "" +"Вилучити зі змісту записи, які відповідають вказаному формальному виразу. " +"Відповідні записи і всі дочірні записи цих записів буде вилучено." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:270 msgid "" @@ -2448,6 +2558,9 @@ msgid "" "the style rules from the source file, so it can be used to override those " "rules." msgstr "" +"Шлях до таблиці стилів CSS або код CSS. Вказаний код CSS буде додано до " +"правил щодо стилів з файла початкових даних, отже ним можна скористатися для " +"змінити початкових правил." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:313 msgid "" @@ -2518,6 +2631,9 @@ msgid "" "1.5em. Spacing removal will not work if the source file does not use " "paragraphs (<p> or <div> tags)." msgstr "" +"Вилучати інтервали між абзацами. Також встановити відступ абзацу у значення " +"1,5 em. Вилучення інтервалів не працюватиме, якщо у файлі початкових даних " +"не використовуються абзаци (теґи <p> і <div>)." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:379 msgid "" @@ -2527,6 +2643,11 @@ msgid "" "negative, then the indent specified in the input document is used, that is, " "calibre does not change the indentation." msgstr "" +"Під час вилучення calibre порожніх рядків між абзацами для полегшення " +"читання автоматично встановлюється відступ абзацу. За допомогою цього пункту " +"можна змінити ширину цього відступу (у одиницях em). Якщо встановити це " +"значення від'ємним, використовуватиметься відступ, вказаний у початковому " +"документі, тобто calibre його не змінюватиме." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:388 msgid "" @@ -2547,6 +2668,8 @@ msgid "" "Set the height of the inserted blank lines (in em). The height of the lines " "between paragraphs will be twice the value set here." msgstr "" +"Встановити висоту вставлених порожніх рядків (у em). Висота рядків між " +"абзацами буде вдвічі більшою за вказане тут значення." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:408 msgid "" @@ -2555,6 +2678,11 @@ msgid "" "set a cover in calibre, the output document will end up with two cover " "images if you do not specify this option." msgstr "" +"Вилучати перше зображення з початкової електронної книги. Корисно, якщо у " +"початковому документі першим зображенням є зображення обкладинки, яке не " +"позначено відповідним чином. Збереження такого зображення призведе до появи " +"у перетвореній книзі двох зображень обкладинок: початкового і створеного " +"calibre." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:417 msgid "" @@ -2570,6 +2698,9 @@ msgid "" "Convert plain quotes, dashes and ellipsis to their typographically correct " "equivalents. For details, see http://daringfireball.net/projects/smartypants" msgstr "" +"Перетворити звичайні лапки, дефіси та багатокрапки на належні типографські " +"відповідники. Докладніше про перетворення можна дізнатися зі сторінки " +"http://daringfireball.net/projects/smartypants" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:433 msgid "Convert fancy quotes, dashes and ellipsis to their plain equivalents." @@ -2581,6 +2712,8 @@ msgid "" "Read metadata from the specified OPF file. Metadata read from this file will " "override any metadata in the source file." msgstr "" +"Прочитати метадані з вказаного файла OPF. Прочитані з цього файла метадані " +"перевизначать будь-які інші метадані у початковому файлі." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:448 #, python-format @@ -2706,6 +2839,8 @@ msgid "" "Turn indentation created from multiple non-breaking space entities into CSS " "indents." msgstr "" +"Перетворити відступи, створені за допомогою декількох нероздільних об’єктів " +"пробілів, у відступи, відповідні таблиці стилів CSS." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:562 msgid "" @@ -2725,6 +2860,8 @@ msgid "" "Remove empty paragraphs from the document when they exist between every " "other paragraph" msgstr "" +"Вилучити з документа порожні абзаци, якщо їх розташовано між будь-якими " +"іншими абзацами" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:579 msgid "" @@ -2737,6 +2874,8 @@ msgid "" "Replace scene breaks with the specified text. By default, the text from the " "input document is used." msgstr "" +"Замінити роздільник сцен вказаним текстом. Типово буде використано текст з " +"вхідного документа." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:590 msgid "" @@ -2744,6 +2883,9 @@ msgid "" "used as a dictionary to determine whether hyphens should be retained or " "removed." msgstr "" +"Виконати аналіз слів з дефісами у документі. Для визначення дії, яку слід " +"виконати з дефісом (зберегти чи вилучити) як словник використовуватиметься " +"сам текст документа." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:596 msgid "" @@ -2754,26 +2896,29 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:602 msgid "Search pattern (regular expression) to be replaced with sr1-replace." msgstr "" +"Шаблон пошуку (формальний вираз), який буде замінено під час sr1-пошуку." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:607 msgid "Replacement to replace the text found with sr1-search." -msgstr "" +msgstr "Замінник тексту, знайденого за допомогою sr1-пошуку." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:611 msgid "Search pattern (regular expression) to be replaced with sr2-replace." msgstr "" +"Шаблон пошуку (формальний вираз), який буде замінено під час sr2-пошуку." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:616 msgid "Replacement to replace the text found with sr2-search." -msgstr "" +msgstr "Замінник тексту, знайденого за допомогою sr2-пошуку." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:620 msgid "Search pattern (regular expression) to be replaced with sr3-replace." msgstr "" +"Шаблон пошуку (формальний вираз), який буде замінено під час sr3-пошуку." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:625 msgid "Replacement to replace the text found with sr3-search." -msgstr "" +msgstr "Замінник тексту, знайденого за допомогою sr3-пошуку." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:729 msgid "Could not find an ebook inside the archive" @@ -2805,6 +2950,8 @@ msgid "" "Try to use the djvutxt program and fall back to pure python implementation " "if it fails or is not available" msgstr "" +"Спробувати скористатися програмою djvutxt і повернутися до реалізації мовою " +"python, якщо програмою не вдасться скористатися або вона буде недоступною." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/__init__.py:20 #, python-format @@ -2842,6 +2989,14 @@ msgid "" "By default, no fixing is done and messages are printed out for each error " "detected. Use the options to control which errors are automatically fixed." msgstr "" +"%prog [параметри] файл.epub\n" +"\n" +"Виправити типові проблеми у файлах EPUB, які можуть спричинити відмову у " +"обробці з боку служб оприлюднення.\n" +"\n" +"Типово нічого не виправляється, програма лише повідомляє про виявлені " +"помилки. Для керування автоматичним виправленням помилок скористайтеся " +"параметрами програми." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:52 msgid "You must specify an epub file" @@ -2856,10 +3011,14 @@ msgid "" "Fix unmanifested files. epub-fix can either add them to the manifest or " "delete them as specified by the delete unmanifested option." msgstr "" +"Виправити помилки, пов’язані з файлами, яких немає у маніфесті. epub-fix " +"може або додати ці файли до маніфесту або вилучити їх, якщо вказано параметр " +"вилучення файлів, не вказаних у маніфесті." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/unmanifested.py:36 msgid "Delete unmanifested files instead of adding them to the manifest" msgstr "" +"Вилучати файли, не вказані у маніфесті, замість додавання їх до маніфесту" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:56 msgid "" @@ -2890,6 +3049,10 @@ msgid "" "default cover is generated with the title, authors, etc. This option " "disables the generation of this cover." msgstr "" +"Зазвичай, якщо у файлі вхідних даних не міститься зображення обкладинки, а " +"ви не вказали цього зображення явно, буде створено стандартну обкладинка з " +"назвою, іменем автора тощо. За допомогою цього пункту можна вимкнути " +"створення таких обкладинок." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:86 msgid "" @@ -2955,13 +3118,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "повний список описів." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2969,7 +3132,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -2986,6 +3149,8 @@ msgid "" "Template used for generation of the html index file instead of the default " "file" msgstr "" +"Шаблон, використаний для створення файла покажчика у форматі html, замість " +"типового файла" #: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:38 msgid "" @@ -3007,6 +3172,9 @@ msgid "" "linked files. This plugin is run every time you add an HTML file to the " "library." msgstr "" +"Перейти за всіма локальними посиланнями у файлі HTML і створити файл ZIP, що " +"міститиме всі пов’язаі файли. Цей додаток запускається кожного разу, коли Ви " +"додаєте файл HTML до бібліотеки" #: /home/kovid/work/calibre/src/calibre/ebooks/html/to_zip.py:60 msgid "" @@ -3018,7 +3186,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/html/to_zip.py:91 msgid "Add linked files in breadth first order" -msgstr "" +msgstr "Додати пов’язані файли за порядком пошуку у ширину" #: /home/kovid/work/calibre/src/calibre/ebooks/html/to_zip.py:92 msgid "" @@ -3049,6 +3217,10 @@ msgid "" "inline: Write the CSS as an inline style attribute.\n" "tag: Turn as many CSS styles as possible into HTML tags." msgstr "" +"Вкажіть спосіб обробки CSS. Типовим є class.\n" +"class: використовувати класи CSS та посилання з елементів.\n" +"inline: записати CSS як вбудований атрибут стилів.\n" +"tag: перетворити якнайбільшу кількість стилів CSS у теґи HTML." #: /home/kovid/work/calibre/src/calibre/ebooks/htmlz/output.py:38 msgid "" @@ -3303,6 +3475,8 @@ msgid "" "Set the format of the header. %a is replaced by the author and %t by the " "title. Default is %default" msgstr "" +"Встановити формат заголовка. %a буде замінено за ім’я автора, а %t на назву " +"книги. Типовим форматом є %default" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:104 #, python-format @@ -3317,6 +3491,8 @@ msgid "" "Minimum paragraph indent (the indent of the first line of a paragraph) in " "pts. Default: %default" msgstr "" +"Мінімальний відступ абзацу (відступ першого рядка абзацу) у пунктах. Типовим " +"є такий відступ: %default" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:112 msgid "" @@ -3332,6 +3508,8 @@ msgid "" "Multiply the size of text in rendered tables by this factor. Default is " "%default" msgstr "" +"Використати цей коефіцієнт для зміни розмірів тексту у оброблених таблицях. " +"Типовим значенням коефіцієнта є %default" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:121 msgid "The serif family of fonts to embed" @@ -3354,6 +3532,9 @@ msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." msgstr "" +"Видобувати електронні книги у типових форматах з файлів архівів (zip/rar). " +"Крім того, спробувати автоматично виявити такі книги, якщо вони насправді є " +"файлами cbz/cbr." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:58 msgid "Value: unknown field " @@ -3365,7 +3546,7 @@ msgstr "Помилка шаблону" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "Ні" @@ -3475,12 +3656,24 @@ msgid "" "some metadata on a file type that does not support it, the metadata will be\n" "silently ignored.\n" msgstr "" +"\n" +"Прочитати або записати метадані до файлі електронних книг.\n" +"\n" +"Підтримувані формати читання метаданих: %(read)s\n" +"\n" +"Підтримувані формати запису метаданих: %(write)s\n" +"\n" +"Для різних типів файлів передбачено різні метадані. Якщо ви спробуєте\n" +"встановити метадані для файла, для типу якого ці метадані не передбачено,\n" +"метадані буде просто відкинуто.\n" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:40 msgid "" "Set the authors. Multiple authors should be separated by the & character. " "Author names should be in the order Firstname Lastname." msgstr "" +"Вкажіть авторів. Якщо авторів декілька, їхні імена слід розділити символом " +"&. Імена авторів слід вказувати у форматі «Ім’я Прізвище»." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:44 msgid "" @@ -3619,6 +3812,8 @@ msgstr "Вебсайт Amazon, який слід використовувати: msgid "" "Metadata from Amazon will be fetched using this country's Amazon website." msgstr "" +"Метадані від Amazon буде отримано з сайта Amazon, призначеного для вказаної " +"країни." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/amazon.py:611 msgid "Amazon timed out. Try again later." @@ -3654,6 +3849,8 @@ msgid "" "To use isbndb.com you have to sign up for a free account at isbndb.com and " "get an access key." msgstr "" +"Щоб використовувати isbndb.com, вам слід зареєструватися для отримання " +"безкоштовного облікового запису на isbndb.com та отримати ключ доступу." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/isbndb.py:42 msgid "" @@ -3661,6 +3858,10 @@ msgid "" "an isbndb key and enter it below. Instructions to get the key are <a " "href=\"http://isbndb.com/docs/api/30-keys.html\">here</a>." msgstr "" +"Щоб використовувати метадані з isbndb.com, Ви повинні зареєструватися для " +"отримання безкоштовного облікового запису на isbndb.com, отримати ключ " +"isbndb і вказати його нижче. Інструкції для отримання ключа можна отримати " +"<a href=\"http://isbndb.com/docs/api/30-keys.html\">тут</a>." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/openlibrary.py:15 msgid "Downloads covers from The Open Library" @@ -3677,6 +3878,7 @@ msgstr "Завантажити всі метадані (повільно)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/overdrive.py:46 msgid "Enable this option to gather all metadata available from Overdrive." msgstr "" +"Позначте цей пункт, щоб було зібрано всі метадані, доступні з Overdrive." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/sources/overdrive.py:49 msgid "" @@ -3704,6 +3906,7 @@ msgid "" "Don't add Table of Contents to the book. Useful if the book has its own " "table of contents." msgstr "" +"Не додавати зміст до книги. Корисно, якщо книга вже має сторінку змісту." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:33 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:57 @@ -3724,18 +3927,25 @@ msgid "" "will try to convert margins specified in the input document, otherwise it " "will ignore them." msgstr "" +"Ігнорувати поля з вхідного документа. Якщо «Ні», додаток виведення у форматі " +"MOBI здійснить спробу перетворити поля, вказані у вхідному документі, в " +"іншому випадку він їх ігноруватиме." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:50 msgid "" "When adding the Table of Contents to the book, add it at the start of the " "book instead of the end. Not recommended." msgstr "" +"Коли до книги додається зміст, додавати його на початку книги замість кінця. " +"Не рекомендується." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:54 msgid "" "Extract the contents of the MOBI file to the specified directory. If the " "directory already exists, it will be deleted." msgstr "" +"Видобути вміст файла MOBI до вказаного каталогу. Якщо каталог вже існує, " +"його буде вилучено." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:59 msgid "" @@ -3743,6 +3953,10 @@ msgid "" "Using this feature means that the book will not auto sync its last read " "position on multiple devices. Complain to Amazon." msgstr "" +"Увімкнути спільне використання даних за допомогою Facebook тощо на Kindle. " +"Попередження: використання цієї можливості означає, що позиція читання книги " +"не буде автоматично синхронізуватися на всіх пристроях для читання. Скарги " +"надсилайте до Amazon." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:284 msgid "This is an Amazon Topaz book. It cannot be processed." @@ -3819,7 +4033,7 @@ msgstr "Вступ" msgid "Main Text" msgstr "Основний текст" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "%s формат е-книжки не підтримується" @@ -3849,6 +4063,8 @@ msgid "" "Could not find reasonable point at which to split: %(path)s Sub-tree size: " "%(size)d KB" msgstr "" +"Не вдалося знайти відповідну точку поділу: %(path)s Розмір піддерева: " +"%(size)d кБ" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/writer.py:32 msgid "OPF/NCX/etc. generation options." @@ -3876,13 +4092,15 @@ msgstr "Бічна панель" #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/output.py:23 msgid "Format to use inside the pdb container. Choices are:" -msgstr "" +msgstr "Формат для використання всередині контейнера. Можливі варіанти:" #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/output.py:27 msgid "" "Specify the character encoding of the output document. The default is " "cp1252. Note: This option is not honored by all formats." msgstr "" +"Вкажіть кодування обробленого документа. Типовим кодуванням є cp1252. " +"Зауваження: підтримку цього пункту передбачено не у всіх форматах." #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/output.py:32 #: /home/kovid/work/calibre/src/calibre/ebooks/pml/output.py:36 @@ -3917,6 +4135,15 @@ msgid "" "\n" "Manipulate a PDF.\n" msgstr "" +"команда …\n" +"\n" +"можна використовувати такі команди:\n" +"[%%commands]\n" +"\n" +"Скористайтеся командою «%prog команда --help», щоб дізнатися більше про " +"певну команду\n" +"\n" +"Обробка PDF.\n" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:29 msgid "" @@ -3924,6 +4151,9 @@ msgid "" "\n" "Crop a PDF file.\n" msgstr "" +"[параметри] файл.pdf\n" +"\n" +"Обрізати файл PDF.\n" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:38 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:32 @@ -3941,29 +4171,22 @@ msgstr "" #, python-format msgid "Number of pixels to crop from the left most x (default is %s)" msgstr "" -"Кількість пікселів для обрізування від найбільш лівої x (за замовчуванням: " -"%s)" +"Кількість пікселів для обрізування від найлівішого значення за x (типово %s)" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:44 #, python-format msgid "Number of pixels to crop from the left most y (default is %s)" -msgstr "" -"Кількість пікселів для обрізування від найбільш лівої y (за замовчуванням: " -"%s)" +msgstr "Кількість пікселів для обрізування від найлівішого y (типово %s)" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:47 #, python-format msgid "Number of pixels to crop from the right most x (default is %s)" -msgstr "" -"Кількість пікселів для обрізування від найбільш правої x (за замовчуванням: " -"%s)" +msgstr "Кількість пікселів для обрізування від найправішого x (типово %s)" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:50 #, python-format msgid "Number of pixels to crop from the right most y (default is %s)" -msgstr "" -"Кількість пікселів для обрізування від найбільш правої y (за замовчуванням: " -"%s)" +msgstr "Кількість пікселів для обрізування від найправішого y (типово %s)" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:53 msgid "" @@ -4135,6 +4358,8 @@ msgid "" "The unit of measure. Default is inch. Choices are %s Note: This does not " "override the unit for margins!" msgstr "" +"Одиниця виміру (типово дюйм). Можливі варіанти: %s Зауваження: це не змінить " +"одиниці виміру для полів!" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:35 #, python-format @@ -4142,6 +4367,8 @@ msgid "" "The size of the paper. This size will be overridden when an output profile " "is used. Default is letter. Choices are %s" msgstr "" +"Розмір паперу. Цей розмір буде перевизначено у разі використанні профілю " +"виведення даних. Типовим значенням є letter. Можливі варіанти: %s" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:39 msgid "" @@ -4152,17 +4379,21 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:44 #, python-format msgid "The orientation of the page. Default is portrait. Choices are %s" -msgstr "" +msgstr "Орієнтація сторінки (типово книжкова). Можливі варіанти: %s" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:48 msgid "" "Preserve the aspect ratio of the cover, instead of stretching it to fill the " "full first page of the generated pdf." msgstr "" +"Зберегти співвідношення сторін обкладинки, замість того, щоб розтягнути її " +"до розміру першої сторінки створеного pdf." #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftohtml.py:57 msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" +"Не вдалося знайти pdftohtml. Перевірте, чи встановлено програму до одного з " +"каталогів PATH." #: /home/kovid/work/calibre/src/calibre/ebooks/pml/output.py:32 msgid "" @@ -4188,6 +4419,9 @@ msgid "" "first and then try it.\n" "%s" msgstr "" +"У цьому файлі RTF передбачено непідтримувані можливості calibre. Спочатку " +"перетворіть дані на формат HTML, а потім повторіть спробу.\n" +"%s" #: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:25 #: /home/kovid/work/calibre/src/calibre/ebooks/tcr/output.py:23 @@ -4209,19 +4443,23 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:36 msgid "" "Specify whether or not to insert an empty line between two paragraphs." -msgstr "" +msgstr "Вкажіть, чи слід вставляти порожній рядок між двома абзацами." #: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:40 msgid "" "Specify whether or not to insert two space characters to indent the first " "line of each paragraph." msgstr "" +"Вкажіть, чи слід вставляти два пробіли для визначення відступу першого рядка " +"кожного абзацу." #: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:44 msgid "" "Specify whether or not to hide the chapter title for each chapter. Useful " "for image-only output (eg. comics)." msgstr "" +"Вкажіть, чи слід ховати заголовок розділу для кожного розділу. Корисно для " +"виводу даних, що складаються лише з зображень (наприклад коміксів)." #: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:48 msgid "Resize all the images for full screen view. " @@ -4275,16 +4513,20 @@ msgid "" "Normally extra spaces are condensed into a single space. With this option " "all spaces will be displayed." msgstr "" +"Зазвичай, під час показу зайві пробіли буде замінено на один пробіл. Якщо " +"буде позначено цей пункт, програма показуватиме всі пробіли." #: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:56 msgid "" "Normally extra space at the beginning of lines is retained. With this option " "they will be removed." msgstr "" +"Зазвичай, зайві пробіл на початку рядка не вилучаються. Якщо буде позначено " +"цей пункт, програма вилучатиме такі пробіли." #: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:59 msgid "Do not insert a Table of Contents into the output text." -msgstr "Не вставляти Зміст у вихідний текст" +msgstr "Не вставляти зміст у виведений текст." #: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:30 #, python-format @@ -4307,6 +4549,10 @@ msgid "" "* markdown: Produce Markdown formatted text.\n" "* textile: Produce Textile formatted text." msgstr "" +"Форматування, використане у документі.\n" +"* plain: вивести неформатований текст.\n" +"* markdown: вивести текст у форматуванні Markdown.\n" +"* textile: вивести текст у форматуванні Textile." #: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:61 msgid "" @@ -4333,8 +4579,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:115 msgid "Send file to storage card instead of main memory by default" -msgstr "" -"Надсилати файл на картку пам’яті замість основної пам’яті за замовчуванням" +msgstr "Типово надсилати файл на картку пам’яті замість основної пам’яті" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:117 msgid "Confirm before deleting" @@ -4358,7 +4603,7 @@ msgstr "Сортувати мітки за назвами, популярніс #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:127 msgid "Match tags by any or all." -msgstr "" +msgstr "Відповідність будь-якій або всім міткам." #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:129 msgid "Number of covers to show in the cover browsing mode" @@ -4367,7 +4612,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:131 msgid "Defaults for conversion to LRF" -msgstr "Перетворювати за замовчуванням у LRF" +msgstr "Типово перетворювати на LRF" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:133 msgid "Options for the LRF ebook viewer" @@ -4399,7 +4644,7 @@ msgstr "Вивантажити на пристрій отримані нові #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:145 msgid "Delete news books from library after uploading to device" -msgstr "" +msgstr "Вилучати нові книги з бібліотеки після вивантаження на пристрій" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:147 msgid "" @@ -4413,13 +4658,15 @@ msgstr "Вимкнути сповіщення від піктограми у с #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:151 msgid "Default action to perform when send to device button is clicked" -msgstr "Дія за замовчуванням при натисканні кнопки \"надіслати до пристрою\"" +msgstr "Типова дія у відповідь на натискання кнопки надсилання на пристрій" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:156 msgid "" "Start searching as you type. If this is disabled then search will only take " "place when the Enter or Return key is pressed." msgstr "" +"Виконувати пошук під час введення ключових слів пошуку. Якщо цей пункт не " +"буде позначено, пошук виконуватиметься лише після натискання клавіші Enter." #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:159 msgid "" @@ -4433,6 +4680,8 @@ msgid "" "Maximum number of simultaneous conversion/news download jobs. This number is " "twice the actual value for historical reasons." msgstr "" +"Максимальна кількість одночасних завдань з перетворення і отримання новин. " +"Це число вдвічі більше за справжнє значення з міркувань спадковості." #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 msgid "Download social metadata (tags/rating/etc.)" @@ -4455,6 +4704,9 @@ msgid "" "The layout of the user interface. Wide has the book details panel on the " "right and narrow has it at the bottom." msgstr "" +"Компонування інтерфейсу користувача. «Широке» означає, що панель подробиць " +"щодо книги буде розташовано праворуч, за компонування «вузьке», цю панель " +"буде розташовано внизу вікна." #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:199 msgid "Show the average rating per item indication in the tag browser" @@ -4479,27 +4731,27 @@ msgstr "Книги" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:29 msgid "EPUB Books" -msgstr "EPUB книги" +msgstr "Книги EPUB" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:30 msgid "LRF Books" -msgstr "LRF книги" +msgstr "Книги LRF" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:31 msgid "HTML Books" -msgstr "HTML книги" +msgstr "Книги HTML" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:32 msgid "LIT Books" -msgstr "LIT книги" +msgstr "Книги LIT" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:33 msgid "MOBI Books" -msgstr "MOBI книги" +msgstr "Книги MOBI" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:34 msgid "Topaz books" -msgstr "Topaz книги" +msgstr "Книги Topaz" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:35 msgid "Text books" @@ -4507,11 +4759,11 @@ msgstr "Текстові книги" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:36 msgid "PDF Books" -msgstr "PDF книги" +msgstr "Книги PDF" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:37 msgid "SNB Books" -msgstr "" +msgstr "Книги SNB" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:38 msgid "Comics" @@ -4569,7 +4821,7 @@ msgstr "Додати з ISBN" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:70 msgid "Add files to selected book records" -msgstr "" +msgstr "Додати файли до вибраних записів книг" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:71 msgid "Shift+A" @@ -4590,7 +4842,7 @@ msgstr "Не вибрано книги" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:87 msgid "Cannot add files as no books are selected" -msgstr "" +msgstr "Додавання файлів неможливе, оскільки не позначено жодної книги" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:91 msgid "Are you sure" @@ -4697,7 +4949,7 @@ msgstr "Не підтримується" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:108 msgid "Fetching annotations is not supported for this device" -msgstr "" +msgstr "Для цього пристрою не передбачено отримання анотацій" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:136 @@ -4715,21 +4967,23 @@ msgstr "Не вибрано книг для отримання анотацій" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:156 msgid "Some errors" -msgstr "" +msgstr "Певні помилки" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:157 msgid "" "Could not fetch annotations for some books. Click show details to see which " "ones." msgstr "" +"Не вдалося отримати анотації для декількох книг. Натисніть «Показати " +"подробиці», щоб переглянути список." #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:20 msgid "Create catalog" -msgstr "" +msgstr "Створити каталог" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:38 msgid "No books selected for catalog generation" -msgstr "" +msgstr "Створення каталогу неможливе через те, що не позначено книг" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:61 #, python-format @@ -4747,54 +5001,54 @@ msgstr "Експортувати каталог директорії" #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:89 #, python-format msgid "Select destination for %(title)s.%(fmt)s" -msgstr "" +msgstr "Виберіть теку призначення для %(title)s.%(fmt)s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "Бібліотеку не знайдено" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" -msgstr "" +msgstr "Нове розташування цієї бібліотеки:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" -msgstr "" +msgstr "Бібліотеку пересунуто" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" -msgstr "" +msgstr "Забути бібліотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" -msgstr "" +msgstr "Розташування нової бібліотеки" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" -msgstr "" +msgstr "У %s не знайдено вже створеної бібліотеки Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "Вибрати бібліотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Виберіть бібліотеку calibre з якою працюватимете" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Ввімкнути/створити бібліотеку…" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4802,82 +5056,82 @@ msgstr "Ввімкнути/створити бібліотеку…" msgid "%d books" msgstr "%d книг(а/и)" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Швидке перемикання" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Переназвати бібліотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "Вилучити бібліотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "Обрати довільну книгу" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "Обслуговування бібліотеки" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "Статус резервного копіювання бібліотечних метаданих" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "Почати резервне копіювання метаданих всіх книг" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "Перевірити бібліотеку" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "Відновити базу даних" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Перейменувати" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "Виберіть нове ім'я для бібліотеки <b>%s</b>. " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "Зверніть увагу, що актуальна папка бібліотеки буде перейменована." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Вже існує" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "Папка %s вже існує. Вилучити вже існуючу." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "Занадто довгий" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Помилка перейменування" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " @@ -4887,41 +5141,43 @@ msgstr "" "цього є та, що один з файлів в бібліотеці може бути відкрито в іншій " "програмі." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "Бібліотеку вилучено" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "немає" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "Стан резервного копіювання" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" -msgstr "" +msgstr "Файли метаданих книги, які ще не записано: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "Резервне копіювання метаданих" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" +"На час роботи calibre буде створено резервну копію метаданих, зі швидкістю " +"приблизно рівною одній книзі кожні три секунди." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4929,7 +5185,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4938,13 +5194,16 @@ msgstr "" msgid "Success" msgstr "Успішно" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" +"У вашій базі даних calibre не було знайдено жодних помилок. Бажаєте, щоб " +"calibre перевірила, чи відповідають дані файли вашої бібліотеки даних у базі " +"даних?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4955,35 +5214,41 @@ msgstr "" msgid "Failed" msgstr "Невдача" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" "Перевірка цілісності бази даних завершилась з помилка. Натисніть \"Показати " "деталі\" для відповідної дії" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "Виконується сканування бібліотеки, дія може бути тривалою" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "Проблем не знайдено" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." -msgstr "" +msgstr "Файли у вашій бібліотеці відповідають інформації у базі даних." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Не дозволено" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" +"Ви не можете змінювати інші бібліотеки, використовуючи змінну середовища " +"CALIBRE_OVERRIDE_DATABASE_PATH." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "Ви не можете змінити бібліотеку під час виконання операцій" @@ -5005,7 +5270,7 @@ msgstr "Загальне перетворення" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:37 msgid "Create a catalog of the books in your calibre library" -msgstr "" +msgstr "Створити каталог книг у вашій бібліотеці calibre" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:591 @@ -5020,6 +5285,8 @@ msgstr "Підготовка перетворення %d книг(и)" #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:177 msgid "Empty output file, probably the conversion process crashed" msgstr "" +"Порожній файл результату, ймовірно процес перетворення завершив роботу у " +"аварійному режимі" #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:127 msgid "Copy to library" @@ -5058,13 +5325,15 @@ msgstr "Неможливо скопіювати книги: " #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:198 #, python-format msgid "Copied %(num)d books to %(loc)s" -msgstr "" +msgstr "Скопійовано %(num)d книг до %(loc)s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:213 msgid "" "You cannot use other libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" +"Ви не можете використовувати інші бібліотеки, використовуючи змінну " +"середовища CALIBRE_OVERRIDE_DATABASE_PATH." #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:30 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:53 @@ -5073,8 +5342,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5106,6 +5375,8 @@ msgstr "Неможливо вилучити" msgid "" "Failed to delete some books, click the Show Details button for details." msgstr "" +"Не вдалося вилучити деякі з книг, натисніть кнопку «Показати подробиці», щоб " +"переглянути подробиці." #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:85 msgid "Remove books" @@ -5125,7 +5396,7 @@ msgstr "Вилучити всі формати із вибраних книжо #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:101 msgid "Remove all formats from selected books" -msgstr "" +msgstr "Вилучити всі формати з вибраних книг" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:104 msgid "Remove covers from selected books" @@ -5223,7 +5494,7 @@ msgstr "Підключитися до iTunes" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:42 msgid "Connect to Bambook" -msgstr "" +msgstr "З’єднатися з Bambook" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:77 @@ -5232,7 +5503,7 @@ msgstr "Запустити сервер даних" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:73 msgid "Start/stop content server" -msgstr "" +msgstr "Запустити/Зупинити сервер даних" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:79 msgid "Stop Content Server" @@ -5245,11 +5516,11 @@ msgstr "Надіслати email до" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:94 msgid "Email to and delete from library" -msgstr "" +msgstr "Надіслати електронною поштою і вилучити з бібліотеки" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:103 msgid "(delete from library)" -msgstr "" +msgstr "(вилучити з бібліотеки)" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:118 msgid "Setup email based sharing of books" @@ -5275,7 +5546,7 @@ msgstr "Зупиняється" #: /home/kovid/work/calibre/src/calibre/gui2/actions/device.py:192 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:80 msgid "Stopping server, this could take upto a minute, please wait..." -msgstr "" +msgstr "Зупиняємо сервер, це може тривати до хвилини, будь ласка, зачекайте…" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_collections.py:13 msgid "Manage collections" @@ -5315,7 +5586,7 @@ msgstr "Злити в першу обрану книгу - залишити ін #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:52 msgid "Merge only formats into first selected book - delete others" -msgstr "" +msgstr "Об’єднати формати лише до першої вибраної книги — вилучити інші" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:57 msgid "Merge book records" @@ -5343,7 +5614,7 @@ msgstr "Завантаження не вдалось" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:91 #, python-format msgid "Failed to download metadata or covers for any of the %d book(s)." -msgstr "" +msgstr "Не вдалося отримати метадані або обкладинки для жодної з %d книг." #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:94 msgid "Metadata download completed" @@ -5362,6 +5633,8 @@ msgid "" "Could not download metadata and/or covers for %d of the books. Click \"Show " "details\" to see which books." msgstr "" +"Не вдалося отримати метадані і/або обкладиник %d книг. Натисніть «Показати " +"подробиці», щоб переглянути список." #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:110 msgid "Download complete" @@ -5396,7 +5669,7 @@ msgstr "Неможливо злити книги" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:263 msgid "At least two books must be selected for merging" -msgstr "" +msgstr "Для об’єднання слід позначити принаймні дві книги" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:266 msgid "" @@ -5440,17 +5713,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:473 msgid "Applying changed metadata" -msgstr "" +msgstr "Застосування змінених метаданих" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:546 msgid "Some failures" -msgstr "" +msgstr "Певні помилки" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:547 msgid "" "Failed to apply updated metadata for some books in your library. Click " "\"Show Details\" to see details." msgstr "" +"Не вдалося застосувати оновлені метадані до деяких книг у вашій бібліотеці. " +"Натисніть кнопку «Показати подробиці», щоб переглянути подробиці." #: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:19 msgid "F" @@ -5624,7 +5899,7 @@ msgstr "Не вдалося зберегти деякі книги" #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:142 msgid "Click the show details button to see which ones." -msgstr "" +msgstr "Натисніть кнопку «Показати подробиці», щоб переглянути список." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:771 @@ -5725,7 +6000,7 @@ msgid "Search for this %s" msgstr "Шукати цей %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "Магазини" @@ -5747,6 +6022,8 @@ msgid "" "Calibre helps you find the ebooks you want by searching the websites of " "various commercial and public domain book sources for you." msgstr "" +"Calibre допомагає вам знайти потрібні вам електронні книги на сайтах " +"різноманітних комерційних і відкритих джерел книг." #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:138 msgid "" @@ -5841,6 +6118,8 @@ msgid "" "Not all the selected books were available in the %s format. You should " "convert them first." msgstr "" +"Не всі з вибраних книг доступні у форматі %s. Вам слід спочатку перетворити " +"книги у цей формат." #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:172 msgid "Multiple Books Selected" @@ -5876,75 +6155,81 @@ msgstr "Пошук у" msgid "Adding..." msgstr "Додавання…" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 -msgid "Path error" -msgstr "" +msgstr "Пошук у всіх підкаталогах…" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 -msgid "The specified directory could not be processed." -msgstr "" +msgid "Path error" +msgstr "Помилковий шлях" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 +msgid "The specified directory could not be processed." +msgstr "Вказаний каталог неможливо обробити." + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Нема книг" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Книги не знайдені" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" -msgstr "" +msgstr "Немає прав доступу" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" +"Неможливо додати частину файлів, оскільки у вас немає прав доступу до цих " +"файлів. Натисніть «Показати подробиці», щоб переглянути список файлів." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Додано" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Додавання не вдалося" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" +"Здається, процес додавання книг не відповідає. Спробуйте перезапустити " +"calibre і додати книги меншими порціями, аж доки не виявите проблемну книгу." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "Знайдено повтори!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" +"Книги з наведеними нижче назвами вже містяться у базі даних. Все одно додати " +"ці книги?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "Додавання повторів…" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Збереження…" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "Збирання даних, зачекайте…" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Збережено" @@ -6023,6 +6308,8 @@ msgid "" "This folder and its sub-folders will be scanned for books to import into " "calibre's library" msgstr "" +"Програмою буде виконано пошук книг у цій теці і всіх її підтеках з наступним " +"додаванням цих книг до вашої бібліотеки calibre" #: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:57 @@ -6074,8 +6361,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6083,23 +6370,27 @@ msgstr "…" #: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:72 msgid "Handle multiple files per book" -msgstr "" +msgstr "Обробка декількох файлів однієї книги" #: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:73 msgid "" "&One book per folder, assumes every ebook file in a folder is the same book " "in a different format" msgstr "" +"&Одна книга на теку. Припускаємо, що кожному файлу книги у теці відповідає " +"та сама книга, але у іншому форматі" #: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:74 msgid "" "&Multiple books per folder, assumes every ebook file is a different book" msgstr "" +"&Декілька книг у теці. Припускаємо, що кожному файлу відповідає окрема книга" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" -msgstr "Підтримка" +msgstr "Підтримати фінансово" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:121 msgid "Click to open" @@ -6112,7 +6403,7 @@ msgstr "Ідентифікатори" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:174 #, python-format msgid "Book %(sidx)s of <span class=\"series_name\">%(series)s</span>" -msgstr "" +msgstr "Книга %(sidx)s <span class=\"series_name\">%(series)s</span>" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:189 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1054 @@ -6257,16 +6548,16 @@ msgstr "Форма" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:25 msgid "Bib file encoding:" -msgstr "" +msgstr "Кодування файла Bib:" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:29 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:43 msgid "Fields to include in output:" -msgstr "" +msgstr "Поля, які слід включити до виведених даних:" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:46 msgid "Encoding configuration (change if you have errors) :" -msgstr "" +msgstr "Налаштування кодування (змініть, якщо виникнуть помилки):" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:55 msgid "BibTeX entry type:" @@ -6274,15 +6565,15 @@ msgstr "Тип запису BibTeX:" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:62 msgid "Create a citation tag?" -msgstr "" +msgstr "Створити теґ цитування?" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:66 msgid "Add files path with formats?" -msgstr "" +msgstr "Додати шлях файлів з форматами?" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:70 msgid "Expression to form the BibTeX citation tag:" -msgstr "" +msgstr "Вираз для форматування теґу цитування BibTeX:" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:77 msgid "" @@ -6305,19 +6596,19 @@ msgstr "Параметри E-book" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:296 msgid "Sections to include in catalog." -msgstr "" +msgstr "Розділи, які слід включити у каталог." #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:297 msgid "Included sections" -msgstr "" +msgstr "Включені розділи" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:298 msgid "Books by &Genre" -msgstr "" +msgstr "Книги за &жанром" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:299 msgid "Recently &Added" -msgstr "" +msgstr "Нещодавно &додані" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:300 msgid "&Descriptions" @@ -6325,15 +6616,15 @@ msgstr "Оп&иси" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:301 msgid "Books by &Series" -msgstr "" +msgstr "Книги за с&еріями" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:302 msgid "Books by &Title" -msgstr "" +msgstr "Книги за &назвами" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:303 msgid "Books by Author" -msgstr "" +msgstr "Книги за авторами" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:304 msgid "" @@ -6345,52 +6636,56 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:308 msgid "Excluded genres" -msgstr "" +msgstr "Виключені жанри" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:309 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:312 msgid "Tags to &exclude" -msgstr "" +msgstr "Мітки для в&иключення" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:310 msgid "" "Books matching either pattern will not be included in generated catalog. " msgstr "" +"Книги, які відповідають будь-якому з шаблонів, не буде включено до " +"створеного каталогу. " #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:311 msgid "Excluded books" -msgstr "" +msgstr "Виключені книги" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:313 msgid "" "<p>Comma-separated list of tags to exclude.\n" "Default: ~,Catalog" msgstr "" +"<p>Список міток, які слід виключити, відокремлений комами.\n" +"Типовий список: ~,Catalog" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:315 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:320 msgid "&Column/value" -msgstr "" +msgstr "С&товпчик/Значення" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:316 msgid "Column containing additional exclusion criteria" -msgstr "" +msgstr "Стовпчик, що містить додаткові критерії виключення" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:317 msgid "Exclusion pattern" -msgstr "" +msgstr "Шаблон виключення" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:318 msgid "Matching books will be displayed with a check mark" -msgstr "" +msgstr "Пункти відповідних книг буде показано з позначкою" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:319 msgid "Read books" -msgstr "" +msgstr "Прочитані книги" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:321 msgid "Column containing 'read' status" -msgstr "" +msgstr "Стовпчик, що містить стан прочитання" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:322 msgid "'read book' pattern" @@ -6402,7 +6697,7 @@ msgstr "Інші параметри" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:324 msgid "&Wishlist tag" -msgstr "" +msgstr "Мітка &очікування" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:325 msgid "Books tagged as Wishlist items will be displayed with an X" @@ -6410,11 +6705,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:326 msgid "&Thumbnail width" -msgstr "" +msgstr "Ширина &мініатюри" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:327 msgid "Size hint for Description cover thumbnails" -msgstr "" +msgstr "Основний розмір для мініатюр обкладинок у «Описі»" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:328 msgid " inch" @@ -6422,7 +6717,7 @@ msgstr " дюйм" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:329 msgid "&Description note" -msgstr "" +msgstr "Нотатка &опису" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:330 msgid "Custom column source for note to include in Description header area" @@ -6430,15 +6725,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:331 msgid "&Merge with Comments" -msgstr "" +msgstr "О&б’єднати з коментарями" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:332 msgid "Additional content merged with Comments during catalog generation" -msgstr "" +msgstr "Додаткові дані, об’єднані з коментарями під час створення каталогу" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:333 msgid "Merge additional content before Comments" -msgstr "" +msgstr "Додати додаткові поля перед полем «Коментарі»" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:334 msgid "&Before" @@ -6454,7 +6749,7 @@ msgstr "П&ісля" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:337 msgid "Separate Comments and additional content with horizontal rule" -msgstr "" +msgstr "Відокремити коментарі і додаткові дані горизонтальною лінією" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:338 msgid "&Separator" @@ -6560,11 +6855,11 @@ msgstr "Колір тла" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:118 msgid "Style text block" -msgstr "" +msgstr "Застосувати стиль до текстового блоку" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:120 msgid "Style the selected text block" -msgstr "" +msgstr "Застосувати стиль до позначеного текстового блоку" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 @@ -6628,18 +6923,22 @@ msgstr "Звичайний перегляд" msgid "HTML Source" msgstr "Код HTML" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "Для жодної з позначених книжок не збережено параметрів перетворення." + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Загальне перетворення" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Параметри, характерні для формату виведення даних." @@ -6699,7 +6998,7 @@ msgstr "&Справа ліворуч" #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:105 msgid "Don't so&rt" -msgstr "" +msgstr "Не в&порядковувати" #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:107 @@ -6708,7 +7007,7 @@ msgstr "П&рибрати випадкові крапки" #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:114 msgid "&Disable comic processing" -msgstr "" +msgstr "Ви&мкнути обробку коміксів" #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:120 @@ -6721,11 +7020,11 @@ msgstr "Вимкнути перетворення зображень на &чо #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:117 msgid "Override image &size:" -msgstr "" +msgstr "Змі&нити розмір зображення:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:118 msgid "Don't add links to &pages to the Table of Contents for CBC files" -msgstr "" +msgstr "Не додавати посилання на с&торінки до змісту у файлах CBC" #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:19 msgid "Debug" @@ -6733,20 +7032,20 @@ msgstr "Зневадження" #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:21 msgid "Debug the conversion process." -msgstr "" +msgstr "Діагностика процесу перетворення." #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:56 msgid "Choose debug folder" -msgstr "" +msgstr "Виберіть теку діагностики" #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:58 msgid "Invalid debug directory" -msgstr "" +msgstr "Некоректний каталог діагностики" #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug.py:59 msgid "Failed to create debug directory" -msgstr "" +msgstr "Не вдалося створити каталог діагностики" #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:55 msgid "" @@ -6765,11 +7064,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/djvu_input.py:14 msgid "DJVU Input" -msgstr "" +msgstr "Вхідні дані DJVU" #: /home/kovid/work/calibre/src/calibre/gui2/convert/djvu_input_ui.py:25 msgid "Use &djvutxt, if available, for faster processing" -msgstr "" +msgstr "Ви&користовувати djvutxt, якщо доступний, для пришвидшення обробки" #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output.py:15 msgid "EPUB Output" @@ -6777,23 +7076,23 @@ msgstr "Вивід в EPUB" #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:57 msgid "Do not &split on page breaks" -msgstr "" +msgstr "Не &ділити на межі сторінок" #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:58 msgid "No default &cover" -msgstr "" +msgstr "Не визначати типової &обкладинки" #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:59 msgid "No &SVG cover" -msgstr "" +msgstr "Не визначати об&кладинки SVG" #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:60 msgid "Preserve cover &aspect ratio" -msgstr "" +msgstr "Зберігати &формат обкладинки" #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:61 msgid "Split files &larger than:" -msgstr "" +msgstr "Ділити файли бі&льші за:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:62 msgid " KB" @@ -6801,11 +7100,11 @@ msgstr " KB" #: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:63 msgid "&Flatten EPUB file structure" -msgstr "" +msgstr "Сп&ростити файлову структуру EPUB" #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input.py:12 msgid "FB2 Input" -msgstr "" +msgstr "Вхідні дані FB2" #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:34 msgid "Do not insert a &Table of Contents at the beginning of the book." @@ -6817,7 +7116,7 @@ msgstr "Вивід в FB2" #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:45 msgid "Sectionize:" -msgstr "" +msgstr "Поділ на розділи:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:46 msgid "Genre" @@ -6825,7 +7124,7 @@ msgstr "Жанр" #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:104 msgid "Font rescaling wizard" -msgstr "" +msgstr "Майстер масштабування шрифтів" #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:105 msgid "" @@ -6855,7 +7154,7 @@ msgstr "&Основний розмір шрифту:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:42 msgid "Font size &key:" -msgstr "" +msgstr "К&лавіша розміру шрифту:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:111 #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:115 @@ -6874,11 +7173,11 @@ msgstr " пункт" #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:112 msgid "Use &default values" -msgstr "" +msgstr "&Типові значення" #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:113 msgid "&Input document" -msgstr "" +msgstr "В&хідний документ" #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:116 msgid "&Font size: " @@ -6886,7 +7185,7 @@ msgstr "Роз&мір шрифту: " #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:118 msgid " will map to size: " -msgstr "" +msgstr " відповідає розміру: " #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:119 msgid "0.0 pt" @@ -6897,10 +7196,13 @@ msgid "" "Heuristic\n" "Processing" msgstr "" +"Евристична\n" +"обробка" #: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics.py:16 msgid "Modify the document text and structure using common patterns." msgstr "" +"Внести зміни до тексту або структури документа за допомогою типових взірців." #: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:113 msgid "" @@ -6916,15 +7218,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:114 msgid "Enable &heuristic processing" -msgstr "" +msgstr "Увімкнути &евристичну обробку" #: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:115 msgid "Heuristic Processing" -msgstr "" +msgstr "Евристична обробка" #: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:116 msgid "Unwrap lines" -msgstr "" +msgstr "З’єднати рядки" #: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:117 msgid "Line &un-wrap factor :" @@ -6932,15 +7234,17 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:118 msgid "Detect and markup unformatted chapter headings and sub headings" -msgstr "" +msgstr "Виявити і розмітити неформатовані заголовки глав та розділів" #: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:119 msgid "Renumber sequences of <h1> or <h2> tags to prevent splitting" msgstr "" +"Змінювати нумерацію у послідовностях теґів <h1> і <h2>, щоб запобігти " +"розрізанню" #: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:120 msgid "Delete blank lines between paragraphs" -msgstr "" +msgstr "Вилучити порожні рядки між абзацами" #: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:121 msgid "Ensure scene breaks are consistently formatted" @@ -6948,7 +7252,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:122 msgid "Replace soft scene &breaks:" -msgstr "" +msgstr "Замінити м’які &розриви сцен:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:123 msgid "Remove unnecessary hyphens" @@ -6960,7 +7264,7 @@ msgstr "Позначати курсивом загальні слова та в #: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:125 msgid "Replace entity indents with CSS indents" -msgstr "" +msgstr "Замінити відступи за допомогою об’єктів відступами CSS" #: /home/kovid/work/calibre/src/calibre/gui2/convert/htmlz_output.py:14 msgid "HTMLZ Output" @@ -7020,11 +7324,11 @@ msgstr "Висота &рядка:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:85 msgid "Input character &encoding:" -msgstr "" +msgstr "Код&ування вхідних даних:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:93 msgid "Remove &spacing between paragraphs" -msgstr "" +msgstr "Вилучати &інтервали між абзацами" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:97 msgid "&Indent size:" @@ -7049,15 +7353,15 @@ msgstr " em" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:111 msgid "Insert &blank line between paragraphs" -msgstr "" +msgstr "Додати &порожній рядок між абзацами" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:115 msgid "&Line size:" -msgstr "" +msgstr "Розмір &рядка:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:125 msgid "Text &justification:" -msgstr "" +msgstr "&Вирівнювання тексту:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:132 msgid "Smarten &punctuation" @@ -7065,7 +7369,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:136 msgid "&Transliterate unicode characters to ASCII" -msgstr "" +msgstr "П&еретворити символи unicode у формат ASCII" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:140 msgid "&UnSmarten punctuation" @@ -7073,19 +7377,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:144 msgid "Keep &ligatures" -msgstr "" +msgstr "Зберігати &лігатури" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:148 msgid "&Linearize tables" -msgstr "" +msgstr "Лі&неаризувати таблиці" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:166 msgid "Select what style information you want completely removed:" -msgstr "" +msgstr "Виберіть дані щодо стилю, які слід повністю вилучити:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:171 msgid "Removes the font-family CSS property" -msgstr "" +msgstr "Вилучає властивість CSS font-family" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:172 msgid "&Fonts" @@ -7139,7 +7443,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:227 msgid "&Extra CSS" -msgstr "" +msgstr "&Додаткове CSS" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:228 msgid "&Filter Style Information" @@ -7151,23 +7455,23 @@ msgstr "Вивід в LRF" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:121 msgid "Enable &autorotation of wide images" -msgstr "" +msgstr "Увімкнути &автоматичне обертання широких зображень" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:122 msgid "&Wordspace:" -msgstr "" +msgstr "Пр&оміжки між словами:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:124 msgid "Minimum para. &indent:" -msgstr "" +msgstr "Мінімальний ві&дступ абзацу:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:126 msgid "Render &tables as images" -msgstr "" +msgstr "Пере&творювати таблиці на зображення" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:127 msgid "Text size multiplier for text in rendered tables:" -msgstr "" +msgstr "Коефіцієнт розміру тексту для тексту у оброблених таблицях:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:128 msgid "Add &header" @@ -7175,15 +7479,15 @@ msgstr "Д&одати заголовок" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:129 msgid "Header &separation:" -msgstr "" +msgstr "&Роздільник заголовка:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:131 msgid "Header &format:" -msgstr "" +msgstr "&Формат заголовка:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:132 msgid "&Embed fonts" -msgstr "" +msgstr "В&будувати шрифти" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:133 msgid "&Serif font family:" @@ -7195,7 +7499,7 @@ msgstr "Га&рнітура шрифту без засічок:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:135 msgid "&Monospaced font family:" -msgstr "" +msgstr "&Моноширинна гарнітура:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:117 @@ -7208,11 +7512,13 @@ msgid "" "Set the metadata. The output file will contain as much of this metadata as " "possible." msgstr "" +"Встановлення метаданих. Файл з результатом обробки міститиме максимальний " +"можливий об’єм метаданих." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:913 msgid "Choose cover for " -msgstr "" +msgstr "Вибрати обкладинку для " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:921 @@ -7233,12 +7539,12 @@ msgstr "Помилка при зчитуванні файлу" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:197 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:931 msgid "<p>There was an error reading from file: <br /><b>" -msgstr "" +msgstr "<p>Під час читання з файла сталася помилка: <br /><b>" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:941 msgid " is not a valid picture" -msgstr "" +msgstr " не є коректним зображенням" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:159 msgid "Book Cover" @@ -7250,11 +7556,11 @@ msgstr "Змінити &обкладинку:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:161 msgid "Browse for an image to use as the cover of this book." -msgstr "" +msgstr "Вибрати зображення, яке слід використати для обкладинки цієї книги." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:163 msgid "Use cover from &source file" -msgstr "Використати обкладинку з &файлу" +msgstr "Використати обкладинку з &файла" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:164 msgid "&Title: " @@ -7268,17 +7574,19 @@ msgstr "Змінити назву цієї книги" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:50 msgid "&Author(s): " -msgstr "Автор(и): " +msgstr "&Автори: " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:167 msgid "Author So&rt:" -msgstr "" +msgstr "В&порядкування авторів:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:168 msgid "" "Change the author(s) of this book. Multiple authors should be separated by a " "comma" msgstr "" +"Змінити авторів цієї книги. Записи декількох авторів слід відокремлювати " +"комами." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:95 @@ -7310,7 +7618,7 @@ msgstr "С&ерія:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:457 msgid "List of known series. You can add new series." -msgstr "" +msgstr "Список відомих серій. Ви можете додати нові серії." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:175 msgid "Book " @@ -7322,15 +7630,15 @@ msgstr "Вивід MOBI" #: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:25 msgid "&Title for Table of Contents:" -msgstr "" +msgstr "З&аголовок змісту:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:32 msgid "Rescale images for &Palm devices" -msgstr "" +msgstr "Змінити &масштаб зображень для пристроїв Palm" #: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:36 msgid "Use author &sort for author" -msgstr "" +msgstr "Ви&користовувати впорядкування за автором для поля автора" #: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:40 msgid "Disable compression of the file contents" @@ -7338,7 +7646,7 @@ msgstr "Вимкнути стиснення вмісту файлів" #: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:44 msgid "Do not add Table of Contents to book" -msgstr "" +msgstr "Не додавати зміст до книги" #: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:48 msgid "Kindle options" @@ -7356,11 +7664,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:72 msgid "Put generated Table of Contents at &start of book instead of end" -msgstr "" +msgstr "Розта&шувати створений зміст на початку книги замість кінця" #: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:76 msgid "Ignore &margins" -msgstr "" +msgstr "І&гнорувати поля" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup.py:35 msgid "Page Setup" @@ -7400,11 +7708,11 @@ msgstr "&Нижній:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:37 msgid "Treat each &line as a paragraph" -msgstr "" +msgstr "Вва&жати кожен з рядків абзацу" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:38 msgid "Assume print formatting" -msgstr "" +msgstr "Припускати форматування для друку" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output.py:14 msgid "PDB Output" @@ -7422,12 +7730,12 @@ msgstr "&Формат:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:34 #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:95 msgid "&Inline TOC" -msgstr "" +msgstr "В&будований зміст" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:49 msgid "Output Encoding:" -msgstr "" +msgstr "Кодування виведених даних:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input.py:12 msgid "PDF Input" @@ -7435,7 +7743,7 @@ msgstr "Імпорт PDF" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:44 msgid "Line &Un-Wrapping Factor:" -msgstr "" +msgstr "Коефіцієнт зб&ирання рядків:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:45 msgid "No &Images" @@ -7459,11 +7767,11 @@ msgstr "З&берігати співвідношення розмірів обк #: /home/kovid/work/calibre/src/calibre/gui2/convert/pml_output.py:14 msgid "PMLZ Output" -msgstr "" +msgstr "Виведення даних у форматі PMLZ" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pmlz_output_ui.py:48 msgid "Do not reduce image size and depth" -msgstr "" +msgstr "Не зменшувати розміри і глибину кольорів зображень" #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output.py:14 msgid "RB Output" @@ -7476,6 +7784,8 @@ msgstr "Немає доступних форматів" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:135 msgid "Cannot build regex using the GUI builder without a book." msgstr "" +"Неможливо створити формальний вираз за допомогою графічного інтерфейсу без " +"книги." #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:144 msgid "Could not open file" @@ -7484,6 +7794,7 @@ msgstr "Не вдалося відкрити файл" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:145 msgid "Could not open the file, do you have it open in another program?" msgstr "" +"Не вдалося відкрити файл. Можливо цей файл відкрито у іншій програмі?" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:175 msgid "Open book" @@ -7491,7 +7802,7 @@ msgstr "Відкрити книгу" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:90 msgid "Regex Builder" -msgstr "" +msgstr "Засіб побудови формальних виразів" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:91 msgid "Regex:" @@ -7508,7 +7819,7 @@ msgstr "Збіги:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -7543,6 +7854,9 @@ msgid "" "&\n" "Replace" msgstr "" +"Пошук\n" +"з\n" +"заміною" #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:30 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:33 @@ -7613,7 +7927,7 @@ msgstr "&Вхідний формат:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:119 msgid "Use &saved conversion settings for individual books" -msgstr "" +msgstr "Ви&користати збережені параметри перетворення для окремих книг" #: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output.py:14 msgid "SNB Output" @@ -7621,53 +7935,56 @@ msgstr "Вивід SNB" #: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output_ui.py:43 msgid "Hide chapter name" -msgstr "" +msgstr "Ховати назву глави" #: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output_ui.py:44 msgid "Don't indent the first line for each paragraph" -msgstr "" +msgstr "Не додавати відступи до першого рядка кожного абзацу" #: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output_ui.py:45 msgid "Insert empty line between paragraphs" -msgstr "" +msgstr "Вставляти порожній рядок між абзацами" #: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output_ui.py:46 msgid "Optimize for full-sceen view " -msgstr "" +msgstr "Оптимізувати для повноекранного перегляду " #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:15 msgid "" "Structure\n" "Detection" msgstr "" +"Виявлення\n" +"структури" #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Fine tune the detection of chapter headings and other document structure." msgstr "" +"Скоригувати виявлення заголовків глав та інших елементів структури документа." #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:31 msgid "Detect chapters at (XPath expression):" -msgstr "" +msgstr "Виявляти глави за (виразом XPath):" #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:32 msgid "Insert page breaks before (XPath expression):" -msgstr "" +msgstr "Вставляти розриви сторінок перед (виразом XPath):" #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:39 msgid "Invalid XPath" -msgstr "" +msgstr "Некоректне значення XPath" #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:43 #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:40 #, python-format msgid "The XPath expression %s is invalid." -msgstr "" +msgstr "Вираз XPath %s є некоректним." #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:60 msgid "Chapter &mark:" -msgstr "" +msgstr "Позна&чка глави:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:61 msgid "Remove first &image" @@ -7675,7 +7992,7 @@ msgstr "Вилучити перше &зображення" #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:62 msgid "Insert &metadata as page at start of book" -msgstr "" +msgstr "Вставити &метадані як сторінку на початку книги" #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:63 msgid "" @@ -7687,13 +8004,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:64 msgid "Remove &fake margins" -msgstr "" +msgstr "Вилучити &фіктивні поля" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:16 msgid "" "Table of\n" "Contents" -msgstr "" +msgstr "Зміст" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:18 msgid "Control the creation/conversion of the Table of Contents." @@ -7701,15 +8018,15 @@ msgstr "Керування створенням/перетворенням зм #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:30 msgid "Level &1 TOC (XPath expression):" -msgstr "" +msgstr "Рівень &1 змісту (вираз XPath):" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:31 msgid "Level &2 TOC (XPath expression):" -msgstr "" +msgstr "Рівень &2 змісту (вираз XPath):" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:32 msgid "Level &3 TOC (XPath expression):" -msgstr "" +msgstr "Рівень &3 змісту (вираз XPath):" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:71 msgid "Do not add &detected chapters to the Table of Contents" @@ -7725,7 +8042,7 @@ msgstr "По&ріг глав" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:74 msgid "&Force use of auto-generated Table of Contents" -msgstr "" +msgstr "Прим&усово використати автоматично створений зміст" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:75 msgid "TOC &Filter:" @@ -7733,7 +8050,7 @@ msgstr "&Фільтр змісту:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:76 msgid "Allow &duplicate links when creating the Table of Contents" -msgstr "" +msgstr "Дозволити &дублікати посилань під час створення змісту" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input.py:12 msgid "TXT Input" @@ -7765,7 +8082,7 @@ msgstr "Вилучити відступи на початку рядків" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:98 msgid "Markdown" -msgstr "" +msgstr "Markdown" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:99 msgid "" @@ -7773,10 +8090,13 @@ msgid "" "advanced formatting. To learn more visit <a " "href=\"http://daringfireball.net/projects/markdown\">markdown</a>." msgstr "" +"<p>Markdown — проста мова розмітки для текстових файлів, за допомогою якої " +"можна створювати форматовані тексти. Докладніше про мову можна дізнатися <a " +"href=\"http://daringfireball.net/projects/markdown\">тут</a>." #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:100 msgid "Do not insert Table of Contents into output text when using markdown" -msgstr "" +msgstr "Не вставляти зміст до виведеного тексту у разі використання markdown" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output.py:13 msgid "TXT Output" @@ -7788,7 +8108,7 @@ msgstr "Загальне" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:89 msgid "Output &Encoding:" -msgstr "" +msgstr "&Кодування виведених даних:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:90 msgid "&Line ending style:" @@ -7812,7 +8132,7 @@ msgstr "Примусово встановити довжину рядка" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:96 msgid "Markdown, Textile" -msgstr "" +msgstr "Markdown, Textile" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:97 msgid "Do not remove links (<a> tags) before processing" @@ -7898,7 +8218,7 @@ msgstr "span" #: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:86 msgid "Having the &attribute:" -msgstr "" +msgstr "Має &атрибут:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:87 msgid "With &value:" @@ -7906,7 +8226,7 @@ msgstr "Зі з&наченням:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:88 msgid "(A regular expression)" -msgstr "" +msgstr "(Формальний вираз)" #: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:89 msgid "" @@ -7920,7 +8240,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:145 msgid "Browse by covers" -msgstr "" +msgstr "Перегляд за обкладинками" #: /home/kovid/work/calibre/src/calibre/gui2/cover_flow.py:217 msgid "Cover browser could not be loaded" @@ -7931,10 +8251,10 @@ msgstr "Переглядач обкладинок не може бути зав #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7947,68 +8267,68 @@ msgid "Undefined" msgstr "Не визначено" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" -msgstr "" +msgstr "зірок" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "Без оцінки" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" -msgstr "" +msgstr "Встановити «%s» у значення сьогоднішньої дати" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" -msgstr "" +msgstr "Спорожнити «%s»" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " індекс:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "Застосувати зміни" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "Вилучити серію" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "Автоматично нумерувати книги" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "Зробити, щоб числа починалися з " -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "Вилучити всі мітки" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "мітки для додавання" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "мітки для вилучення" @@ -8044,23 +8364,23 @@ msgstr "Надіслати збірки на пристрій" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:417 #, python-format msgid "Upload %d books to device" -msgstr "" +msgstr "Вивантажити %d книг на пристрій" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:433 msgid "Delete books from device" -msgstr "" +msgstr "Вилучити книгу з пристрою" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:451 msgid "Download books from device" -msgstr "" +msgstr "Отримати книги з пристрою" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:462 msgid "View book on device" -msgstr "" +msgstr "Переглянути книгу на пристрої" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:503 msgid "Set default send to device action" -msgstr "Встановити дію по замовчанню при надсиланні на пристрій" +msgstr "Встановити типову дію у відповідь на надсилання на пристрій" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:509 msgid "Send to main memory" @@ -8081,7 +8401,7 @@ msgstr "Основна пам'ять" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:539 msgid "Send specific format to" -msgstr "" +msgstr "Надіслати певний формат на" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:540 msgid "Send and delete from library" @@ -8089,7 +8409,7 @@ msgstr "Надіслати і вилучити з бібліотеки" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:583 msgid "Eject device" -msgstr "" +msgstr "Від’єднати пристрій" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:664 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:65 @@ -8100,7 +8420,7 @@ msgstr "Помилка" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:665 msgid "Error communicating with device" -msgstr "" +msgstr "Помилка під час обміну даними з пристроєм" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:684 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:1223 @@ -8110,11 +8430,11 @@ msgstr "Немає відповідних форматів" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:700 msgid "Select folder to open as device" -msgstr "" +msgstr "Виберіть теку, яку слід відкрити як пристрій" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:751 msgid "Error talking to device" -msgstr "" +msgstr "Помилка обміну даними з пристроєм" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:752 msgid "" @@ -8137,12 +8457,12 @@ msgstr "позначено для надсилання" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:919 #, python-format msgid "%(num)i of %(total)i Books" -msgstr "" +msgstr "%(num)i з %(total)i книг" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:923 #, python-format msgid "0 of %i Books" -msgstr "" +msgstr "0 з %i книг" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:924 msgid "Choose format to send to device" @@ -8171,6 +8491,7 @@ msgstr "Не вдається надіслати: на пристрої не м #: /home/kovid/work/calibre/src/calibre/gui2/device.py:1217 msgid "Auto convert the following books before uploading to the device?" msgstr "" +"Автоматично перетворити дані вказаних нижче книг до вивантаження на пристрій?" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:1031 msgid "Sending catalogs to device." @@ -8291,14 +8612,14 @@ msgstr "&Мітки, які слід встановити для створен #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:71 msgid "Fit &cover within view" -msgstr "" +msgstr "Підібрати розмір &обкладинки за переглядом" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog.py:33 msgid "My Books" msgstr "Мої книги" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "Створити каталог" @@ -8740,22 +9061,22 @@ msgstr "Нічого не вибрано" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:205 msgid "You must select one item from the list of Available items." -msgstr "" +msgstr "Вам слід вибрати один пункт зі списку доступних пунктів." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:212 msgid "No items selected" -msgstr "" +msgstr "Не вибрано жодного пункту" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:213 msgid "You must select at least one item from the list." -msgstr "" +msgstr "Вам слід вибрати принаймні один пункт зі списку." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:217 msgid "Are you sure you want to delete the following items?" -msgstr "" +msgstr "Ви справді бажаєте вилучити вказані нижче пункти?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:70 @@ -8764,7 +9085,7 @@ msgstr "Редактор категорії" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor_ui.py:78 msgid "Items in use" -msgstr "" +msgstr "Пункти використовуються" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:71 @@ -8772,11 +9093,13 @@ msgid "" "Delete item from database. This will unapply the item from all books and " "then remove it from the database." msgstr "" +"Вилучити пункт з бази даних. Пункт буде скасовано для всіх книг, а потім " +"вилучено з бази даних." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:73 msgid "Rename the item in every book where it is used." -msgstr "" +msgstr "Перейменувати пункт у кожній книзі, де якого використано." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/device_category_editor_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:75 @@ -8786,7 +9109,7 @@ msgstr "Ctrl+S" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/drm_error_ui.py:54 msgid "This book is DRMed" -msgstr "" +msgstr "Цю книгу захищено DRM" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/drm_error_ui.py:55 msgid "" @@ -8849,21 +9172,21 @@ msgstr "З великої літери" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:181 msgid "Copy to author sort" -msgstr "" +msgstr "Копіювати до впорядкування авторів" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:184 msgid "Copy to author" -msgstr "" +msgstr "Копіювати до поля автора" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:313 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:932 msgid "Invalid author name" -msgstr "" +msgstr "Некоректне ім’я автора" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:314 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:933 msgid "Author names cannot contain & characters." -msgstr "" +msgstr "У іменах авторів не може бути символів «&»." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:138 @@ -8989,16 +9312,16 @@ msgstr "Показати журнал" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:60 msgid "Title/Author" -msgstr "" +msgstr "Заголовок/Автор" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:61 msgid "Standard metadata" -msgstr "" +msgstr "Стандартні метадані" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:912 msgid "Custom metadata" -msgstr "" +msgstr "Нетипові метадані" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:63 msgid "Search/Replace" @@ -9019,15 +9342,15 @@ msgstr "Регулярний вираз" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:305 msgid "Replace field" -msgstr "" +msgstr "Замінити поле" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:306 msgid "Prepend to field" -msgstr "" +msgstr "Зробити префіксом поля" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:307 msgid "Append to field" -msgstr "" +msgstr "Зробити суфіксом поля" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:317 #, python-format @@ -9043,11 +9366,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:424 #, python-format msgid "Book %d:" -msgstr "" +msgstr "Книга %d:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:442 msgid "Enter an identifier type" -msgstr "" +msgstr "Вкажіть тип ідентифікатора" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:448 msgid "" @@ -9084,24 +9407,24 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:544 msgid "S/R TEMPLATE ERROR" -msgstr "" +msgstr "ПОМИЛКА У ШАБЛОНІ ПОШУКУ/ЗАМІНИ" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:692 msgid "You must specify a destination when source is a composite field" -msgstr "" +msgstr "Вам слід вказати призначення, якщо джерелом є складене поле" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:698 msgid "You must specify a destination identifier type" -msgstr "" +msgstr "Вам слід вказати тип ідентифікатора призначення" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:935 msgid "Search/replace invalid" -msgstr "" +msgstr "Пошук/Заміна є некоректним" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:936 #, python-format msgid "Search pattern is invalid: %s" -msgstr "" +msgstr "Взірець пошуку є некоректним: %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:992 #, python-format @@ -9109,15 +9432,17 @@ msgid "" "Applying changes to %d books.\n" "Phase {0} {1}%%." msgstr "" +"Застосовуємо зміни до %d книг.\n" +"Фаза {0} {1}%%." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1022 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:349 msgid "Delete saved search/replace" -msgstr "" +msgstr "Вилучити збережений пошук/заміну" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1023 msgid "The selected saved search/replace will be deleted. Are you sure?" -msgstr "" +msgstr "Позначений пошук/заміну буде вилучено. Ви впевнені у вилученні?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1040 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1048 @@ -9126,7 +9451,7 @@ msgstr "Зберегти пошук/заміну" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1041 msgid "Search/replace name:" -msgstr "" +msgstr "Назва пошуку/заміни:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1049 msgid "" @@ -9148,7 +9473,7 @@ msgstr "По&міняти місцями автора і заголовок" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:70 msgid "Author s&ort: " -msgstr "" +msgstr "Впо&рядкування авторів: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:75 msgid "" @@ -9187,11 +9512,11 @@ msgstr "&Вилучити мітки:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:126 msgid "Comma separated list of tags to remove from the books. " -msgstr "" +msgstr "Список міток, відокремлених комами, які слід вилучити з книг. " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:130 msgid "Check this box to remove all tags from the books." -msgstr "" +msgstr "Позначте цей пункт, щоб вилучити всі мітки з книг." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:242 @@ -9200,11 +9525,11 @@ msgstr "Вилучити &всі" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:155 msgid "If checked, the series will be cleared" -msgstr "" +msgstr "Якщо позначено, серії буде спорожнено" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:156 msgid "&Clear series" -msgstr "" +msgstr "С&порожнити серії" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:163 msgid "" @@ -9216,7 +9541,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:167 msgid "&Automatically number books in this series" -msgstr "" +msgstr "&Автоматично нумерувати книги у цій серії" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:172 msgid "" @@ -9227,7 +9552,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:175 msgid "&Force numbers to start with:" -msgstr "" +msgstr "Зробити, щоб &числа починалися з:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1395 @@ -9236,12 +9561,12 @@ msgstr "&Дата:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:194 msgid "d MMM yyyy" -msgstr "" +msgstr "d MMM yyyy" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:207 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:230 msgid "&Apply date" -msgstr "" +msgstr "З&астосувати дату" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:211 msgid "&Published:" @@ -9249,7 +9574,7 @@ msgstr "&Видано:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:223 msgid "Clear published date" -msgstr "" +msgstr "Вилучити дату видання" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:234 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1167 @@ -9270,7 +9595,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:259 msgid "Restore pre conversion &originals, if available" -msgstr "" +msgstr "Відновити &оригінали до перетворення, якщо можна" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:268 msgid "" @@ -9291,7 +9616,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:275 msgid "Update &title sort" -msgstr "" +msgstr "Оновити в&порядковування за заголовками" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:281 msgid "" @@ -9299,10 +9624,13 @@ msgid "" "\n" "Future conversion of these books will use the default settings." msgstr "" +"Вилучити збережені параметри перетворення для позначених книг.\n" +"\n" +"Для наступних перетворень цих книг буде використано типові параметри." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:284 msgid "Remove &stored conversion settings for the selected books" -msgstr "" +msgstr "Вилучити з&бережені параметри перетворення для позначених книг" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:289 msgid "Change &cover" @@ -9310,7 +9638,7 @@ msgstr "Змінити &обкладинку" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:294 msgid "&Generate default cover" -msgstr "" +msgstr "С&творити типову обкладинку" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:298 msgid "&Remove cover" @@ -9318,19 +9646,19 @@ msgstr "&Вилучити обкладинку" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:302 msgid "Set from &ebook file(s)" -msgstr "" +msgstr "Встановити з файлів &електронних книг" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:332 msgid "Load searc&h/replace:" -msgstr "" +msgstr "Завантажити по&шук/заміну:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:336 msgid "Select saved search/replace to load." -msgstr "" +msgstr "Виберіть збережені параметри пошуку або заміни." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:344 msgid "Save current search/replace" -msgstr "" +msgstr "Зберегти поточні параметри пошуку або заміни" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:345 msgid "Sa&ve" @@ -9358,6 +9686,8 @@ msgid "" "Choose whether to use basic text matching or advanced regular expression " "matching" msgstr "" +"Виберіть, використовувати встановлення базової відповідності за текстом чи " +"відповідності за формальним виразом." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:475 @@ -9389,6 +9719,9 @@ msgid "" "Check this box if the search string must match exactly upper and lower case. " "Uncheck it if case is to be ignored" msgstr "" +"Позначте цей пункт, якщо рядок пошуку має відповідати тексту повністю, з " +"врахуванням регістру літер. Зніміть позначку, якщо регістр символів не має " +"значення." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:418 msgid "Cas&e sensitive" @@ -9403,6 +9736,7 @@ msgid "" "The replacement text. The matched search text will be replaced with this " "string" msgstr "" +"Текст заміни. Знайдені фрагменти тексту буде замінено цим фрагментом тексту." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:433 msgid "&Apply function after replace:" @@ -9432,7 +9766,7 @@ msgstr "Ре&жим:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:460 msgid "Specify how the text should be copied into the destination." -msgstr "" +msgstr "Вкажіть, у який спосіб текст буде скопійовано до призначення." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:464 msgid "" @@ -9444,15 +9778,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:467 msgid "Split &result" -msgstr "" +msgstr "Роз&ділити результат" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:492 msgid "For multiple-valued fields, sho&w" -msgstr "" +msgstr "Для полів з декількома значеннями, по&казати" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:503 msgid "values starting a&t" -msgstr "" +msgstr "значення, що по&чинаються з" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:514 msgid "with values separated b&y" @@ -9463,6 +9797,8 @@ msgid "" "Used when displaying test results to separate values in multiple-valued " "fields" msgstr "" +"Використовується під час показу результатів тестування для відокремлення " +"значень полів з декількома значеннями" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:532 msgid "Test text" @@ -9474,7 +9810,7 @@ msgstr "Результат тестування" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:540 msgid "Your test:" -msgstr "" +msgstr "Ваш тест:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:551 @@ -9485,7 +9821,7 @@ msgstr "&Базові метадані" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:650 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:558 msgid "&Custom metadata" -msgstr "" +msgstr "&Нетипові метадані" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:651 msgid "&Search and replace" @@ -9493,7 +9829,7 @@ msgstr "П&ошук з заміною" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:61 msgid "Password needed" -msgstr "" +msgstr "Потрібен пароль" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:214 @@ -9531,7 +9867,7 @@ msgstr "Журнал версій для %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "Всі" @@ -9582,6 +9918,12 @@ msgid "" "\n" "Right-click and choose Donate to reward: " msgstr "" +"Цей додаток є БЕЗКОШТОВНИМ, але ви можете віддячити розробникові за його " +"роботу\n" +"фінансовою підтримкою за допомогою PayPal.\n" +"\n" +"Клацніть правою кнопкою і виберіть пункт «Підтримати фінансово», щоб " +"надіслати гроші: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:387 msgid "Platform unavailable" @@ -9853,10 +10195,12 @@ msgstr "** Не знайдено жодного об’єкта **" msgid "" "Click in a column in the library view to see the information for that book" msgstr "" +"Натисніть стовпчик на панелі бібліотеки, щоб переглянути інформацію для цієї " +"книги." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:205 msgid "Books with selected item \"{0}\": {1}" -msgstr "" +msgstr "Книги з позначеним пунктом «{0}»: {1}" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview.py:211 msgid "" @@ -9866,7 +10210,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:73 msgid "Quickview" -msgstr "" +msgstr "Швидкий перегляд" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:74 msgid "Items" @@ -9876,7 +10220,7 @@ msgstr "Об’єкти" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -9886,22 +10230,24 @@ msgstr "Пошук" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/quickview_ui.py:76 msgid "Search in the library view for the selected item" -msgstr "" +msgstr "Пошук на панелі бібліотеки вибраного пункту" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:25 msgid "" "Restoring database from backups, do not interrupt, this will happen in three " "stages" msgstr "" +"Відновлюються дані з резервної копії, не переривайте, дію буде виконано у " +"три кроки" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:27 msgid "Restoring database" -msgstr "" +msgstr "Відновлення бази даних" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:80 #, python-format msgid "The old database was saved as: %s" -msgstr "" +msgstr "Стару базу даних було збережено з назвою: %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:84 #, python-format @@ -9909,11 +10255,13 @@ msgid "" "Restoring the database succeeded with some warnings click Show details to " "see the details. %s" msgstr "" +"Базу даних було успішно відновлено з деякими зауваженнями. Щоб переглянути " +"ці зауваження, натисніть «Переглянути подробиці». %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:89 #, python-format msgid "Restoring database was successful. %s" -msgstr "" +msgstr "Базу даних було успішно відновлено. %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:94 msgid "" @@ -9930,17 +10278,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:131 msgid "Restoring database failed, click Show details to see details" msgstr "" +"Не вдалося відновити базу даних. Натисніть кнопку «Показати подробиці», щоб " +"дізнатися чому." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:75 msgid "Saved search already exists" -msgstr "" +msgstr "Пошук з такою назвою вже збережено" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:76 #, python-format msgid "The saved search %s already exists, perhaps with different case" -msgstr "" +msgstr "Пошук з назвою %s вже збережено, ймовірно з іншим регістром символів" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:62 msgid "" @@ -10015,7 +10365,7 @@ msgstr "&Дні місяця:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:105 msgid "Comma separated list of days of the month. For example: 1, 15" -msgstr "" +msgstr "Список днів місяця, відокремлений комами. Приклад: 1, 15" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:109 msgid "Download &after:" @@ -10047,6 +10397,8 @@ msgstr "днів" msgid "" "Note: You can set intervals of less than a day, by typing the value manually." msgstr "" +"Примітка: ви можете встановити інтервали, менші за день, якщо вкажете " +"значення вручну." #. NOTE: Number of news sources #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:197 @@ -10125,7 +10477,7 @@ msgstr "Перейти" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:208 msgid "blurb" -msgstr "" +msgstr "анотація" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:209 msgid "&Schedule for download:" @@ -10157,7 +10509,7 @@ msgstr "Розклад" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 msgid "Add &title as tag" -msgstr "" +msgstr "Додати за&головок як мітку" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:220 msgid "&Extra tags:" @@ -10168,6 +10520,8 @@ msgid "" "Maximum number of copies (issues) of this recipe to keep. Set to 0 to keep " "all (disable)." msgstr "" +"Максимальна кількість копій (випусків) цього рецепту, яку слід зберігати. " +"Встановіть значення 0, щоб не вилучати рецептів (вимкнути)." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:222 msgid "&Keep at most:" @@ -10236,13 +10590,15 @@ msgstr "містить" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:42 msgid "The text to search for. It is interpreted as a regular expression." -msgstr "" +msgstr "Фрагмент тексту для пошуку. Оброблятиметься як формальний вираз." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:43 msgid "" "<p>Negate this match. That is, only return results that <b>do not</b> match " "this query." msgstr "" +"<p>Обернути цю умову відповідності, тобто зробити так, щоб серед повернутих " +"результатів <b>не було</b> відповідників цього запиту." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:44 msgid "Negate" @@ -10260,14 +10616,14 @@ msgstr "Розширений пошук" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:28 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:169 msgid "&What kind of match to use:" -msgstr "" +msgstr "&Тип відповідності, яким слід скористатися:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:200 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:208 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:34 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:170 msgid "Contains: the word or phrase matches anywhere in the metadata field" -msgstr "" +msgstr "Містить: слово або фраза будь-де у полі метаданих" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:209 @@ -10275,6 +10631,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:171 msgid "Equals: the word or phrase must match the entire metadata field" msgstr "" +"Дорівнює: слово або фраза, які точно дорівнюють вмісту поля метаданих" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:202 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:210 @@ -10283,6 +10640,7 @@ msgstr "" msgid "" "Regular expression: the expression must match anywhere in the metadata field" msgstr "" +"Формальний вираз: вираз, за яким слід виконати пошук будь-де у полі метаданих" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:203 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:211 @@ -10303,7 +10661,7 @@ msgstr "&Всі ці слова" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:175 msgid "This exact &phrase:" -msgstr "" +msgstr "&Точно ця фраза:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:206 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:214 @@ -10324,7 +10682,7 @@ msgstr "Але не показувати записи, у яких містит #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:178 msgid "Any of these &unwanted words:" -msgstr "" +msgstr "Будь-яке з цих &небажаних слів:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:209 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:217 @@ -10369,6 +10727,7 @@ msgstr "Вкажіть ім’я автора. Можна вказати лиш msgid "" "Enter a series name, without an index. Only one series name can be used." msgstr "" +"Вкажіть назву серії без номера. Можна використовувати лише одну назву серії." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:218 msgid "Enter tags separated by spaces" @@ -10421,6 +10780,8 @@ msgid "" "That name contains leading or trailing periods, multiple periods in a row or " "spaces before or after periods." msgstr "" +"У цій назві міститься початкова або кінцева крапка, декілька крапок поспіль " +"або пробіли до чи після крапок." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:200 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:230 @@ -10435,7 +10796,7 @@ msgstr "Цю назву вже використано, можливо у інш #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:244 msgid "" "The current tag category will be <b>permanently deleted</b>. Are you sure?" -msgstr "" +msgstr "Поточну категорію міток буде <b>остаточно вилучено</b>. Ви впевнені?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:166 msgid "User Categories Editor" @@ -10473,7 +10834,7 @@ msgstr "Фільтр категорії: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:177 msgid "Select the content kind of the new category" -msgstr "" +msgstr "Виберіть тип вмісту нової категорії" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:178 msgid "A&vailable items" @@ -10489,7 +10850,7 @@ msgstr "З&астосовані пункти" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:182 msgid "Unapply (remove) tag from current tag category" -msgstr "" +msgstr "Скасувати (вилучити) мітку з поточної категорії міток" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor.py:70 msgid "Are your sure?" @@ -10500,6 +10861,8 @@ msgid "" "The following tags are used by one or more books. Are you certain you want " "to delete them?" msgstr "" +"Наведені нижче мітки використано у одній або декількох книгах. Ви впевнені, " +"що їх слід вилучити?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:128 msgid "Tag Editor" @@ -10514,6 +10877,8 @@ msgid "" "Delete tag from database. This will unapply the tag from all books and then " "remove it from the database." msgstr "" +"Вилучити мітку з бази даних. Мітку буде скасовано для всіх книг, а потім " +"вилучено з бази даних." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:132 msgid "Apply tag to current book" @@ -10525,7 +10890,7 @@ msgstr "З&астосовані мітки" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:135 msgid "Unapply (remove) tag from current book" -msgstr "" +msgstr "Скасувати (вилучити) мітку з поточної книги" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:137 msgid "&Add tag:" @@ -10539,7 +10904,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:139 msgid "Add tag to available tags and apply it to current book" -msgstr "" +msgstr "Додати мітку до доступних міток і застосувати її до поточної книги" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:105 msgid "Tag" @@ -10547,11 +10912,11 @@ msgstr "Мітка" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:108 msgid "Count" -msgstr "" +msgstr "Кількість" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:111 msgid "Was" -msgstr "" +msgstr "Було" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/template_dialog.py:263 msgid "Template language tutorial" @@ -10773,6 +11138,8 @@ msgid "" "You will lose any unsaved changes. To save your changes, click the " "Add/Update recipe button. Continue?" msgstr "" +"Ви втратите всі незбережені зміни. Щоб зберегти зміни, натисніть кнопку " +"«Додати/Оновити» рецепта. Не зберігати зміни?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:257 msgid "Add custom news source" @@ -10870,6 +11237,8 @@ msgid "" "For help with writing advanced news recipes, please visit <a " "href=\"http://manual.calibre-ebook.com/news.html\">User Recipes</a>" msgstr "" +"Докладну довідку з написання рецептів можна знайти <a " +"href=\"http://manual.calibre-ebook.com/news.html\">тут</a>" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:287 msgid "Recipe source code (python)" @@ -10914,7 +11283,7 @@ msgstr "Не вдалося отримати електронну книгу" #: /home/kovid/work/calibre/src/calibre/gui2/email.py:123 #, python-format msgid "Email %(name)s to %(to)s" -msgstr "" +msgstr "Надіслати %(name)s до %(to)s" #: /home/kovid/work/calibre/src/calibre/gui2/email.py:142 msgid "News:" @@ -10956,10 +11325,12 @@ msgstr "" msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" +"Не вдалося надіслати електронною поштою вказані нижче книги, оскільки не " +"було знайдено відповідних форматів:" #: /home/kovid/work/calibre/src/calibre/gui2/email.py:261 msgid "Failed to email book" -msgstr "" +msgstr "Не вдалося надіслати книгу електронною поштою" #: /home/kovid/work/calibre/src/calibre/gui2/email.py:264 msgid "sent" @@ -11159,50 +11530,55 @@ msgid "" "Some of the jobs cannot be stopped. Click Show details to see the list of " "unstoppable jobs." msgstr "" +"Виконання деяких з завдань не вдалося зупинити. Натисніть кнопку «Показати " +"подробиці», щоб переглянути список завдань, виконання яких не вдалося " +"зупинити." #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:394 msgid "Unavailable" msgstr "Недоступне" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "Завдання:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "Натиснути для отримання списку завдань" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " — завдання" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" +msgstr "Шукати завдання за назвою" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 -msgid "No job selected" -msgstr "" +msgid "No job" +msgstr "Немає завдань" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 +msgid "No job selected" +msgstr "Жодного завдання не позначено" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Ви справді бажаєте зупинити виконання позначених завдань?" +msgstr[1] "Ви справді бажаєте зупинити виконання позначених завдань?" +msgstr[2] "Ви справді бажаєте зупинити виконання позначених завдань?" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" +"Справді бажаєте зупинити виконання всіх завдань, не пов’язаних з пристроями?" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:365 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/model.py:86 @@ -11230,7 +11606,7 @@ msgstr "С&корочення:" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11239,12 +11615,12 @@ msgstr "Немає" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:389 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:165 msgid "Done" -msgstr "" +msgstr "Виконано" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:411 #, python-format msgid "Default: %(deflt)s [Currently not conflicting: %(curr)s]" -msgstr "" +msgstr "Типове: %(deflt)s [Зараз не конфліктує: %(curr)s]" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:430 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:59 @@ -11273,10 +11649,12 @@ msgstr "Клавіатурні скорочення" msgid "" "Double click on any entry to change the keyboard shortcuts associated with it" msgstr "" +"Двічі клацніть на будь-якому записі, щоб змінити клавіатурні скорочення, " +"пов’язані з цим записом" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:607 msgid "Search for a shortcut by name" -msgstr "" +msgstr "Шукати клавіатурне скорочення за назвою" #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:646 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:232 @@ -11391,6 +11769,8 @@ msgid "" "Could not change the on disk location of this book. Is it open in another " "program?" msgstr "" +"Не вдалося змінити розташування на диску для цієї книги. Можливо, книгу " +"відкрито у іншій програмі?" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:867 msgid "Failed to set data" @@ -11419,58 +11799,60 @@ msgstr "Позначено для вилучення" msgid "Double click to <b>edit</b> me<br><br>" msgstr "Двічі клацніть, щоб <b>редагувати</b> мене<br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "Сховати колонку %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "Впорядкувати за %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "зростанням" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "спаданням" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "Змінити вирівнювання тексту для %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "Ліворуч" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "Праворуч" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "За центром" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "Показувати стовпчик" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "Звузити стовпчик, якщо він є занадто широким" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "Відновити типове компонування" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." msgstr "" +"Підтримки скидання на пристрій не передбачено. Спочатку додайте книгу до " +"бібліотеки calibre." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:52 msgid "Configure Viewer" @@ -11478,15 +11860,15 @@ msgstr "Налаштувати перегляд" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:53 msgid "Use white background" -msgstr "" +msgstr "Використовувати біле тло" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:54 msgid "Hyphenate" -msgstr "" +msgstr "Переносити слова" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:55 msgid "<b>Changes will only take effect after a restart.</b>" -msgstr "" +msgstr "<b>Зміни буде застосовано лише після перезапуску програми.</b>" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:70 msgid " - LRF Viewer" @@ -11550,11 +11932,11 @@ msgstr "Використовувати бібліотеку, розташова #: /home/kovid/work/calibre/src/calibre/gui2/main.py:34 msgid "Start minimized to system tray." -msgstr "" +msgstr "Запускати згорнутою у лоток." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:36 msgid "Log debugging information to console" -msgstr "" +msgstr "Показувати діагностичні дані у консолі" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:38 msgid "Do not check for updates" @@ -11565,62 +11947,71 @@ msgid "" "Ignore custom plugins, useful if you installed a plugin that is preventing " "calibre from starting" msgstr "" +"Ігнорувати нетипові додатки. Корисно, якщо вами встановлено додаток, " +"використання якого не дає запустити calibre." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:44 msgid "" "Cause a running calibre instance, if any, to be shutdown. Note that if there " "are running jobs, they will be silently aborted, so use with care." msgstr "" +"Завершує роботу запущеного екземпляра calibre, якщо такий існує. Зауважте, " +"що якщо програма виконує завдання, виконання цих завдань буде перервано без " +"додаткових повідомлень, отже будьте обережні з цією командою." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:68 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:718 msgid "Calibre Library" -msgstr "" +msgstr "Бібліотека Calibre" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:95 msgid "Choose a location for your calibre e-book library" -msgstr "" +msgstr "Виберіть розташування вашої бібліотеки електронних книжок calibre" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:104 msgid "Failed to create library" -msgstr "" +msgstr "Не вдалося створити бібліотеку" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:105 #, python-format msgid "Failed to create calibre library at: %r." -msgstr "" +msgstr "Не вдалося створити бібліотеку calibre у: %r." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "Choose a location for your new calibre e-book library" msgstr "" +"Виберіть розташування вашої нової бібліотеки електронних книжок calibre" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:136 msgid "Initializing user interface..." -msgstr "" +msgstr "Ініціалізація інтерфейсу користувача…" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:164 msgid "Repairing failed" -msgstr "" +msgstr "Спроба відновлення зазнала невдачі" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:165 msgid "The database repair failed. Starting with a new empty library." msgstr "" +"Спроба відновлення бази даних зазнала невдачі. Програму запущено з новою " +"порожньою бібліотекою." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:204 msgid "Bad database location" -msgstr "" +msgstr "Помилкове розташування бази даних" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:180 #, python-format msgid "Bad database location %r. calibre will now quit." msgstr "" +"Помилкове розташування бази даних %r. Тепер роботу calibre буде завершено." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:494 msgid "Corrupted database" -msgstr "" +msgstr "Базу даних пошкоджено" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:193 #, python-format @@ -11629,42 +12020,48 @@ msgid "" "try and rebuild it automatically? The rebuild may not be completely " "successful. If you say No, a new empty calibre library will be created." msgstr "" +"Здається, базу даних бібліотеки у %s пошкоджено. Бажаєте, щоб calibre " +"спробувала автоматично повторно зібрати базу даних у автоматичному режимі? " +"Повторне збирання може бути неповністю успішним. Якщо ви виберете варіант " +"«Ні», буде створено нову порожню бібліотеку calibre." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:205 #, python-format msgid "" "Bad database location %r. Will start with a new, empty calibre library" msgstr "" +"Помилкове розташування бази даних %r. Calibre буде запущено з новою " +"порожньою бібліотекою." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:215 #, python-format msgid "Starting %s: Loading books..." -msgstr "" +msgstr "Запуск %s: завантаження книг…" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:295 msgid "If you are sure it is not running" -msgstr "" +msgstr "Якщо ви впевнені, що програму не запущено," #: /home/kovid/work/calibre/src/calibre/gui2/main.py:298 msgid "may be running in the system tray, in the" -msgstr "" +msgstr "може бути запущено у системному лотку, розташованому у" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:300 msgid "upper right region of the screen." -msgstr "" +msgstr "верхній правій частині вікна." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:302 msgid "lower right region of the screen." -msgstr "" +msgstr "нижній правій частині вікна." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:305 msgid "try rebooting your computer." -msgstr "" +msgstr "спробуйте перезавантажити вашу систему." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:307 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:321 msgid "try deleting the file" -msgstr "" +msgstr "спробуйте вилучити файл" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:310 msgid "Cannot Start " @@ -11680,6 +12077,9 @@ msgid "" "Redirect console output to a dialog window (both stdout and stderr). Useful " "on windows where GUI apps do not have a output streams." msgstr "" +"Переспрямувати виведені до консолі повідомлення до діалогового вікна " +"(повідомлення stdout і stderr). Корисно у windows, де програми з графічним " +"інтерфейсом не мають потоків виведення даних." #: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:113 msgid "&Preferences" @@ -11705,6 +12105,8 @@ msgid "" "Specify how this book should be sorted when by title. For example, The " "Exorcist might be sorted as Exorcist, The." msgstr "" +"Визначає спосіб впорядковування у разі впорядкування за заголовком. " +"Наприклад, «The Exorcist» можна переставити на місце «Exorcist, The»." #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:139 msgid "Title &sort:" @@ -11715,12 +12117,17 @@ msgid "" " The green color indicates that the current title sort matches the current " "title" msgstr "" +" Зелений колір позначає пункти, впорядкування заголовків яких відповідає " +"поточному заголовку" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:151 msgid "" " The red color warns that the current title sort does not match the current " "title. No action is required if this is what you want." msgstr "" +" Червоний колір позначає, що поточне впорядкування заголовка не відповідає " +"поточному заголовку. Вам не потрібно виконувати додаткових дій, якщо вас " +"вдовольняє результат." #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:225 msgid "Authors changed" @@ -11731,6 +12138,9 @@ msgid "" "You have changed the authors for this book. You must save these changes " "before you can use Manage authors. Do you want to save these changes?" msgstr "" +"Вами було змінено записи авторів цієї книги. Вам слід зберегти ці зміни до " +"використання засобу керування записами авторів. Бажаєте зберегти внесені " +"зміни?" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:314 msgid "" @@ -11836,19 +12246,19 @@ msgstr "&Згенерувати обкладинку" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:940 msgid "Not a valid picture" -msgstr "" +msgstr "Не є коректним зображенням" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:964 msgid "Specify title and author" -msgstr "" +msgstr "Вкажіть заголовок і автора" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:965 msgid "You must specify a title and author before generating a cover" -msgstr "" +msgstr "Вам слід вказати заголовок і автора перед створенням обкладинки" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:984 msgid "Invalid cover" -msgstr "" +msgstr "Некоректна обкладинка" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:985 msgid "Could not change cover as the image is invalid." @@ -11861,7 +12271,7 @@ msgstr "У цієї книги немає обкладинки" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1014 #, python-format msgid "Cover size: %(width)d x %(height)d pixels" -msgstr "" +msgstr "Розмір обкладинки: %(width)d x %(height)d пікселів" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1070 msgid "stars" @@ -11869,17 +12279,19 @@ msgstr "зірок" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1139 msgid "Tags changed" -msgstr "" +msgstr "Мітки змінено" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1140 msgid "" "You have changed the tags. In order to use the tags editor, you must either " "discard or apply these changes. Apply changes?" msgstr "" +"Вами змінено мітки. Щоб скористатися редактором міток, вам слід відкинути " +"або застосувати зміни. Застосувати зміни?" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1168 msgid "A comma separated list of languages for this book" -msgstr "" +msgstr "Список мов цієї книги, відокремлених комами" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1191 msgid "Unknown language" @@ -11889,12 +12301,13 @@ msgstr "Невідома мова" #, python-format msgid "The language %s is not recognized" msgid_plural "The languages %s are not recognized" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Мову %s не вдалося розпізнати" +msgstr[1] "Мови %s не вдалося розпізнати" +msgstr[2] "Мови %s не вдалося розпізнати" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1204 msgid "I&ds:" -msgstr "" +msgstr "Ідентифікатори:" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1205 #, python-format @@ -11903,6 +12316,9 @@ msgid "" "\n" "%s" msgstr "" +"Змініть ідентифікатори цієї книги. Приклад: \n" +"\n" +"%s" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1269 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1331 @@ -11917,15 +12333,15 @@ msgstr "Цей ISBN номер неправильний" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1297 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1319 msgid "Invalid ISBN" -msgstr "" +msgstr "Некоректний індекс ISBN" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1298 msgid "Enter an ISBN" -msgstr "" +msgstr "Вкажіть ISBN" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1320 msgid "The ISBN you entered is not valid. Try again." -msgstr "" +msgstr "Вказаний вами ISBN не є коректним. Повторіть спробу." #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1344 msgid "&Publisher:" @@ -11949,18 +12365,24 @@ msgid "" "The download of metadata for the <b>%d selected book(s)</b> will run in the " "background. Proceed?" msgstr "" +"Отримання метаданих для <b>позначених книг (у кількості %d)</b> буде " +"виконано у фоновому режимі. Виконати цю дію?" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:48 msgid "" "You can monitor the progress of the download by clicking the rotating " "spinner in the bottom right corner." msgstr "" +"Стежити за поступом отримання даних можна натисканням поля лічильника у " +"нижньому правому куті вікна." #: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:51 msgid "" "When the download completes you will be asked for confirmation before " "calibre applies the downloaded metadata." msgstr "" +"Після завершення отримання даних calibre попросить вас підтвердити " +"застосування отриманих метаданих." #: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:62 msgid "Download only &metadata" @@ -12041,19 +12463,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:136 msgid "Set author sort from author" -msgstr "" +msgstr "Встановити впорядкування авторів за автором" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:137 msgid "Set author from author sort" -msgstr "" +msgstr "Встановити автора за впорядкуванням авторів" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:140 msgid "Copy author to author sort" -msgstr "" +msgstr "Копіювати поле автора до впорядкування авторів" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:142 msgid "Copy author sort to author" -msgstr "" +msgstr "Копіювати впорядкування авторів до поля автора" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:153 msgid "Swap the author and title" @@ -12064,10 +12486,12 @@ msgid "" "Manage authors. Use to rename authors and correct individual author's sort " "values" msgstr "" +"Керування записами авторів. Скористайтеся для перейменування записів або " +"виправлення окремих значень впорядкування записів авторів." #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:166 msgid "Remove unused series (Series that have no books)" -msgstr "" +msgstr "Вилучити порожні серії (серії, у яких немає книг)" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:201 msgid "" @@ -12077,20 +12501,20 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:214 msgid "&Download metadata" -msgstr "" +msgstr "&Отримати метадані" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:226 msgid "Configure download metadata" -msgstr "" +msgstr "Налаштувати отримання метаданих" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:230 msgid "Change how calibre downloads metadata" -msgstr "" +msgstr "Змінити спосіб отримання метаданих calibre" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:292 #, python-format msgid " [%(num)d of %(tot)d]" -msgstr "" +msgstr " [%(num)d з %(tot)d]" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:334 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:341 @@ -12111,7 +12535,7 @@ msgstr "Неправильна обкладинка в %s форматі" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:504 #, python-format msgid "Save changes and edit the metadata of %s" -msgstr "" +msgstr "Зберегти зміни і перейти до редагування метаданих %s" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:601 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:806 @@ -12133,7 +12557,7 @@ msgstr "&Обкладинки і формати" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:775 msgid "C&ustom metadata" -msgstr "" +msgstr "&Нетипові метадані" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:787 msgid "&Comments" @@ -12141,15 +12565,15 @@ msgstr "&Коментарі" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:853 msgid "Basic metadata" -msgstr "" +msgstr "Базові метадані" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:134 msgid "Has cover" -msgstr "" +msgstr "Має обкладинку" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:134 msgid "Has summary" -msgstr "" +msgstr "Має резюме" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:191 msgid "" @@ -12165,7 +12589,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:409 msgid "calibre is downloading metadata from: " -msgstr "" +msgstr "calibre отримує метадані з: " #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:431 msgid "Please wait" @@ -12178,6 +12602,8 @@ msgstr "Запит: " #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:479 msgid "Failed to download metadata. Click Show Details to see details" msgstr "" +"Не вдалося отримати метадані. Натисніть кнопку «Показати подробиці», щоб " +"переглянути подробиці." #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:488 msgid "" @@ -12203,6 +12629,8 @@ msgstr "Завантажуюся обкладинки для <b>%s</b>, будь #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:742 msgid "Failed to download any covers, click \"Show details\" for details." msgstr "" +"Не вдалося отримати жодного зображення обкладинки. Натисніть кнопку " +"«Показати подробиці», щоб переглянути подробиці." #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:748 #, python-format @@ -12213,10 +12641,12 @@ msgstr "Не вдалося знайти жодної обкладинки дл #, python-format msgid "Found <b>%(num)d</b> covers of %(title)s. Pick the one you like best." msgstr "" +"Знайдено <b>%(num)d</b> зображень обкладинки %(title)s. Виберіть серед них " +"відповідне." #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:839 msgid "Downloading metadata..." -msgstr "" +msgstr "Отримання метаданих…" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:945 msgid "Downloading cover..." @@ -12227,6 +12657,8 @@ msgid "" "Restore settings to default values. You have to click Apply to actually save " "the default settings." msgstr "" +"Відновити типові значення параметрів. Щоб зберегти типові параметри, вам " +"слід натиснути кнопку «Застосувати»." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:328 msgid "Configure " @@ -12234,15 +12666,15 @@ msgstr "Налаштувати " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding.py:29 msgid "Ignore duplicate incoming formats" -msgstr "" +msgstr "Ігнорувати дублікати за форматами вхідних даних" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding.py:30 msgid "Overwrite existing duplicate formats" -msgstr "" +msgstr "Перезаписати вже створені дублікати за форматами" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding.py:31 msgid "Create new record for each duplicate format" -msgstr "" +msgstr "Створити новий запис для кожного з дублікатів за форматами" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:68 msgid "" @@ -12253,7 +12685,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:69 msgid "Read &metadata from file contents rather than file name" -msgstr "" +msgstr "Читати &метадані з даних файлів, а не з назв файлів" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:70 msgid "" @@ -12263,7 +12695,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:71 msgid "&Swap author firstname and lastname" -msgstr "" +msgstr "По&міняти місцями ім’я та прізвище автора" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:72 msgid "" @@ -12281,6 +12713,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:77 msgid "&Automerge added books if they already exist in the calibre library:" msgstr "" +"&Автоматично об’єднати додані книги, якщо їхні записи вже існують у " +"бібліотеці calibre:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:78 msgid "" @@ -12304,23 +12738,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:88 msgid "&Tags to apply when adding a book:" -msgstr "" +msgstr "&Мітки, які слід застосувати під час додавання книги:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:89 msgid "" "A comma-separated list of tags that will be applied to books added to the " "library" msgstr "" +"Відокремлений комами список міток, які буде застосовано до книг, доданих до " +"бібліотеки" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:90 msgid "&Configure metadata from file name" -msgstr "" +msgstr "&Налаштувати метадані на основі назви файла" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:91 msgid "" "When using the \"&Copy to library\" action to copy books between libraries, " "preserve the date" msgstr "" +"У разі використання пункту «&Копіювати до бібліотеки» для копіювання книг до " +"бібліотеки, зберігати дату" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:34 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:159 @@ -12347,15 +12785,15 @@ msgstr "Типовий" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:65 msgid "All on 1 tab" -msgstr "" +msgstr "Все на 1 вкладці" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:166 msgid "Confirmation dialogs have all been reset" -msgstr "" +msgstr "Показ діалогових вікон підтвердження відновлено" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:147 msgid "Show notification when &new version is available" -msgstr "" +msgstr "Показувати спові&щення щодо нових версій" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:148 msgid "" @@ -12365,7 +12803,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:150 msgid "Yes/No columns have three values (Requires restart)" -msgstr "" +msgstr "Стовпчики «Так/Ні» містять три значення (потребує перезапуску)" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:151 msgid "Automatically send downloaded &news to ebook reader" @@ -12374,14 +12812,15 @@ msgstr "Автоматично надсилати завантажені &нов #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:152 msgid "&Delete news from library when it is automatically sent to reader" msgstr "" +"Ви&лучати новини з бібліотеки після надсилання їх на пристрій для читання" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:153 msgid "Preferred &output format:" -msgstr "" +msgstr "&Бажаний форма виведення даних:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:154 msgid "Default network &timeout:" -msgstr "" +msgstr "Типовий &час очікування у мережі:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:155 msgid "" @@ -12400,6 +12839,7 @@ msgstr "&Пріоритет завдання:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:161 msgid "Restriction to apply when the current library is opened:" msgstr "" +"Обмеження, яке слід застосовувати під час відкриття поточної бібліотеки:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:162 msgid "" @@ -12420,37 +12860,37 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:165 msgid "Preferred &input format order:" -msgstr "" +msgstr "Пор&ядок бажаних форматів вхідних даних:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:168 msgid "Use internal &viewer for:" -msgstr "" +msgstr "Використовувати в&будований переглядач для:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:169 msgid "Reset all disabled &confirmation dialogs" -msgstr "" +msgstr "Відновити всі вимкнені ві&кна підтвердження" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:27 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:32 msgid "is true" -msgstr "" +msgstr "true" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:28 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:33 msgid "is false" -msgstr "" +msgstr "false" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:29 msgid "is undefined" -msgstr "" +msgstr "не визначено" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:36 msgid "has id" -msgstr "" +msgstr "має ідентифікатор" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:37 msgid "does not have id" -msgstr "" +msgstr "не має ідентифікатора" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:40 msgid "is equal to" @@ -12522,7 +12962,7 @@ msgstr "Введіть номер" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:218 msgid "Enter a date in the format YYYY-MM-DD" -msgstr "" +msgstr "Вкажіть дату у форматі РРРР-ММ-ДД" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:220 msgid "Enter a string." @@ -12544,22 +12984,23 @@ msgstr "Створити/Редагувати правило розфарбов #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:244 msgid "Create a coloring rule by filling in the boxes below" msgstr "" +"Створіть правило розфарбовування за допомогою пунктів, наведених нижче" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:258 msgid "to" -msgstr "" +msgstr "до" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:266 msgid "Only if the following conditions are all satisfied:" -msgstr "" +msgstr "Лише якщо виконуються вказані нижче умови:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:276 msgid "Add another condition" -msgstr "" +msgstr "Додати ще одну умову" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:280 msgid "You can disable a condition by blanking all of its boxes" -msgstr "" +msgstr "Вимкнути умову можна спорожненням всіх її полів" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:352 msgid "Invalid condition" @@ -12568,15 +13009,15 @@ msgstr "Некоректна умова" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:353 #, python-format msgid "One of the conditions for this rule is invalid: <b>%s</b>" -msgstr "" +msgstr "Одна з умов цього правила є некоректною: <b>%s</b>" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:358 msgid "No conditions" -msgstr "" +msgstr "Немає умов" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:359 msgid "You must specify at least one non-empty condition for this rule" -msgstr "" +msgstr "Вам слід вказати принаймні одну непорожню умову для цього правила" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:447 #, python-format @@ -12586,6 +13027,10 @@ msgid "" " <pre>%(rule)s</pre>\n" " " msgstr "" +"\n" +" <p>Розширене правило для стовпчика <b>%(col)s</b>:\n" +" <pre>%(rule)s</pre>\n" +" " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:452 #, python-format @@ -12596,12 +13041,18 @@ msgid "" " <ul>%(rule)s</ul>\n" " " msgstr "" +" <p>Визначити для <b>%(col)s</b> колір <b>%(color)s</b>, якщо " +"виконуються\n" +" такі умови:</p>\n" +" <ul>%(rule)s</ul>\n" +" " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:467 #, python-format msgid "" "<li>If the <b>%(col)s</b> column <b>%(action)s</b> value: <b>%(val)s</b>" msgstr "" +"<li>Якщо значення стовпчика <b>%(col)s</b> <b>%(action)s</b>: <b>%(val)s</b>" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:483 msgid "" @@ -12628,16 +13079,16 @@ msgstr "Пересунути вибране правило нижче" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:524 msgid "Add Advanced Rule" -msgstr "" +msgstr "Додати розширене правило" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:572 msgid "No rule selected" -msgstr "" +msgstr "Не вибрано жодного правила" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:573 #, python-format msgid "No rule selected for %s." -msgstr "" +msgstr "Не вибрано жодного правила для %s." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/coloring.py:578 msgid "removal" @@ -12645,16 +13096,16 @@ msgstr "вилучення" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96 msgid "You must select a column to delete it" -msgstr "" +msgstr "Вам слід позначити стовпчик для його вилучення" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:101 msgid "The selected column is not a custom column" -msgstr "" +msgstr "Позначений стовпчик не є нетиповим стовпчиком" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:103 #, python-format msgid "Do you really want to delete column %s and all its data?" -msgstr "" +msgstr "Ви справді бажаєте вилучити стовпчик %s і всі дані у ньому?" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:82 @@ -12666,41 +13117,43 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:88 msgid "Move column up" -msgstr "" +msgstr "Пересунути стовпчик вгору" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:84 msgid "Remove a user-defined column" -msgstr "" +msgstr "Вилучити визначений користувачем стовпчик" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:86 msgid "Add a user-defined column" -msgstr "" +msgstr "Додати визначений користувачем стовпчик" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:88 msgid "Edit settings of a user-defined column" -msgstr "" +msgstr "Змінити параметри визначеного користувачем стовпчика" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:96 msgid "Move column down" -msgstr "" +msgstr "Пересунути стовпчик вниз" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:91 msgid "Add &custom column" -msgstr "" +msgstr "Додати &нетиповий стовпчик" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/conversion.py:41 msgid "" "Restore settings to default values. Only settings for the currently selected " "section are restored." msgstr "" +"Відновити типові значення параметрів. Відновлено буде лише початкові " +"значення параметрів з поточного позначеного розділу." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:21 msgid "Text, column shown in the tag browser" -msgstr "" +msgstr "Текст, стовпчик, показаний на панелі перегляду міток" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:24 msgid "Comma separated text, like tags, shown in the tag browser" @@ -12722,11 +13175,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:37 msgid "Floating point numbers" -msgstr "" +msgstr "Дробові числа" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:39 msgid "Integers" -msgstr "" +msgstr "Цілі числа" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:41 msgid "Ratings, shown with stars" @@ -12741,7 +13194,7 @@ msgstr "Так/Ні" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:46 msgid "Column built from other columns" -msgstr "" +msgstr "Стовпчик, створений на основі інших стовпчиків" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:48 msgid "Column built from other columns, behaves like tags" @@ -12750,7 +13203,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:56 msgid "Create a custom column" -msgstr "" +msgstr "Створити нетиповий стовпчик" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:67 msgid "Quick create:" @@ -12821,7 +13274,7 @@ msgstr "Мої серії" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:179 msgid "My Rating" -msgstr "" +msgstr "Моя оцінка" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:180 msgid "People" @@ -12845,7 +13298,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:221 msgid "No lookup name was provided" -msgstr "" +msgstr "Не вказано назви фільтра" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:225 msgid "" @@ -12861,21 +13314,21 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:238 msgid "No column heading was provided" -msgstr "" +msgstr "Не вказано заголовка стовпчика" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:248 #, python-format msgid "The lookup name %s is already used" -msgstr "" +msgstr "Фільтр з назвою %s вже створено" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:260 #, python-format msgid "The heading %s is already used" -msgstr "" +msgstr "Заголовок %s вже створено" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:271 msgid "You must enter a template for composite columns" -msgstr "" +msgstr "Вам слід вказати шаблон для складених стовпчиків" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:281 msgid "You must enter at least one value for enumeration columns" @@ -12887,7 +13340,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:289 msgid "The value \"{0}\" is in the list more than once" -msgstr "" +msgstr "Значення «{0}» зустрічається у списку декілька разів" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:297 msgid "" @@ -12897,7 +13350,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:302 msgid "The color {0} is unknown" -msgstr "" +msgstr "Невідомий колір {0}" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:220 msgid "&Lookup name" @@ -12905,7 +13358,7 @@ msgstr "Назва &фільтра" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:221 msgid "Column &heading" -msgstr "" +msgstr "За&головок стовпчика" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:222 msgid "" @@ -12917,14 +13370,15 @@ msgstr "" msgid "" "Column heading in the library view and category name in the tag browser" msgstr "" +"Заголовок стовпчика на панелі бібліотеки і назва категорії на панелі міток" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:224 msgid "&Column type" -msgstr "" +msgstr "Т&ип стовпчика" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:225 msgid "What kind of information will be kept in the column." -msgstr "" +msgstr "Тип даних, які буде збережено у стовпчику." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:226 msgid "" @@ -12936,16 +13390,18 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:229 msgid "Show checkmarks" -msgstr "" +msgstr "Показувати позначки" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:230 msgid "" "Check this box if this column contains names, like the authors column." msgstr "" +"Позначте цей пункт, якщо цей стовпчик містить імена (наприклад, стовпчик " +"авторів)." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:231 msgid "Contains names" -msgstr "" +msgstr "Містить імена" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:232 msgid "" @@ -12964,7 +13420,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:239 msgid "Default: dd MMM yyyy." -msgstr "" +msgstr "Типовий формат: dd MMM yyyy." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:240 msgid "" @@ -12987,7 +13443,7 @@ msgstr "Формат для &дати" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:245 msgid "Format for &numbers" -msgstr "" +msgstr "Формат &чисел" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:246 msgid "&Template" @@ -12996,34 +13452,40 @@ msgstr "&Шаблон" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:247 msgid "Field template. Uses the same syntax as save templates." msgstr "" +"Шаблон поля. Використовуються ті самі синтаксичні конструкції, як і для " +"шаблонів збереження." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:248 msgid "Similar to save templates. For example, {title} {isbn}" -msgstr "" +msgstr "Подібний до шаблонів збереження. Наприклад, {title} {isbn}" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:249 msgid "Default: (nothing)" -msgstr "" +msgstr "Типове значення: (nothing)" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:250 msgid "&Sort/search column by" -msgstr "" +msgstr "Критерій в&порядкування/пошуку у стовпчику" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:251 msgid "How this column should handled in the GUI when sorting and searching" msgstr "" +"Спосіб обробки цього стовпчика у графічному інтерфейсі під час " +"впорядковування і пошуку" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:252 msgid "If checked, this column will appear in the tags browser as a category" msgstr "" +"Якщо позначено, цей стовпчик буде показано на панелі перегляду міток як " +"категорію" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:253 msgid "Show in tags browser" -msgstr "" +msgstr "Показувати у перегляді міток" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:254 msgid "Show as HTML in book details" -msgstr "" +msgstr "Показувати як HTML у параметрах книги" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:255 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:260 @@ -13039,7 +13501,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:259 msgid "The empty string is always the first value" -msgstr "" +msgstr "Порожній рядок завжди буде першим значенням" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:261 msgid "" @@ -13053,7 +13515,7 @@ msgstr "Кольори" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_debug.py:21 msgid "Getting debug information" -msgstr "" +msgstr "Отримання діагностичних даних" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_debug.py:22 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:32 @@ -13062,28 +13524,29 @@ msgstr "С&копіювати до буфера" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_debug.py:24 msgid "Debug device detection" -msgstr "" +msgstr "Діагностика виявлення пристроїв" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:31 msgid "Getting device information" -msgstr "" +msgstr "Отримання даних щодо пристрою" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:34 msgid "User-defined device information" -msgstr "" +msgstr "Дані пристрою, визначені користувачем" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:51 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:57 msgid "Device Detection" -msgstr "" +msgstr "Виявлення пристроїв" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:52 msgid "Ensure your device is disconnected, then press OK" msgstr "" +"Переконайтеся, що пристрій від’єднано, потім натисніть кнопку «Гаразд»" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:58 msgid "Ensure your device is connected, then press OK" -msgstr "" +msgstr "Переконайтеся, що пристрій з’єднано, потім натисніть кнопку «Гаразд»" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:89 msgid "" @@ -13102,7 +13565,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:67 msgid "Add an email address to which to send books" -msgstr "" +msgstr "Додати адресу ел. пошти, на яку слід надіслати книги" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:68 msgid "&Add email" @@ -13114,11 +13577,11 @@ msgstr "Зробити &типовим" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:70 msgid "&Remove email" -msgstr "" +msgstr "Ви&лучити адресу ел. пошти" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:27 msgid "Auto send" -msgstr "" +msgstr "Автоматичне надсилання" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:27 msgid "Email" @@ -13127,6 +13590,7 @@ msgstr "Електронна пошта" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:32 msgid "Formats to email. The first matching format will be sent." msgstr "" +"Формати надсилання. Дані буде надіслано у першому з відповідних форматів." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:33 msgid "" @@ -13191,7 +13655,7 @@ msgstr "Вимкнено" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:143 msgid "Partitioned" -msgstr "" +msgstr "Розподілено" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:175 msgid "Column coloring" @@ -13265,7 +13729,7 @@ msgstr "Пересунути вниз" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:139 msgid "Default author link template:" -msgstr "" +msgstr "Типовий шаблон посилання на автора:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:143 msgid "" @@ -13278,7 +13742,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:152 msgid "Use &Roman numerals for series" -msgstr "" +msgstr "&Римські числа для індексів у серіях" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:157 msgid "" @@ -13316,7 +13780,7 @@ msgstr "Показувати &середні оцінки в перегляда #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:196 msgid "Categories with &hierarchical items:" -msgstr "" +msgstr "Категорії з і&єрархічними пунктами:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:202 msgid "" @@ -13364,7 +13828,7 @@ msgstr "Зберегти зміни" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:239 msgid "Cancel and return to overview" -msgstr "" +msgstr "Скасувати і повернутися до огляду" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:295 msgid "Restoring to defaults not supported for" @@ -13385,7 +13849,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:338 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:127 msgid "Restart needed" -msgstr "" +msgstr "Потрібен перезапуск" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:48 msgid "Source" @@ -13462,7 +13926,7 @@ msgstr "&Очистити все" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:79 msgid "&Select default" -msgstr "" +msgstr "Ви&брати типові" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:80 msgid "" @@ -13490,7 +13954,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:98 msgid "Max. number of &tags to download:" -msgstr "" +msgstr "Макс. к-ть &міток для отримання:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources_ui.py:105 msgid "Max. &time to wait after first match is found:" @@ -13523,28 +13987,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:40 msgid "No proxies used" -msgstr "" +msgstr "Проксі не використовується" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:44 msgid "<b>Using proxies:</b>" -msgstr "" +msgstr "<b>Використовуються проксі:</b>" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:66 msgid "Failed to install command line tools." -msgstr "" +msgstr "Не вдалося встановити інструменти командного рядка." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:69 msgid "Command line tools installed" -msgstr "" +msgstr "Інструменти командного рядка встановлено" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:70 msgid "Command line tools installed in" -msgstr "" +msgstr "Інструменти командного рядка встановлено до" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:71 msgid "" "If you move calibre.app, you have to re-install the command line tools." msgstr "" +"Якщо ви пересунете calibre.app, вам доведеться повторно встановити " +"інструменти командного рядка." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:25 msgid "Max. simultaneous conversion/news download jobs:" @@ -13556,7 +14022,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:39 msgid "Debug &device detection" -msgstr "" +msgstr "Діа&гностика виявлення пристроїв" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:43 msgid "Get information to setup the &user defined device" @@ -13564,19 +14030,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:51 msgid "Open calibre &configuration directory" -msgstr "" +msgstr "Відкрити ка&талог налаштувань calibre" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:57 msgid "&Install command line tools" -msgstr "" +msgstr "Вст&ановити інструменти командного рядка" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:67 msgid "&Abort conversion jobs that take more than:" -msgstr "" +msgstr "П&ерервати завдання з перетворення, які тривають довше за:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:71 msgid "Never abort" -msgstr "" +msgstr "Ніколи не переривати" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:72 msgid " minutes" @@ -13584,15 +14050,15 @@ msgstr " хвилин" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:52 msgid "Device currently connected: " -msgstr "" +msgstr "Поточний з’єднаний пристрій: " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:55 msgid "Device currently connected: None" -msgstr "" +msgstr "Поточний з’єднаний пристрій: немає" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:189 msgid "That format and device already has a plugboard." -msgstr "" +msgstr "Для формату і пристрою вже визначено додаткову обробку." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:201 msgid "Possibly override plugboard?" @@ -13617,7 +14083,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:226 msgid "Really add plugboard?" -msgstr "" +msgstr "Справді виконати додаткову обробку?" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:227 msgid "" @@ -13633,7 +14099,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:248 msgid "The {0} device does not support the {1} format." -msgstr "" +msgstr "У пристрої {0} не передбачено підтримки формату {1}." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:281 msgid "Invalid destination" @@ -13689,7 +14155,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:127 msgid "Destination field" -msgstr "" +msgstr "Поле призначення" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:128 msgid "Save plugboard" @@ -13900,7 +14366,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:117 msgid "The value box cannot be empty" -msgstr "" +msgstr "Поле значення не може бути порожнім" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search.py:129 msgid "The empty grouped search term cannot be deleted" @@ -13917,7 +14383,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:112 msgid "What to search by default" -msgstr "" +msgstr "Типовий предмет пошуку" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:113 msgid "" @@ -13951,7 +14417,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:118 msgid "Clear search &histories" -msgstr "" +msgstr "Спорожнити &журнали пошуку" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:120 msgid "&Names:" @@ -13968,7 +14434,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:126 msgid "Delete the current search term" -msgstr "" +msgstr "Вилучити поточний ключ пошуку" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:128 msgid "" @@ -14000,7 +14466,7 @@ msgstr "Керування вручну" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending.py:29 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:43 msgid "Only on send" -msgstr "" +msgstr "Лише під час надсилання" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending.py:30 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:45 @@ -14010,10 +14476,12 @@ msgstr "Автоматичне керування" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending.py:36 msgid "Cannot change metadata management while a device is connected" msgstr "" +"Не можна змінювати спосіб керування метаданими, доки пристрій для читання " +"з’єднано з комп’ютером." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:30 msgid "Metadata &management:" -msgstr "" +msgstr "&Керування метаданими:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:50 msgid "" @@ -14036,7 +14504,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:432 msgid "Failed to start content server" -msgstr "" +msgstr "Не вдалося запустити сервер даних" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:106 msgid "Error log:" @@ -14048,7 +14516,7 @@ msgstr "Журнал звернень:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:128 msgid "You need to restart the server for changes to take effect" -msgstr "" +msgstr "Щоб зміни набули чинності, необхідно перезапустити сервер" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:27 msgid "Server &port:" @@ -14068,7 +14536,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:56 msgid "Max. &cover size:" -msgstr "" +msgstr "Макс. розмір &обкладинки:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:64 msgid "Max. &OPDS items per query:" @@ -14080,7 +14548,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:82 msgid "Restriction (saved search) to apply:" -msgstr "" +msgstr "Обмеження (збережений пошук), яке слід застосувати:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:86 msgid "" @@ -14110,11 +14578,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:115 msgid "Run server &automatically when calibre starts" -msgstr "" +msgstr "Запускати сервер &автоматично під час запуску calibre" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:119 msgid "View &server logs" -msgstr "" +msgstr "Переглянути ж&урнал сервера" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:125 msgid "" @@ -14204,30 +14672,33 @@ msgstr "Шаблонні функції" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:137 msgid "You cannot delete a built-in function" -msgstr "" +msgstr "Не можна вилучати вбудовані функції" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:147 msgid "Function not defined" -msgstr "" +msgstr "Функцію не визначено" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:154 #, python-format msgid "Name %s already used" -msgstr "" +msgstr "Назву %s вже використано" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:158 msgid "" "Argument count should be -1 or greater than zero. Setting it to zero means " "that this function cannot be used in single function mode." msgstr "" +"Кількість аргументів має бути рівною -1 або бути більшою за нуль. " +"Встановлення нульової кількості аргументів означає, що функцією не можна " +"буде скористатися у режимі єдиної функції." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:174 msgid "Exception while compiling function" -msgstr "" +msgstr "Виключення під час компіляції функції" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions.py:202 msgid "function source code not available" -msgstr "" +msgstr "початковий код функції недоступний" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:96 msgid "&Function:" @@ -14235,15 +14706,16 @@ msgstr "&Функція:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:97 msgid "Enter the name of the function to create." -msgstr "" +msgstr "Вкажіть назву функції, яку слід створити." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:98 msgid "Arg &count:" -msgstr "" +msgstr "&Кількість аргументів:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:99 msgid "Set this to -1 if the function takes a variable number of arguments" msgstr "" +"Встановіть значення -1, якщо кількість аргументів функції може змінюватися" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:102 msgid "&Delete" @@ -14259,11 +14731,15 @@ msgstr "С&творити" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:105 msgid "&Program Code: (be sure to follow python indenting rules)" -msgstr "" +msgstr "&Код програми: (виконуйте правила використання відступів у python)" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "Керування місцями" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" -msgstr "" +msgstr "Перемкнутися між переглядом бібліотеки і вмісту пристрою" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:41 msgid "Separator" @@ -14279,11 +14755,11 @@ msgstr "Основна панель інструментів" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:220 msgid "The main toolbar when a device is connected" -msgstr "" +msgstr "Головна панель інструментів, якщо пристрій з’єднано" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:221 msgid "The optional second toolbar" -msgstr "" +msgstr "Додаткова друга панель інструментів" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:222 msgid "The menubar" @@ -14291,51 +14767,55 @@ msgstr "Панель меню" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:223 msgid "The menubar when a device is connected" -msgstr "" +msgstr "Смужка меню, якщо пристрій з’єднано" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:224 msgid "The context menu for the books in the calibre library" -msgstr "" +msgstr "Контекстне меню книг у бібліотеці calibre" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:226 msgid "The context menu for the books on the device" -msgstr "" +msgstr "Контекстне меню книг на пристрої" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:228 msgid "The context menu for the cover browser" -msgstr "" +msgstr "Контекстне меню панелі перегляду обкладинок" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:234 msgid "Click to choose toolbar or menu to customize" msgstr "" +"Клацніть, щоб вибрати панель інструментів або меню для налаштовування" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:270 msgid "Cannot add" -msgstr "" +msgstr "Додавання неможливе" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:271 #, python-format msgid "Cannot add the actions %s to this location" -msgstr "" +msgstr "Додавання дій %s до цього місця неможливе" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:289 msgid "Cannot remove" -msgstr "" +msgstr "Вилучення неможливе" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:290 #, python-format msgid "Cannot remove the actions %s from this location" -msgstr "" +msgstr "Вилучення дій %s з цього місця неможливе" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:25 msgid "" "<p>The toolbar in calibre is different depending on whether a device is " "connected or not. Choose <b>which toolbar</b> you would like to customize:" msgstr "" +"<p>Вигляд панелі інструментів calibre є різним для режимі з’єднаного " +"пристрою і роз’єднаного пристрою. Виберіть, <b>панель якого режиму</b> ви " +"бажаєте налаштувати:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:30 msgid "Choose the toolbar to customize" -msgstr "" +msgstr "Виберіть панель інструментів для налаштовування" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:42 msgid "A&vailable actions" @@ -14343,11 +14823,11 @@ msgstr "&Наявні дії:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:62 msgid "Add selected actions to toolbar" -msgstr "" +msgstr "Додати позначені пункти дій на панель інструментів" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:73 msgid "Remove selected actions from toolbar" -msgstr "" +msgstr "Вилучити позначені пункти дій з панелі інструментів" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:83 msgid "&Current actions" @@ -14355,19 +14835,19 @@ msgstr "Пот&очні дії" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:102 msgid "Move selected action up" -msgstr "" +msgstr "Пересунути позначений пункт дії вище" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:113 msgid "Move selected action down" -msgstr "" +msgstr "Пересунути позначений пункт дії нижче" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:120 msgid "This tweak has it default value" -msgstr "" +msgstr "Це коригування має типове значення" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:122 msgid "This tweak has been customized" -msgstr "" +msgstr "Це коригування було змінено" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:291 msgid "" @@ -14378,7 +14858,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:324 msgid "Search for tweak" -msgstr "" +msgstr "Шукати коригування" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:338 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:378 @@ -14389,7 +14869,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:391 msgid "Invalid tweaks" -msgstr "" +msgstr "Некоректні коригування" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:392 msgid "" @@ -14406,19 +14886,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:56 msgid "Edit tweaks for any custom plugins you have installed" -msgstr "" +msgstr "Редагувати коригування для всіх встановлених вами нетипових додатків" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:57 msgid "&Plugin tweaks" -msgstr "" +msgstr "&Коригування додатка" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:77 msgid "Edit tweak" -msgstr "" +msgstr "Редагувати коригування" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:86 msgid "Restore this tweak to its default value" -msgstr "" +msgstr "Відновити це коригування до типового значення" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:87 msgid "Restore &default" @@ -14426,19 +14906,19 @@ msgstr "Ві&дновити типові" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:91 msgid "Apply any changes you made to this tweak" -msgstr "" +msgstr "Застосувати всі зміни, які було внесено до цього коригування" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:348 msgid "Delete current search" -msgstr "" +msgstr "Вилучити поточний пошук" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:349 msgid "No search is selected" -msgstr "" +msgstr "Не позначено жодного пошуку" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:351 msgid "The selected search will be <b>permanently deleted</b>. Are you sure?" -msgstr "" +msgstr "Позначений пошук буде <b>остаточно вилучено</b>. Ви впевнені?" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:376 msgid "Search (For Advanced Search click the button to the left)" @@ -14450,7 +14930,7 @@ msgstr "Почати пошук" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:402 msgid "Enable or disable search highlighting." -msgstr "" +msgstr "Увімкнути або вимкнути підсвічування пошуків." #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:457 msgid "Saved Searches" @@ -14459,6 +14939,7 @@ msgstr "Збережені пошуки" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:459 msgid "Choose saved search or enter name for new saved search" msgstr "" +"Виберіть збережений пошук або вкажіть назву нового збереженого пошуку" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:465 msgid "" @@ -14468,11 +14949,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:470 msgid "Create saved search" -msgstr "" +msgstr "Створити збережений пошук" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:474 msgid "Delete saved search" -msgstr "" +msgstr "Вилучити збережений пошук" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:478 msgid "Manage saved searches" @@ -14495,10 +14976,12 @@ msgstr "(всі книги)" msgid "" "Books display will be restricted to those matching a selected saved search" msgstr "" +"На панелі показу книг буде показано лише книги, що відповідають позначеному " +"збереженому пошуку" #: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:54 msgid " or the search " -msgstr "" +msgstr " або пошук " #: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:88 msgid "({0} of {1})" @@ -14506,7 +14989,7 @@ msgstr "({0} з {1})" #: /home/kovid/work/calibre/src/calibre/gui2/search_restriction_mixin.py:95 msgid "({0} of all)" -msgstr "" +msgstr "({0} з усіх)" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:134 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:74 @@ -14515,7 +14998,7 @@ msgstr "&Типовий" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:136 msgid "Customize shortcuts for" -msgstr "" +msgstr "Налаштувати скорочення для" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223 msgid "Keys" @@ -14523,7 +15006,7 @@ msgstr "Ключі" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:225 msgid "Double click to change" -msgstr "" +msgstr "Двічі клацніть, щоб змінити" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:73 msgid "Frame" @@ -14544,7 +15027,7 @@ msgstr "Додані мітки:" #: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:39 msgid "Open store in external web browswer" -msgstr "" +msgstr "Відкрити сторінку крамниці у переглядачі сторінок інтернету" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:219 msgid "&Name:" @@ -14556,7 +15039,7 @@ msgstr "&Опис:" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:222 msgid "&Headquarters:" -msgstr "" +msgstr "&Штаб-квартира:" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:226 msgid "Enabled:" @@ -14588,14 +15071,14 @@ msgstr "ні" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:232 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:163 msgid "Affiliate:" -msgstr "" +msgstr "Прив’язка:" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/adv_search_builder_ui.py:235 msgid "Nam&e/Description ..." msgstr "Н&азва/Опис…" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "Запит:" @@ -14605,7 +15088,7 @@ msgid "Enable" msgstr "Увімкнути" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "Інвертувати" @@ -14613,7 +15096,7 @@ msgstr "Інвертувати" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:41 msgid "Affiliate" -msgstr "" +msgstr "Прив’язка" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 msgid "Enabled" @@ -14621,26 +15104,30 @@ msgstr "Увімкнено" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 msgid "Headquarters" -msgstr "" +msgstr "Штаб-квартира" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:21 msgid "No DRM" -msgstr "" +msgstr "Без DRM" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:129 msgid "" "This store is currently disabled and cannot be used in other parts of " "calibre." msgstr "" +"Роботу з цією крамницею зараз вимкнено, нею не можна скористатися у інших " +"частинах calibre." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:131 msgid "" "This store is currently enabled and can be used in other parts of calibre." msgstr "" +"Роботу з цією крамницею зараз увімкнено, нею можна користуватися у інших " +"частинах calibre." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:136 msgid "This store only distributes ebooks without DRM." -msgstr "" +msgstr "Цією крамницею поширюються лише електронні книжки без DRM." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:138 msgid "" @@ -14657,15 +15144,16 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" +"Придбання книг у цій крамниці фінансово допоможе розробникові calibre: %s." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:145 #, python-format msgid "This store distributes ebooks in the following formats: %s" -msgstr "" +msgstr "Цією крамницею поширюються електронні книги у таких форматах: %s" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/results_view.py:47 msgid "Configure..." @@ -14680,11 +15168,14 @@ msgstr "Час" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:100 msgid "Number of seconds to wait for a store to respond" msgstr "" +"Кількість секунд, протягом яких слід очікувати на відповідь від крамниці" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:101 msgid "Number of seconds to let a store process results" msgstr "" +"Кількість секунд, протягом яких слід очікувати на обробку результатів " +"крамницею" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:102 @@ -14711,15 +15202,15 @@ msgstr "Кількість потоків пошуку, які слід вико #: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:81 msgid "Number of cache update threads to use" -msgstr "" +msgstr "Кількість потоків оновлення кешу" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:89 msgid "Number of cover download threads to use" -msgstr "" +msgstr "Кількість потоків отримання зображень обкладинок" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/search/search_widget_ui.py:97 msgid "Number of details threads to use" -msgstr "" +msgstr "Кількість потоків отримання подробиць" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:105 msgid "Performance" @@ -14727,32 +15218,32 @@ msgstr "Швидкодія" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:106 msgid "Number of simultaneous searches" -msgstr "" +msgstr "Кількість одночасних пошуків" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:107 msgid "Number of simultaneous cache updates" -msgstr "" +msgstr "Кількість одночасних оновлень кешу" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:108 msgid "Number of simultaneous cover downloads" -msgstr "" +msgstr "Кількість одночасних отримань зображень обкладинок" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/search_widget_ui.py:109 msgid "Number of simultaneous details downloads" -msgstr "" +msgstr "Кількість одночасних отримань подробиць" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:62 msgid "Search:" msgstr "Пошук:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "Книги:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14785,7 +15276,7 @@ msgstr "Звантажити" msgid "Price" msgstr "Ціна" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14793,7 +15284,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14801,7 +15292,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14809,16 +15300,16 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." -msgstr "" +msgstr "Вказані нижче формати може бути отримано безпосередньо: %s." #: /home/kovid/work/calibre/src/calibre/gui2/store/search/results_view.py:41 msgid "Download..." @@ -14826,12 +15317,13 @@ msgstr "Звантажити…" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/results_view.py:45 msgid "Goto in store..." -msgstr "" +msgstr "Перейти до крамниці…" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:114 #, python-format msgid "Buying from this store supports the calibre developer: %s</p>" msgstr "" +"Придбання книг у цій крамниці фінансово допоможе розробникові calibre: %s</p>" #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search.py:276 msgid "Customize get books search" @@ -14849,20 +15341,20 @@ msgstr "Не вдалося знайти жодних книг, які відп msgid "Choose format to download to your library." msgstr "Виберіть формат для отримання до вашої бібліотеки." -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "Отримати книги" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" -msgstr "" +msgstr "Відкрити позначену книгу у загальносистемній програмі для перегляду" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "&Відкрити у зовнішньому переглядачі" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "Недоступний" @@ -14871,31 +15363,34 @@ msgid "" "See the <a href=\"http://calibre-ebook.com/user_manual/gui.html#the-search-" "interface\">User Manual</a> for more help" msgstr "" +"Докладнішу довідку можна знайти у <a href=\"http://calibre-" +"ebook.com/user_manual/gui.html#the-search-interface\">Підручнику " +"користувача</a>" #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/cache_progress_dialog_ui.py:51 msgid "Updating book cache" -msgstr "" +msgstr "Оновлення кешу книг" #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/cache_update_thread.py:42 msgid "Checking last download date." -msgstr "" +msgstr "Перевірка дати останнього отримання." #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/cache_update_thread.py:48 msgid "Downloading book list from MobileRead." -msgstr "" +msgstr "Отримання списку книг з MobileRead." #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/cache_update_thread.py:61 msgid "Processing books." -msgstr "" +msgstr "Обробка книг." #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/cache_update_thread.py:71 #, python-format msgid "%(num)s of %(tot)s books processed." -msgstr "" +msgstr "Оброблено %(num)s з %(tot)s книг." #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/mobileread_plugin.py:67 msgid "Updating MobileRead book cache..." -msgstr "" +msgstr "Оновлення кешу книги MobileRead…" #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:74 msgid "&Query:" @@ -14913,7 +15408,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/web_control.py:88 msgid "File is not a supported ebook type. Save to disk?" -msgstr "" +msgstr "Файл не є підтримуваним типом електронної книги. Зберегти на диск?" #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:59 msgid "Home" @@ -14935,11 +15430,15 @@ msgstr "" msgid "" "Changing the authors for several books can take a while. Are you sure?" msgstr "" +"Зміна записів авторів для для багатьох книг може бути тривалою. Ви впевнені, " +"що хочете виконати цю дію?" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:736 msgid "" "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" +"Зміна метаданих для багатьох книг може бути тривалою. Ви впевнені, що хочете " +"виконати цю дію?" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:823 #: /home/kovid/work/calibre/src/calibre/library/database2.py:462 @@ -14950,26 +15449,28 @@ msgstr "Пошуки" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:908 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:917 msgid "Rename user category" -msgstr "" +msgstr "Перейменування категорії користувача" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:889 msgid "You cannot use periods in the name when renaming user categories" msgstr "" +"Не можна використовувати крапки у назвах під час перейменування категорій " +"користувача" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:918 #, python-format msgid "The name %s is already used" -msgstr "" +msgstr "Назву %s вже використано" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:937 msgid "Duplicate search name" -msgstr "" +msgstr "Дублювати назву пошуку" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:938 #, python-format msgid "The saved search name %s is already used." -msgstr "" +msgstr "Збережену назву пошуку %s вже використано." #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:48 msgid "Manage Authors" @@ -14977,15 +15478,15 @@ msgstr "Керування списком авторів" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:50 msgid "Manage Series" -msgstr "" +msgstr "Керування серіями" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:52 msgid "Manage Publishers" -msgstr "" +msgstr "Керування записами видавців" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:54 msgid "Manage Tags" -msgstr "" +msgstr "Керування мітками" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:465 @@ -15000,11 +15501,11 @@ msgstr "Керування збереженими пошуками" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:66 msgid "Invalid search restriction" -msgstr "" +msgstr "Некоректні обмеження пошуку" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:67 msgid "The current search restriction is invalid" -msgstr "" +msgstr "Поточні обмеження пошуку є некоректними" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:83 msgid "New Category" @@ -15018,12 +15519,12 @@ msgstr "Вилучити категорію користувача" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:135 #, python-format msgid "%s is not a user category" -msgstr "" +msgstr "%s не є категорією користувача" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:138 #, python-format msgid "%s contains items. Do you really want to delete it?" -msgstr "" +msgstr "У %s містяться пункти. Ви справді бажаєте її вилучити?" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:159 msgid "Remove category" @@ -15032,20 +15533,20 @@ msgstr "Вилучити категорію" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:160 #, python-format msgid "User category %s does not exist" -msgstr "" +msgstr "Категорії користувача %s не існує" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:179 msgid "Add to user category" -msgstr "" +msgstr "Додати до категорії користувача" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:180 #, python-format msgid "A user category %s does not exist" -msgstr "" +msgstr "Категорії користувача %s не існує" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:300 msgid "Find item in tag browser" -msgstr "" +msgstr "Знайти пункт на панелі перегляду міток" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:304 msgid "" @@ -15072,6 +15573,8 @@ msgstr "Згорнути всі категорії" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:346 msgid "No More Matches.</b><p> Click Find again to go to first match" msgstr "" +"Більше відповідників немає.</b><p> Натисніть «Знайти» ще раз, щоб перейти до " +"першого відповідника." #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:359 msgid "Sort by name" @@ -15087,7 +15590,7 @@ msgstr "Сортувати за середньою оцінкою" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:363 msgid "Set the sort order for entries in the Tag Browser" -msgstr "" +msgstr "Встановити впорядкування для записів панелі перегляду міток" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/ui.py:370 msgid "Match all" @@ -15119,27 +15622,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:407 #, python-format msgid "Rename %s" -msgstr "" +msgstr "Перейменувати %s" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:349 #, python-format msgid "Edit sort for %s" -msgstr "" +msgstr "Редагувати впорядкування для %s" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:352 #, python-format msgid "Edit link for %s" -msgstr "" +msgstr "Редагувати посилання для %s" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:359 #, python-format msgid "Add %s to user category" -msgstr "" +msgstr "Додати %s до категорії користувача" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:372 #, python-format msgid "Children of %s" -msgstr "" +msgstr "Дочірні об’єкти %s" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:382 #, python-format @@ -15149,7 +15652,7 @@ msgstr "Вилучити пошук «%s»" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:387 #, python-format msgid "Remove %(item)s from category %(cat)s" -msgstr "" +msgstr "Вилучити %(item)s з категорії %(cat)s" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:394 #, python-format @@ -15159,17 +15662,17 @@ msgstr "Пошук для «%s»" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:399 #, python-format msgid "Search for everything but %s" -msgstr "" +msgstr "Шукати все, окрім %s" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:411 #, python-format msgid "Add sub-category to %s" -msgstr "" +msgstr "Додати підкатегорію до %s" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:415 #, python-format msgid "Delete user category %s" -msgstr "" +msgstr "Вилучити категорію користувача %s" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:420 #, python-format @@ -15178,76 +15681,79 @@ msgstr "Сховати категорію %s" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:424 msgid "Show category" -msgstr "" +msgstr "Показати категорію" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:434 #, python-format msgid "Search for books in category %s" -msgstr "" +msgstr "Шукати книги у категорії %s" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:440 #, python-format msgid "Search for books not in category %s" -msgstr "" +msgstr "Шукати книги поза категоріями %s" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:454 #, python-format msgid "Manage %s" -msgstr "" +msgstr "Керування %s" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:476 msgid "Show all categories" -msgstr "" +msgstr "Показати всі категорії" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:479 msgid "Change sub-categorization scheme" -msgstr "" +msgstr "Змінити схему підкатегорій" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/view.py:499 msgid "First letter is usable only when sorting by name" msgstr "" +"Першу літеру можна використовувати лише під час впорядкування за іменами" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:70 #, python-format msgid "Convert book %(num)d of %(total)d (%(title)s)" -msgstr "" +msgstr "Перетворити книгу %(num)d з %(total)d (%(title)s)" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" -msgstr "" +msgstr "Не вдалося перетворити деякі книги" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" +"Не вдалося перетворити %(num)d з %(tot)d книг, оскільки не було виявлено " +"відповідного формату." -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" -msgstr "" +msgstr "Додавання книг до черги пакетного перетворення" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " -msgstr "" +msgstr "Додавання до черги " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" -msgstr "" +msgstr "Перетворити книгу %(num)d з %(tot)d (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "Отримати новини з " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" -msgstr "" +msgstr "Перетворити вже створену" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15264,15 +15770,15 @@ msgstr "&Відновити" #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:240 msgid "&Eject connected device" -msgstr "" +msgstr "Від’&єднати з’єднаний пристрій" #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:244 msgid "Quit calibre" -msgstr "" +msgstr "Вийти з calibre" #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:257 msgid "Clear the current search" -msgstr "" +msgstr "Спорожнити поточний пошук" #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:355 msgid "Debug mode" @@ -15300,7 +15806,7 @@ msgstr "Помилка перетворення" #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:602 msgid "Recipe Disabled" -msgstr "" +msgstr "Рецепт вимкнено" #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:618 msgid "<b>Failed</b>" @@ -15316,6 +15822,10 @@ msgid "" " Quitting may cause corruption on the device.<br>\n" " Are you sure you want to quit?" msgstr "" +" обмінюється даними з пристроєм!<br>\n" +" Завершення роботи програми призведе до пошкодження " +"даних на пристрої.<br>\n" +" Ви справді бажаєте завершити роботу програми?" #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:659 msgid "Active jobs" @@ -15326,6 +15836,8 @@ msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." msgstr "" +"буде згорнуто до системного лотка. Щоб завершити роботу програми, виберіть " +"пункт <b>Вийти</b> у контекстному меню піктограми системного лотка." #: /home/kovid/work/calibre/src/calibre/gui2/update.py:74 #, python-format @@ -15333,6 +15845,8 @@ msgid "" "%(app)s has been updated to version <b>%(ver)s</b>. See the <a " "href=\"http://calibre-ebook.com/whats-new\">new features</a>." msgstr "" +"%(app)s оновлено до версії <b>%(ver)s</b>. Ознайомтеся з <a " +"href=\"http://calibre-ebook.com/whats-new\">новими можливостями</a>." #: /home/kovid/work/calibre/src/calibre/gui2/update.py:80 msgid "Update available!" @@ -15340,20 +15854,20 @@ msgstr "Доступне оновлення!" #: /home/kovid/work/calibre/src/calibre/gui2/update.py:85 msgid "Show this notification for future updates" -msgstr "" +msgstr "Показувати це сповіщення для наступних оновлень" #: /home/kovid/work/calibre/src/calibre/gui2/update.py:90 msgid "&Get update" -msgstr "" +msgstr "&Отримати оновлення" #: /home/kovid/work/calibre/src/calibre/gui2/update.py:94 msgid "Update &plugins" -msgstr "" +msgstr "Оновити &додатки" #: /home/kovid/work/calibre/src/calibre/gui2/update.py:153 #, python-format msgid " (%d plugin updates)" -msgstr "" +msgstr " (%d оновлень додатків)" #: /home/kovid/work/calibre/src/calibre/gui2/update.py:156 msgid "Update found" @@ -15361,21 +15875,21 @@ msgstr "Знайдено поновлення" #: /home/kovid/work/calibre/src/calibre/gui2/update.py:159 msgid "updated plugins" -msgstr "" +msgstr "оновлені додатки" #: /home/kovid/work/calibre/src/calibre/gui2/update.py:185 #: /home/kovid/work/calibre/src/calibre/gui2/update.py:190 msgid "Plugin Updates" -msgstr "" +msgstr "Оновлення додатків" #: /home/kovid/work/calibre/src/calibre/gui2/update.py:188 #, python-format msgid "There are %d plugin updates available" -msgstr "" +msgstr "Доступні %d оновлень додатків" #: /home/kovid/work/calibre/src/calibre/gui2/update.py:192 msgid "Install and configure user plugins" -msgstr "" +msgstr "Встановлення і налаштування додатків користувача" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:43 msgid "Edit bookmark" @@ -15391,7 +15905,7 @@ msgstr "Експорт закладок" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:54 msgid "Saved Bookmarks (*.pickle)" -msgstr "" +msgstr "збережені закладки (*.pickle)" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:62 msgid "Import Bookmarks" @@ -15399,7 +15913,7 @@ msgstr "Імпортувати закладки" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:62 msgid "Pickled Bookmarks (*.pickle)" -msgstr "" +msgstr "закладки Pickled (*.pickle)" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:61 msgid "Bookmark Manager" @@ -15478,33 +15992,36 @@ msgstr "Моноширинний" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:191 msgid "Remember last used &window size" -msgstr "" +msgstr "Пам’ятати останні ви&користані розміри вікон" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:192 msgid "Remember the ¤t page when quitting" -msgstr "" +msgstr "Пам’&ятати поточну сторінку після виходу з програми" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:193 msgid "H&yphenate (break line in the middle of large words)" -msgstr "" +msgstr "П&ереносити слова (розбивати рядки у межах довгих слів)" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:194 msgid "" "The default language to use for hyphenation rules. If the book does not " "specify a language, this will be used." msgstr "" +"Типова мова, яку буде використано перенесення слів. Якщо для книги не " +"визначено мови, буде використано цю мову." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:195 msgid "Default &language for hyphenation:" -msgstr "" +msgstr "Типова м&ова правил перенесення слів:" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:196 msgid "&Resize images larger than the viewer window (needs restart)" msgstr "" +"З&меншувати зображення, більші за вікно перегляду (потребує перезапуску)" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:197 msgid "Page flip &duration:" -msgstr "" +msgstr "Т&ривалість гортання сторінок:" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:198 msgid "disabled" @@ -15512,11 +16029,11 @@ msgstr "вимкнено" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:200 msgid "Mouse &wheel flips pages" -msgstr "" +msgstr "Ко&ліщатко миші гортає сторінки" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:202 msgid "Maximum &view width:" -msgstr "" +msgstr "Максимальна &ширина перегляду:" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:203 msgid "&General" @@ -15524,7 +16041,7 @@ msgstr "&Загальне" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:204 msgid "Double click to change a keyboard shortcut" -msgstr "" +msgstr "Двічі клацніть, щоб змінити клавіатурне скорочення" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:205 msgid "&Keyboard shortcuts" @@ -15536,23 +16053,26 @@ msgid "" "For examples, click <a " "href=\"http://www.mobileread.com/forums/showthread.php?t=51500\">here</a>." msgstr "" +"<p>Таблиця стилів CSS, якою можна скористатися для керування виглядом і " +"поведінкою книг. Приклад можна знайти <a " +"href=\"http://www.mobileread.com/forums/showthread.php?t=51500\">тут</a>." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:207 msgid "User &Stylesheet" -msgstr "" +msgstr "&Таблиця стилів користувача" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/dictionary.py:53 msgid "No results found for:" -msgstr "" +msgstr "Нічого не знайдено до:" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:41 msgid "Options to customize the ebook viewer" -msgstr "" +msgstr "Параметри вікна перегляду електронної книги" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" -msgstr "" +msgstr "Пам’ятати останні використані розміри вікон" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:97 @@ -15560,35 +16080,39 @@ msgid "" "Set the user CSS stylesheet. This can be used to customize the look of all " "books." msgstr "" +"Встановити таблицю стилів користувача CSS. Такою таблицею можна скористатися " +"для зміни вигляду всіх книг." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:52 msgid "Maximum width of the viewer window, in pixels." -msgstr "" +msgstr "Максимальна ширина вікна перегляду у пікселях." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:54 msgid "Resize images larger than the viewer window to fit inside it" -msgstr "" +msgstr "Зменшувати масштаб зображень, більших за вікно перегляду" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:55 msgid "Hyphenate text" -msgstr "" +msgstr "Переносити слова у тексті" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:57 msgid "Default language for hyphenation rules" -msgstr "" +msgstr "Типова мова для правил перенесення слів" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:59 msgid "Save the current position in the document, when quitting" -msgstr "" +msgstr "Зберігати поточну позицію у документі під час виходу з програми" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:61 msgid "Have the mouse wheel turn pages" -msgstr "" +msgstr "Гортання сторінок у відповідь на прокручування коліщатка миші" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:63 msgid "" "The time, in seconds, for the page flip animation. Default is half a second." msgstr "" +"Час, у секундах, на анімацію гортання сторінки. Типовим значенням є половина " +"секунди." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:66 msgid "Font options" @@ -15596,37 +16120,40 @@ msgstr "Параметри шрифту" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:68 msgid "The serif font family" -msgstr "" +msgstr "Гарнітура шрифту з засічками" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:70 msgid "The sans-serif font family" -msgstr "" +msgstr "Гарнітура шрифту без засічо" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:72 msgid "The monospaced font family" -msgstr "" +msgstr "Гарнітура моноширинного шрифту" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:73 msgid "The standard font size in px" -msgstr "" +msgstr "Розмір стандартного шрифту у пікселях" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:74 msgid "The monospaced font size in px" -msgstr "" +msgstr "Розмір моноширинного шрифту у пікселях" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:75 msgid "The standard font type" -msgstr "" +msgstr "Стандартний тип шрифту" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:126 msgid "Still editing" -msgstr "" +msgstr "Продовжується редагування" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:127 msgid "" "You are in the middle of editing a keyboard shortcut first complete that, by " "clicking outside the shortcut editing box." msgstr "" +"Вами виконується редагування клавіатурного скорочення. Спочатку завершіть " +"редагування клацанням поза межами панелі редагування клавіатурного " +"скорочення." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:536 msgid "&Lookup in dictionary" @@ -15737,6 +16264,7 @@ msgstr "Спорожнити список нещодавно відкрити к #, python-format msgid "Connecting to dict.org to lookup: <b>%s</b>…" msgstr "" +"Встановлення з’єднання з dict.org для фільтрування: <b>%s</b>…" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:475 msgid "Choose ebook" @@ -15752,6 +16280,8 @@ msgid "" "Make font size %(which)s\n" "Current magnification: %(mag).1f" msgstr "" +"Зробити розмір шрифту %(which)s\n" +"Поточне збільшення: %(mag).1f" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:500 msgid "larger" @@ -15768,12 +16298,12 @@ msgstr "Не знайдено збігів для: %s" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:555 msgid "Loading flow..." -msgstr "" +msgstr "Завантаження послідовності…" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:593 #, python-format msgid "Laying out %s" -msgstr "" +msgstr "Компонування %s" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:624 #, python-format @@ -15800,25 +16330,35 @@ msgstr "Завантаження книги…" msgid "Could not open ebook" msgstr "Не вдалося відкрити ел. книгу" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "Параметри керування переглядом ел. книги" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" +"Якщо вказано, буде виконано спробу перевести вікно перегляду на передній " +"план під час запуску." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" +"Якщо вказано, буде виконано спробу відкрити вікно перегляду на весь екран " +"під час запуску." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" +msgstr "Вивести попередження javascript та консольні повідомлення до консолі" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15894,7 +16434,7 @@ msgstr "Надрукувати ел. книгу" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:103 msgid "Test name invalid" -msgstr "" +msgstr "Тестова назва є некоректною" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:104 #, python-format @@ -15925,6 +16465,8 @@ msgid "" "Choose your e-book device. If your device is not in the list, choose a " "\"%s\" device." msgstr "" +"Виберіть ваш пристрій для читання електронних книжок. Якщо вашого пристрою " +"немає у списку, виберіть пристрій «%s»." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:526 msgid "Moving library..." @@ -15959,6 +16501,7 @@ msgstr "Виберіть місце для книг" msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "" +"Для бібліотеки calibre вам слід вказати порожню теку. Тека %s не є порожньою." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:785 msgid "welcome wizard" @@ -16009,6 +16552,8 @@ msgid "" "<h2>User Manual</h2>A User Manual is also available <a " "href=\"http://manual.calibre-ebook.com\">online</a>." msgstr "" +"<h2>Підручник користувача</h2>З підручником користувача можна ознайомитися у " +"<a href=\"http://manual.calibre-ebook.com\">інтернеті</a>." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:49 msgid "" @@ -16021,7 +16566,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:50 msgid "&Kindle email:" -msgstr "" +msgstr "П&оштова адреса Kindle:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:57 msgid "Choose your &language:" @@ -16048,6 +16593,7 @@ msgstr "" #, python-format msgid "Using: %(un)s:%(pw)s@%(host)s:%(port)s and %(enc)s encryption" msgstr "" +"Використовується: %(un)s:%(pw)s@%(host)s:%(port)s і шифрування %(enc)s" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:39 msgid "Sending..." @@ -16070,17 +16616,17 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:68 #, python-format msgid "Your %s &email address:" -msgstr "" +msgstr "&Ваша адреса електронної пошти %s:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:69 #, python-format msgid "Your %s &username:" -msgstr "" +msgstr "Ім’я ва&шого користувача %s:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:70 #, python-format msgid "Your %s &password:" -msgstr "" +msgstr "Ваш па&роль до %s:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:89 #, python-format @@ -16102,15 +16648,18 @@ msgstr "Некоректне ім’я користувача" #, python-format msgid "%s needs the full email address as your username" msgstr "" +"Для доступу до %s слід вказати у полі імені користувача вашу поштову адресу " +"повністю" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 msgid "OK to proceed?" -msgstr "" +msgstr "Продовжувати?" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 msgid "" "This will display your email password on the screen. Is it OK to proceed?" msgstr "" +"Пароль до вашої поштової скриньки буде показано на екрані. Продовжувати?" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:199 msgid "" @@ -16123,43 +16672,54 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:232 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:237 msgid "Bad configuration" -msgstr "" +msgstr "Помилкові налаштування" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:222 msgid "You must set the From email address" -msgstr "" +msgstr "Вам слід встановити адресу, з якої надсилатиметься пошта" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:233 msgid "" "You must either set both the username <b>and</b> password for the mail " "server or no username and no password at all." msgstr "" +"Вам слід або встановити ім’я користувача <b>і</b> пароль для доступу до " +"поштового сервера або не вказувати ні імені користувача, ні пароля." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:238 msgid "Please enter a username and password or set encryption to None " msgstr "" +"Будь ласка, вкажіть ім’я користувача і пароль або встановіть шифрування " +"«Немає» " #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:243 msgid "" "No username and password set for mailserver. Most mailservers need a " "username and password. Are you sure?" msgstr "" +"Не вказано імені користувача і пароля для доступу до поштового сервера. Для " +"доступу до більшості поштових серверів потрібне ім’я користувача і пароль. " +"Ви впевнені?" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 msgid "Send email &from:" -msgstr "" +msgstr "Надсилати повідомлення &від:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 msgid "" "<p>This is what will be present in the From: field of emails sent by " "calibre.<br> Set it to your email address" msgstr "" +"<p>Рядок, який буде показано у полі «From:» поштових повідомлень, надісланих " +"calibre.<br> Вкажіть у цьому полі вашу адресу електронної пошти." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 msgid "" "<p>A mail server is useful if the service you are sending mail to only " "accepts email from well know mail services." msgstr "" +"<p>Поштовий сервер може знадобитися, якщо служба, до якої ви надсилаєте " +"пошту, приймає пошту лише з добре відомих поштових служб." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 msgid "Mail &Server" @@ -16168,6 +16728,8 @@ msgstr "По&штовий сервер" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 msgid "calibre can <b>optionally</b> use a server to send mail" msgstr "" +"calibre може, <b>якщо потрібно</b>, використовувати сервер для надсилання " +"пошти" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 msgid "&Hostname:" @@ -16175,7 +16737,7 @@ msgstr "Назва &вузла:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 msgid "The hostname of your mail server. For e.g. smtp.gmail.com" -msgstr "" +msgstr "Назва вузла вашого поштового сервера. Приклад: smtp.gmail.com" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 msgid "&Port:" @@ -16185,18 +16747,20 @@ msgstr "&Порт:" msgid "" "The port your mail server listens for connections on. The default is 25" msgstr "" +"Порт, на якому очікуватиме на з’єднання ваш поштовий сервер. Типовим портом " +"є 25." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:134 msgid "Your username on the mail server" -msgstr "" +msgstr "Ім’я вашого користувача на поштовому сервері" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:136 msgid "Your password on the mail server" -msgstr "" +msgstr "Ваш пароль на поштовому сервері" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:137 msgid "&Show" -msgstr "" +msgstr "По&казати" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:138 msgid "&Encryption:" @@ -16207,6 +16771,8 @@ msgid "" "Use TLS encryption when connecting to the mail server. This is the most " "common." msgstr "" +"Використовувати шифрування TLS під час з’єднання з поштовим сервером. Таке " +"шифрування є найпоширенішим." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:140 msgid "&TLS" @@ -16215,6 +16781,7 @@ msgstr "&TLS" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 msgid "Use SSL encryption when connecting to the mail server." msgstr "" +"Використовувати шифрування SSL під час з’єднання з поштовим сервером." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&SSL" @@ -16223,6 +16790,8 @@ msgstr "&SSL" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:143 msgid "WARNING: Using no encryption is highly insecure" msgstr "" +"ПОПЕРЕДЖЕННЯ: невикористання шифрування може значно погіршити захист вашої " +"системи" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:144 msgid "&None" @@ -16238,7 +16807,7 @@ msgstr "Використовувати Hotmail" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:147 msgid "&Test email" -msgstr "" +msgstr "П&еревірити поштову скриньку" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:49 msgid "" @@ -16250,7 +16819,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:50 msgid "Turn on the &content server" -msgstr "" +msgstr "Увімкнути сервер &даних" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:51 msgid "" @@ -16262,66 +16831,66 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" -msgstr "" +msgstr "позначено" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "так" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "ні" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" -msgstr "" +msgstr "не позначено" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "сьогодні" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "вчора" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "цьогомісяця" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "днівтому" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" -msgstr "" +msgstr "порожньо" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" -msgstr "" +msgstr "порожньо" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" -msgstr "" +msgstr "Некоректний булевий запит «{0}»" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:56 #, python-format @@ -16343,6 +16912,10 @@ msgid "" "Default: '%default'\n" "Applies to: CSV, XML output formats" msgstr "" +"Поле виведення даних, за яким виконуватиметься впорядковування.\n" +"Доступні поля: author_sort, id, rating, size, timestamp, title_sort\n" +"Типове значення: «%default»\n" +"Застосовується до: формати виведення CSV, XML" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:252 #, python-format @@ -16364,6 +16937,10 @@ msgid "" "Default: '%default'\n" "Applies to: BIBTEX output format" msgstr "" +"Поле виведення даних, за яким виконуватиметься впорядковування.\n" +"Доступні поля: author_sort, id, rating, size, timestamp, title.\n" +"Типове значення: «%default»\n" +"Застосовується до: формат виведення BIBTEX" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:274 #, python-format @@ -16373,6 +16950,10 @@ msgid "" "Default: '%default'\n" "Applies to: BIBTEX output format" msgstr "" +"Створювати запис джерела для записів BibTeX.\n" +"Булеве значення: True, False\n" +"Типове значення: «%default»\n" +"Застосовується до: формат виведення BIBTEX" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:283 #, python-format @@ -16382,6 +16963,10 @@ msgid "" "Default: '%default'\n" "Applies to: BIBTEX output format" msgstr "" +"Створювати запис файла, якщо формати вибрано для записів BibTeX.\n" +"Булеве значення: True, False\n" +"Типове значення: «%default»\n" +"Застосовується до: формат виведення BIBTEX" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:292 #, python-format @@ -16401,6 +16986,10 @@ msgid "" "Default: '%default'\n" "Applies to: BIBTEX output format" msgstr "" +"Кодування виведених файлів BibTeX.\n" +"Доступні кодування: utf8, cp1252, ascii.\n" +"Типове значення: «%default»\n" +"Застосовується до: формат виведення BIBTEX" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:311 #, python-format @@ -16410,6 +16999,10 @@ msgid "" "Default: '%default'\n" "Applies to: BIBTEX output format" msgstr "" +"Прапорець кодування виведених файлів BibTeX.\n" +"Доступні кодування: strict, replace, ignore, backslashreplace.\n" +"Типове значення: «%default»\n" +"Застосовується до: формат виведення BIBTEX" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:320 #, python-format @@ -16419,6 +17012,10 @@ msgid "" "Default: '%default'\n" "Applies to: BIBTEX output format" msgstr "" +"Тип запису для каталогу BibTeX.\n" +"Доступні кодування: book, misc, mixed.\n" +"Типове значення: «%default»\n" +"Застосовується до: формат виведення BIBTEX" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:636 #, python-format @@ -16427,6 +17024,9 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Заголовок створеного каталогу, використаний як заголовок у метаданих.\n" +"Типове значення: «%default»\n" +"Застосовується до: формати виведення ePub, MOBI" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:643 #, python-format @@ -16437,6 +17037,10 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Зберігати виведені дані на різних кроків у вказаному каталозі. Корисно, якщо " +"ви не впевнені, на якому кроці сталася помилка.\n" +"Типове значення: «%default»\n" +"Застосовується до: формати виведення ePub, MOBI" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:653 #, python-format @@ -16471,6 +17075,9 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Включення розділу «Автори» до каталогу.\n" +"Типове значення: «%default»\n" +"Застосовується до: формати виведення ePub, MOBI" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:681 #, python-format @@ -16479,6 +17086,9 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Включення розділу «Описи» до каталогу.\n" +"Типове значення: «%default»\n" +"Застосовується до: формати виведення ePub, MOBI" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:688 #, python-format @@ -16487,6 +17097,9 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Включення розділу «Жанри» до каталогу.\n" +"Типове значення: «%default»\n" +"Застосовується до: формати виведення ePub, MOBI" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:695 #, python-format @@ -16495,6 +17108,9 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Включення розділу «Заголовки» до каталогу.\n" +"Типове значення: «%default»\n" +"Застосовується до: формати виведення ePub, MOBI" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:702 #, python-format @@ -16503,6 +17119,9 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Включення розділу «Серії» до каталогу.\n" +"Типове значення: «%default»\n" +"Застосовується до: формати виведення ePub, MOBI" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:709 #, python-format @@ -16511,6 +17130,9 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Включення розділу «Нещодавно додані» до каталогу.\n" +"Типове значення: «%default»\n" +"Застосовується до: формати виведення ePub, MOBI" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:716 #, python-format @@ -16519,6 +17141,9 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Нетипове поле, що містить текст нотатки для додавання до заголовка опису.\n" +"Типове значення: «%default»\n" +"Застосовується до: формати виведення ePub, MOBI" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:723 #, python-format @@ -16558,6 +17183,10 @@ msgid "" "Default: '%default'\n" "Applies to ePub, MOBI output formats" msgstr "" +"Основний розмір (у дюймах) для зображень обкладинок у каталозі.\n" +"Діапазон: 1.0 — 2.0\n" +"Типове значення: «%default»\n" +"Застосовується до: формати виведення ePub, MOBI" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:754 #, python-format @@ -16566,14 +17195,17 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Мітка, яка позначає те, що книга належить до списку бажаних.\n" +"Типове значення: «%default»\n" +"Застосовується до: формати виведення ePub, MOBI" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:1438 msgid "No enabled genres found to catalog.\n" -msgstr "" +msgstr "У каталозі не виявлено жанрів.\n" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:1442 msgid "No books available to catalog" -msgstr "" +msgstr "У каталозі немає книг" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:1518 msgid "" @@ -16598,24 +17230,28 @@ msgid "" "No books found to catalog.\n" "Check 'Excluded books' criteria in E-book options.\n" msgstr "" +"У каталозі не виявлено книг.\n" +"Спробуйте змінити критерії «Виключені книги» у параметрах книг.\n" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:1732 msgid "No books available to include in catalog" -msgstr "" +msgstr "Немає книг для включення до каталогу" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:5074 msgid "" "\n" "*** Adding 'By Authors' Section required for MOBI output ***" msgstr "" +"\n" +"*** Для виведення даних у форматі MOBI потрібне додавання розділу авторів ***" #: /home/kovid/work/calibre/src/calibre/library/check_library.py:26 msgid "Invalid titles" -msgstr "" +msgstr "Некоректні назви" #: /home/kovid/work/calibre/src/calibre/library/check_library.py:27 msgid "Extra titles" -msgstr "" +msgstr "Зайві назви" #: /home/kovid/work/calibre/src/calibre/library/check_library.py:28 msgid "Invalid authors" @@ -16627,7 +17263,7 @@ msgstr "Додаткові записи авторів" #: /home/kovid/work/calibre/src/calibre/library/check_library.py:30 msgid "Missing book formats" -msgstr "" +msgstr "Формати книг, яких не вистачає" #: /home/kovid/work/calibre/src/calibre/library/check_library.py:31 msgid "Extra book formats" @@ -16635,11 +17271,11 @@ msgstr "Додаткові формати книг" #: /home/kovid/work/calibre/src/calibre/library/check_library.py:32 msgid "Unknown files in books" -msgstr "" +msgstr "Невідомі файли у книгах" #: /home/kovid/work/calibre/src/calibre/library/check_library.py:33 msgid "Missing covers files" -msgstr "" +msgstr "Файли обкладинок, яких не вистачає" #: /home/kovid/work/calibre/src/calibre/library/check_library.py:34 msgid "Cover files not in database" @@ -16647,13 +17283,15 @@ msgstr "Файли обкладинок, яких немає у базі дан #: /home/kovid/work/calibre/src/calibre/library/check_library.py:35 msgid "Folders raising exception" -msgstr "" +msgstr "Теки, обробка яких призвела до виключення" #: /home/kovid/work/calibre/src/calibre/library/cli.py:43 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:128 msgid "" @@ -16661,6 +17299,9 @@ msgid "" "\n" "List the books available in the calibre database.\n" msgstr "" +"%prog list [параметри]\n" +"\n" +"Показати список книг у базі даних calibre.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:135 #, python-format @@ -16679,10 +17320,13 @@ msgid "" "Available fields: %s\n" "Default: %%default" msgstr "" +"Поле, за яким буде виконано впорядковування результатів.\n" +"Можливі поля: %s\n" +"Типове значення: %%default" #: /home/kovid/work/calibre/src/calibre/library/cli.py:144 msgid "Sort results in ascending order" -msgstr "" +msgstr "Впорядкувати дані за зростанням" #: /home/kovid/work/calibre/src/calibre/library/cli.py:146 msgid "" @@ -16697,30 +17341,35 @@ 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:149 msgid "The string used to separate fields. Default is a space." -msgstr "" +msgstr "Рядок, який відокремлюватиме поля. Типовим є пробіл." #: /home/kovid/work/calibre/src/calibre/library/cli.py:150 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:172 msgid "Invalid fields. Available fields:" -msgstr "" +msgstr "Некоректні поля. Можливі поля:" #: /home/kovid/work/calibre/src/calibre/library/cli.py:179 msgid "Invalid sort field. Available fields:" -msgstr "" +msgstr "Некоректне поле впорядковування. Можливі поля:" #: /home/kovid/work/calibre/src/calibre/library/cli.py:251 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" +"Вказані нижче книги не було додано, оскільки записи цих книг вже є у базі " +"даних (див. параметр --duplicates):" #: /home/kovid/work/calibre/src/calibre/library/cli.py:276 msgid "" @@ -16736,10 +17385,12 @@ 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:286 msgid "Process directories recursively" -msgstr "" +msgstr "Обробляти каталоги рекурсивно" #: /home/kovid/work/calibre/src/calibre/library/cli.py:288 msgid "" @@ -16749,23 +17400,23 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:290 msgid "Add an empty book (a book with no formats)" -msgstr "" +msgstr "Додати порожню книгу (книгу без формату)" #: /home/kovid/work/calibre/src/calibre/library/cli.py:292 msgid "Set the title of the added empty book" -msgstr "" +msgstr "Встановити назву доданої порожньої книги" #: /home/kovid/work/calibre/src/calibre/library/cli.py:294 msgid "Set the authors of the added empty book" -msgstr "" +msgstr "Встановити авторів доданої порожньої книги" #: /home/kovid/work/calibre/src/calibre/library/cli.py:296 msgid "Set the ISBN of the added empty book" -msgstr "" +msgstr "Встановити ISBN доданої порожньої книги" #: /home/kovid/work/calibre/src/calibre/library/cli.py:322 msgid "You must specify at least one file to add" -msgstr "" +msgstr "Вам слід вказати принаймні один файл для додавання" #: /home/kovid/work/calibre/src/calibre/library/cli.py:340 msgid "" @@ -16780,7 +17431,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:355 msgid "You must specify at least one book to remove" -msgstr "" +msgstr "Вам слід вказати принаймні одну книгу для вилучення" #: /home/kovid/work/calibre/src/calibre/library/cli.py:376 msgid "" @@ -16793,11 +17444,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:390 msgid "You must specify an id and an ebook file" -msgstr "" +msgstr "Вам слід вказати ідентифікатор і файл електронної книги" #: /home/kovid/work/calibre/src/calibre/library/cli.py:395 msgid "ebook file must have an extension" -msgstr "" +msgstr "назва файла електронної книги повинна містити суфікс" #: /home/kovid/work/calibre/src/calibre/library/cli.py:405 msgid "" @@ -16811,7 +17462,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:421 msgid "You must specify an id and a format" -msgstr "" +msgstr "Вам слід вказати ідентифікатор і формат" #: /home/kovid/work/calibre/src/calibre/library/cli.py:440 msgid "" @@ -16825,11 +17476,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:447 msgid "Print metadata in OPF form (XML)" -msgstr "" +msgstr "Вивести метадані у форматі OPF (XML)" #: /home/kovid/work/calibre/src/calibre/library/cli.py:456 msgid "You must specify an id" -msgstr "" +msgstr "Вам слід вказати ідентифікатор" #: /home/kovid/work/calibre/src/calibre/library/cli.py:472 msgid "" @@ -16846,7 +17497,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:487 msgid "You must specify an id and a metadata file" -msgstr "" +msgstr "Вам слід вказати ідентифікатор і файл метаданих" #: /home/kovid/work/calibre/src/calibre/library/cli.py:507 msgid "" @@ -16862,6 +17513,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:515 msgid "Export all books in database, ignoring the list of ids." msgstr "" +"Експортувати всі книги у бібліотеці з ігноруванням списку ідентифікаторів." #: /home/kovid/work/calibre/src/calibre/library/cli.py:517 msgid "Export books to the specified directory. Default is" @@ -16940,7 +17592,7 @@ msgstr "Показувати докладні виведені дані. Кор #: /home/kovid/work/calibre/src/calibre/library/cli.py:687 msgid "Error: You must specify a catalog output file" -msgstr "" +msgstr "Помилка: вам слід вказати файли виведення каталогу" #: /home/kovid/work/calibre/src/calibre/library/cli.py:734 msgid "" @@ -16959,6 +17611,8 @@ msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" +"Якщо у стовпчику зберігається декілька значень, дописати вказані значення до " +"вже записаних замість заміни цих значень." #: /home/kovid/work/calibre/src/calibre/library/cli.py:755 msgid "Error: You must specify a field name, id and value" @@ -16972,6 +17626,12 @@ msgid "" " List available custom columns. Shows column labels and ids.\n" " " msgstr "" +"\n" +" %prog custom_columns [параметри]\n" +"\n" +" Показати доступні нетипові стовпчики. Виводить мітки та ідентифікатори " +"стовпчиків.\n" +" " #: /home/kovid/work/calibre/src/calibre/library/cli.py:781 msgid "Show details for each column." @@ -16980,11 +17640,11 @@ msgstr "Показати параметри кожного стовпчика." #: /home/kovid/work/calibre/src/calibre/library/cli.py:793 #, python-format msgid "You will lose all data in the column: %r. Are you sure (y/n)? " -msgstr "" +msgstr "Ви втратите всі дані у цьому стовпчику: %r. Ви впевнені (т/н)? " #: /home/kovid/work/calibre/src/calibre/library/cli.py:795 msgid "y" -msgstr "" +msgstr "т" #: /home/kovid/work/calibre/src/calibre/library/cli.py:802 msgid "" @@ -17019,7 +17679,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:847 msgid "Error: You must specify an action (add|remove|list)" -msgstr "" +msgstr "Помилка: вам слід вказати дію (add|remove|list)" #: /home/kovid/work/calibre/src/calibre/library/cli.py:855 msgid "Name:" @@ -17031,7 +17691,7 @@ msgstr "Рядок пошуку:" #: /home/kovid/work/calibre/src/calibre/library/cli.py:862 msgid "Error: You must specify a name and a search string" -msgstr "" +msgstr "Помилка: вам слід вказати назву або рядок для пошуку" #: /home/kovid/work/calibre/src/calibre/library/cli.py:865 msgid "added" @@ -17049,6 +17709,7 @@ msgstr "вилучено" #, python-format msgid "Error: Action %s not recognized, must be one of: (add|remove|list)" msgstr "" +"Помилка: невідома дія %s. Дією може бути одне зі значень: (add|remove|list)" #: /home/kovid/work/calibre/src/calibre/library/cli.py:885 msgid "" @@ -17057,6 +17718,9 @@ msgid "" "Perform some checks on the filesystem representing a library. Reports are " "{0}\n" msgstr "" +"%prog бібліотека_для_перевірки [параметри]\n" +"\n" +"Виконати деякі перевірки у файловій системі бібліотеки. Звіти буде {0}\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:892 #: /home/kovid/work/calibre/src/calibre/library/cli.py:1042 @@ -17068,22 +17732,28 @@ msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" +"Список звітів, відокремлених комами.\n" +"Типове значення: всі" #: /home/kovid/work/calibre/src/calibre/library/cli.py:899 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" +"Список суфіксів назв, які слід ігнорувати, відокремлений комами.\n" +"Типове значення: всі" #: /home/kovid/work/calibre/src/calibre/library/cli.py:903 msgid "" "Comma-separated list of names to ignore.\n" "Default: all" msgstr "" +"Список назв, які слід ігнорувати, відокремлений комами.\n" +"Типове значення: всі" #: /home/kovid/work/calibre/src/calibre/library/cli.py:933 msgid "Unknown report check" -msgstr "" +msgstr "Невідома перевірка звіту" #: /home/kovid/work/calibre/src/calibre/library/cli.py:967 msgid "" @@ -17105,11 +17775,13 @@ msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" +"Виконати відновлення. Команду не буде виконано, якщо не буде вказано цього " +"параметра." #: /home/kovid/work/calibre/src/calibre/library/cli.py:994 #, python-format msgid "You must provide the %s option to do a recovery" -msgstr "" +msgstr "Для виконання відновлення вам слід вказати параметр %s" #: /home/kovid/work/calibre/src/calibre/library/cli.py:1031 msgid "" @@ -17124,22 +17796,29 @@ msgid "" "Output only the number of items in a category instead of the counts per item " "within the category" msgstr "" +"Виводити лише кількість пунктів у категорії замість кількостей елементів у " +"пункті категорії" #: /home/kovid/work/calibre/src/calibre/library/cli.py:1044 msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" +"Символ, який слід використовувати для обмеження значення категорії у режимі " +"CSV. Типовим символом є подвійні лапки (\")." #: /home/kovid/work/calibre/src/calibre/library/cli.py:1047 msgid "" "Comma-separated list of category lookup names.\n" "Default: all" msgstr "" +"Список назв фільтрів категорій, відокремлених комами.\n" +"Типове значення: all" #: /home/kovid/work/calibre/src/calibre/library/cli.py:1053 msgid "The string used to separate fields in CSV mode. Default is a comma." msgstr "" +"Рядок, який відокремлюватиме поля у режимі CSV. Типовим роздільником є кома." #: /home/kovid/work/calibre/src/calibre/library/cli.py:1091 msgid "CATEGORY ITEMS" @@ -17157,6 +17836,15 @@ msgid "" "\n" "For help on an individual command: %%prog command --help\n" msgstr "" +"%%prog команда [параметри] [аргументи]\n" +"\n" +"%%prog є інтерфейсом командного рядка бази даних книг calibre.\n" +"\n" +"можливі команди:\n" +" %s\n" +"\n" +"Щоб отримати довідку з окремої команди, скористайтеся командою: %%prog " +"команда --help\n" #: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:610 msgid "No label was provided" @@ -17167,16 +17855,20 @@ msgid "" "The label must contain only lower case letters, digits and underscores, and " "start with a letter" msgstr "" +"Мітка має складатися лише з малих літер, цифр і символів підкреслювання і " +"має починатися з літери" #: /home/kovid/work/calibre/src/calibre/library/database2.py:68 #, python-format msgid "%(tt)sAverage rating is %(rating)3.1f" -msgstr "" +msgstr "%(tt)sСередня оцінка — %(rating)3.1f" #: /home/kovid/work/calibre/src/calibre/library/database2.py:3425 #, python-format msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "" +"<p>Перенесення старої бази даних до бібліотеки електронних книжок у " +"%s<br><center>" #: /home/kovid/work/calibre/src/calibre/library/database2.py:3454 #, python-format @@ -17197,11 +17889,11 @@ msgstr "Ідентифікатори" #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:223 msgid "Author Sort" -msgstr "" +msgstr "Впорядкування авторів" #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:335 msgid "Title Sort" -msgstr "" +msgstr "Впорядкування заголовків" #: /home/kovid/work/calibre/src/calibre/library/restore.py:128 msgid "Processed" @@ -17209,7 +17901,7 @@ msgstr "Оброблено" #: /home/kovid/work/calibre/src/calibre/library/restore.py:200 msgid "creating custom column " -msgstr "" +msgstr "створення нетипового стовпчика " #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:32 msgid "The title" @@ -17224,6 +17916,8 @@ msgid "" "The author sort string. To use only the first letter of the name use " "{author_sort[0]}" msgstr "" +"Рядок впорядкування авторів. Щоб програма використовувала лише першу літеру " +"імені, скористайтеся {author_sort[0]}" #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:36 msgid "The tags" @@ -17238,6 +17932,9 @@ msgid "" "The series number. To get leading zeros use {series_index:0>3s} or " "{series_index:>3s} for leading spaces" msgstr "" +"Номер у серії. Щоб отримати початкові нулі, скористайтеся " +"{series_index:0>3s}. Щоб отримати початкові пробіли, скористайтеся " +"{series_index:>3s}." #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:41 msgid "The rating" @@ -17261,7 +17958,7 @@ msgstr "Дата публікації" #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:46 msgid "The date when the metadata for this book record was last modified" -msgstr "" +msgstr "Дата, коли метадані цієї книги було востаннє змінено" #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:48 msgid "The calibre internal id" @@ -17276,24 +17973,32 @@ msgid "" "Normally, calibre will update the metadata in the saved files from what is " "in the calibre library. Makes saving to disk slower." msgstr "" +"Зазвичай calibre оновлює метадані у збережених файлах на основі даних " +"бібліотеки calibre. Уповільнює запис на диск." #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:85 msgid "" "Normally, calibre will write the metadata into a separate OPF file along " "with the actual e-book files." msgstr "" +"Зазвичай calibre записуватиме метадані до окремого файла OPF разом з файлами " +"електронної книги." #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:88 msgid "" "Normally, calibre will save the cover in a separate file along with the " "actual e-book file(s)." msgstr "" +"Зазвичай calibre зберігатиме зображення обкладинки у окремому файлі разом з " +"файлами електронної книги." #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:91 msgid "" "Comma separated list of formats to save for each book. By default all " "available formats are saved." msgstr "" +"Відокремлений комами список форматів, у яких слід зберігати кожну книгу. " +"Типово книга зберігатиметься у всіх форматах." #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:94 #, python-format @@ -17328,6 +18033,8 @@ msgid "" "The format in which to display dates. %(day)s - day, %(month)s - month, " "%(mn)s - month number, %(year)s - year. Default is: %(default)s" msgstr "" +"Формат, у якому слід показувати дати. %(day)s — день, %(month)s — місяць, " +"%(mn)s — номер місяця, %(year)s — рік. Типовим форматом є %(default)s" #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:121 msgid "Convert paths to lowercase." @@ -17341,6 +18048,7 @@ msgstr "Замінити пробіли підкреслюваннями." msgid "" "Save into a single directory, ignoring the template directory structure" msgstr "" +"Зберегти до окремого каталогу, ігнорувати структуру каталогів шаблонів" #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:303 #, python-format @@ -17348,11 +18056,14 @@ msgid "" "Failed to calculate path for save to disk. Template: %(templ)s\n" "Error: %(err)s" msgstr "" +"Не вдалося визначити шлях для збереження даних на диску. Шаблон: %(templ)s\n" +"Помилка: %(err)s" #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:309 #, python-format msgid "Template evaluation resulted in no path components. Template: %s" msgstr "" +"Обробка шаблонів призвела до використання компонентів поза шляхом. Шаблон: %s" #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:405 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:438 @@ -17376,7 +18087,7 @@ msgstr "Час очікування на дані з сервера у секу #: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:29 #, python-format msgid "The max number of worker threads to use. Default is %default" -msgstr "" +msgstr "Максимальна кількість потоків обробки. Типовою є %default" #: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:31 msgid "Set a password to restrict access. By default access is unrestricted." @@ -17390,13 +18101,15 @@ msgstr "Ім’я користувача для доступу. Типовим #: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:37 #, python-format msgid "The maximum size for displayed covers. Default is %default." -msgstr "" +msgstr "Максимальний розмір для показаних обкладинок. Типовим є %default." #: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:39 msgid "" "The maximum number of matches to return per OPDS query. This affects Stanza, " "WordPlayer, etc. integration." msgstr "" +"Максимальна кількість відповідників, яку слід повертати у відповідь на один " +"запит OPDS. Впливає на інтеграцію зі Stanza, WordPlayer тощо." #: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:43 #, python-format @@ -17411,6 +18124,8 @@ msgid "" "Prefix to prepend to all URLs. Useful for reverseproxying to this server " "from Apache/nginx/etc." msgstr "" +"Префікс для всіх адрес. Корисний для зворотного пропускання даних крізь " +"проксі-сервер на цей сервер з Apache/nginx тощо." #: /home/kovid/work/calibre/src/calibre/library/server/ajax.py:294 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:342 @@ -17437,16 +18152,16 @@ msgstr "Перейти до" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 msgid "First" -msgstr "" +msgstr "Перша" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 msgid "Last" -msgstr "" +msgstr "Остання" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:109 #, python-format msgid "Browsing %d books" -msgstr "" +msgstr "Перегляд %d книг" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:126 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:256 @@ -17482,15 +18197,15 @@ msgstr "домівка" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:387 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:452 msgid "Browse books by" -msgstr "" +msgstr "Переглянути книги за" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:392 msgid "Choose a category to browse by:" -msgstr "" +msgstr "Виберіть категорію для перегляду:" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:522 msgid "Browsing by" -msgstr "" +msgstr "Перегляд за" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:523 msgid "Up" @@ -17502,7 +18217,7 @@ msgstr "у" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:656 msgid "Books in" -msgstr "" +msgstr "Книги у" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:745 msgid "Other formats" @@ -17511,7 +18226,7 @@ msgstr "Інші формати" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:752 #, python-format msgid "Read %(title)s in the %(fmt)s format" -msgstr "" +msgstr "Читати %(title)s у форматі %(fmt)s" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:757 msgid "Get" @@ -17523,23 +18238,23 @@ msgstr "Подробиці" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:772 msgid "Permalink" -msgstr "" +msgstr "Стале посилання" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:773 msgid "A permanent link to this book" -msgstr "" +msgstr "Стале посилання на цю книгу" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:785 msgid "This book has been deleted" -msgstr "" +msgstr "Цю книгу було вилучено" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:873 msgid "in search" -msgstr "" +msgstr "у пошуку" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:875 msgid "Matching books" -msgstr "" +msgstr "Встановлення відповідності книг" #: /home/kovid/work/calibre/src/calibre/library/server/main.py:40 msgid "" @@ -17556,33 +18271,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 msgid "Path to the library folder to serve with the content server" -msgstr "" +msgstr "Шлях до теки бібліотеки, яку буде використано сервером даних" #: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 msgid "Write process PID to the specified file" -msgstr "" +msgstr "Записати ідентифікатор процесу до вказаного файла" #: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 msgid "" "Specifies a restriction to be used for this invocation. This option " "overrides any per-library settings specified in the GUI" msgstr "" +"Визначає обмеження, яке буде використано для цього виклику. За допомогою " +"цього пункту можна перевизначити будь-які параметри окремих бібліотек, " +"визначених у графічному інтерфейсі." #: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 msgid "" "Auto reload server when source code changes. May not work in all " "environments." msgstr "" +"Сервер автоматичного перезавантаження при зміні у початковому коді. Може не " +"працювати у всіх середовищах." #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:158 msgid "Switch to the full interface (non-mobile interface)" -msgstr "" +msgstr "Перемкнутися на повноцінний інтерфейс (немобільний інтерфейс)" #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:161 msgid "" "The full interface gives you many more features, but it may not work well on " "a small screen" msgstr "" +"Повноцінний інтерфейс надає доступ до більшої кількості можливостей, але цей " +"інтерфейс непридатний для малих екранів." #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 #, python-format @@ -17607,7 +18329,7 @@ msgstr "МІТКИ: %s<br />" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:174 #, python-format msgid "SERIES: %(series)s [%(sidx)s]<br />" -msgstr "" +msgstr "СЕРІЇ: %(series)s [%(sidx)s]<br />" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:271 msgid "Books in your library" @@ -17634,42 +18356,44 @@ msgid "" "Whenever you pass arguments to %prog that have spaces in them, enclose the " "arguments in quotation marks." msgstr "" +"Якщо ви передаєте аргументи %prog, які містять пробіли, додайте навколо " +"таких аргументів лапки." #: /home/kovid/work/calibre/src/calibre/utils/config_base.py:374 msgid "Path to the database in which books are stored" -msgstr "" +msgstr "Шлях до бази даних, у якій зберігаються дані книг" #: /home/kovid/work/calibre/src/calibre/utils/config_base.py:376 msgid "Pattern to guess metadata from filenames" -msgstr "" +msgstr "Взірець для визначення метаданих на основі назв файлів" #: /home/kovid/work/calibre/src/calibre/utils/config_base.py:378 msgid "Access key for isbndb.com" -msgstr "" +msgstr "Ключ доступу до isbndb.com" #: /home/kovid/work/calibre/src/calibre/utils/config_base.py:380 msgid "Default timeout for network operations (seconds)" -msgstr "" +msgstr "Типовий час очікування для дій у мережі (у секундах)" #: /home/kovid/work/calibre/src/calibre/utils/config_base.py:382 msgid "Path to directory in which your library of books is stored" -msgstr "" +msgstr "Шлях до каталогу, у якому зберігаються книги вашої бібліотеки" #: /home/kovid/work/calibre/src/calibre/utils/config_base.py:384 msgid "The language in which to display the user interface" -msgstr "" +msgstr "Мова, якою буде показано інтерфейс програми" #: /home/kovid/work/calibre/src/calibre/utils/config_base.py:386 msgid "The default output format for ebook conversions." -msgstr "Формат за замовчанням для перетворення книг." +msgstr "Типовий формат перетворення книг." #: /home/kovid/work/calibre/src/calibre/utils/config_base.py:390 msgid "Ordered list of formats to prefer for input." -msgstr "" +msgstr "Впорядкований список форматів вхідних даних." #: /home/kovid/work/calibre/src/calibre/utils/config_base.py:392 msgid "Read metadata from files" -msgstr "" +msgstr "Прочитати метадані з файлів" #: /home/kovid/work/calibre/src/calibre/utils/config_base.py:394 msgid "" @@ -17680,19 +18404,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/config_base.py:399 msgid "Swap author first and last names when reading metadata" -msgstr "" +msgstr "Поміняти місцями ім’я і прізвище автора під час читання метаданих" #: /home/kovid/work/calibre/src/calibre/utils/config_base.py:401 msgid "Add new formats to existing book records" -msgstr "" +msgstr "Додати нові формати до вже створених записів книг" #: /home/kovid/work/calibre/src/calibre/utils/config_base.py:403 msgid "Tags to apply to books added to the library" -msgstr "" +msgstr "Мітки, які слід застосовувати до книг, доданих до бібліотеки" #: /home/kovid/work/calibre/src/calibre/utils/config_base.py:407 msgid "List of named saved searches" -msgstr "" +msgstr "Список іменованих збережених пошуків" #: /home/kovid/work/calibre/src/calibre/utils/config_base.py:408 msgid "User-created tag browser categories" @@ -17700,7 +18424,7 @@ msgstr "Створені користувачем категорії перег #: /home/kovid/work/calibre/src/calibre/utils/config_base.py:410 msgid "How and when calibre updates metadata on the device." -msgstr "" +msgstr "Спосіб і умови оновлення calibre метаданих на пристрої." #: /home/kovid/work/calibre/src/calibre/utils/config_base.py:412 msgid "" @@ -17718,7 +18442,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/formatter.py:30 msgid "failed to scan program. Invalid input {0}" -msgstr "" +msgstr "не вдалося сканувати програму. Некоректні вхідні дані {0}" #: /home/kovid/work/calibre/src/calibre/utils/formatter.py:38 msgid " near " @@ -17730,7 +18454,7 @@ msgstr "завершення програми" #: /home/kovid/work/calibre/src/calibre/utils/formatter.py:106 msgid "syntax error - program ends before EOF" -msgstr "" +msgstr "синтаксична помилка — програму було завершено до EOF" #: /home/kovid/work/calibre/src/calibre/utils/formatter.py:134 msgid "Unknown identifier " @@ -17750,11 +18474,12 @@ msgstr "вираз не є функцією або сталою" #: /home/kovid/work/calibre/src/calibre/utils/formatter.py:205 msgid "format: type {0} requires an integer value, got {1}" -msgstr "" +msgstr "формат: для типу {0} потрібне ціле значення, отримано {1}" #: /home/kovid/work/calibre/src/calibre/utils/formatter.py:211 msgid "format: type {0} requires a decimal (float) value, got {1}" msgstr "" +"формат: для типу {0} потрібне десяткове (дробове) значення, отримано {1}" #: /home/kovid/work/calibre/src/calibre/utils/formatter.py:325 #, python-format @@ -17774,18 +18499,26 @@ msgid "" "strcmp(x, y, lt, eq, gt) -- does a case-insensitive comparison of x and y as " "strings. Returns lt if x < y. Returns eq if x == y. Otherwise returns gt." msgstr "" +"strcmp(x, y, lt, eq, gt) — виконує порівняння x і y як рядків без врахування " +"регістру. Повертає lt, якщо x < y. Повертає eq, якщо x == y. За інших умов " +"повертає gt." #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:124 msgid "" "cmp(x, y, lt, eq, gt) -- compares x and y after converting both to numbers. " "Returns lt if x < y. Returns eq if x == y. Otherwise returns gt." msgstr "" +"cmp(x, y, lt, eq, gt) — порівнює x і y після перетворення обох величин у " +"числа. Повертає lt, якщо x < y. Повертає eq, якщо x == y. За інших умов " +"повертає gt." #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:140 msgid "" "strcat(a, b, ...) -- can take any number of arguments. Returns a string " "formed by concatenating all the arguments" msgstr "" +"strcat(a, b, ...) — може приймати довільну кількість аргументів. Повертає " +"рядок, отриманий з’єднанням всіх аргументів." #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:154 msgid "strlen(a) -- Returns the length of the string passed as the argument" @@ -17903,7 +18636,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:363 msgid "switch requires an odd number of arguments" -msgstr "" +msgstr "switch потребує непарної кількості аргументів" #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:376 msgid "" @@ -17917,15 +18650,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:386 msgid "strcat_max requires 2 or more arguments" -msgstr "" +msgstr "strcat_max потребує 2 або більшої кількості аргументів" #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:388 msgid "strcat_max requires an even number of arguments" -msgstr "" +msgstr "strcat_max потребує парної кількості аргументів" #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:392 msgid "first argument to strcat_max must be an integer" -msgstr "" +msgstr "першим аргументом strcat_max має бути ціле число" #: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:410 msgid "" @@ -18076,7 +18809,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -18099,67 +18832,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" -msgstr "" +msgstr "titlecase(значення) — повернути значення поля великими літерами" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" -msgstr "" +msgstr "capitalize(значення) — замінити перші літери значення поля великими" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -18168,7 +18901,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -18176,7 +18909,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -18184,7 +18917,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -18192,7 +18925,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -18201,7 +18934,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -18210,14 +18943,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -18225,7 +18958,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -18233,7 +18966,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -18246,7 +18979,7 @@ msgstr "Очікування…" #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Aborted, taking too long" -msgstr "" +msgstr "Перервано, дія є занадто тривалою" #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:56 msgid "Stopped" @@ -18289,176 +19022,184 @@ msgid "English (Australia)" msgstr "Англійська (Австралія)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 +msgid "English (Japan)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 msgid "English (Bulgaria)" msgstr "Англійська (Болгарія)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "Англійська (Нова Зеландія)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "Англійська (Канада)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "Англійська (Греція)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "Англійська (Індія)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "Англійська (Непал)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "Англійська (Таїланд)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "Англійська (Туреччина)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "Англійська (Кіпр)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "Англійська (Чеська Республіка)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "Англійська (Пакистан)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "Англійська (Хорватія)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "Англійська (Індонезія)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "Англійська (Ізраїль)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "Англійська (Росія)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "Англійська (Сінгапур)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "Англійська (Ємен)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "Англійська (Ірландія)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "Англійська (Китай)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "Англійська (ПАР)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "Іспанська (Парагвай)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "Іспанська (Уругвай)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "Іспанська (Аргентина)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "Іспанська (Мексика)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "Іспанська (Куба)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "Іспанська (Чилі)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "Іспанська (Еквадор)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "Іспанська (Гондурас)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "Іспанська (Венесуела)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "Іспанська (Болівія)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "Іспанська (Нікарагуа)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "Іспанська (Колумбія)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "Німецька (Австрія)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "Французька (Бельгія)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "Голландська (Нідерланди)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "Голландська (Бельгія)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "ранку" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "вечора" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "ранку" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "вечора" #: /home/kovid/work/calibre/src/calibre/utils/pyconsole/console.py:56 msgid "Choose theme (needs restart)" -msgstr "" +msgstr "Вибрати тему (потрібен перезапуск)" #: /home/kovid/work/calibre/src/calibre/utils/pyconsole/console.py:109 msgid "ERROR: Unhandled exception" -msgstr "" +msgstr "Помилка: непридатне до обробки виключення" #: /home/kovid/work/calibre/src/calibre/utils/pyconsole/console.py:188 msgid "No interpreter" @@ -18467,6 +19208,7 @@ msgstr "Немає інтерпретатора" #: /home/kovid/work/calibre/src/calibre/utils/pyconsole/console.py:189 msgid "No active interpreter found. Try restarting the console" msgstr "" +"Не виявлено активного інтерпретатора. Спробуйте перезапустити консоль." #: /home/kovid/work/calibre/src/calibre/utils/pyconsole/console.py:203 msgid "Interpreter died" @@ -18496,11 +19238,11 @@ msgstr "Перезапустити консоль" #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:53 msgid "URL must have the scheme sftp" -msgstr "" +msgstr "Адресу слід вказувати у форматі sftp" #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:57 msgid "host must be of the form user@hostname" -msgstr "" +msgstr "вузол слід вказувати у формі користувач@назва_вузла" #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:68 msgid "Failed to negotiate SSH session: " @@ -18509,19 +19251,19 @@ msgstr "Не вдалося узгодити сеанс SSH: " #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:71 #, python-format msgid "Failed to authenticate with server: %s" -msgstr "" +msgstr "Не вдалося пройти розпізнавання на сервері: %s" #: /home/kovid/work/calibre/src/calibre/utils/smtp.py:255 msgid "Control email delivery" -msgstr "" +msgstr "Керування отриманням пошти" #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:120 msgid "Unknown section" -msgstr "" +msgstr "Невідомий розділ" #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:142 msgid "Unknown feed" -msgstr "" +msgstr "Невідома подача" #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:160 #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:187 @@ -18530,26 +19272,30 @@ msgstr "Стаття без назви" #: /home/kovid/work/calibre/src/calibre/web/feeds/input.py:22 msgid "Download periodical content from the internet" -msgstr "" +msgstr "Періодично отримувати дані з інтернету" #: /home/kovid/work/calibre/src/calibre/web/feeds/input.py:37 msgid "" "Useful for recipe development. Forces max_articles_per_feed to 2 and " "downloads at most 2 feeds." msgstr "" +"Корисно для розробки рецептів. Примусово встановлює для " +"max_articles_per_feed значення 2 та визначає отримання не більше 2 подач." #: /home/kovid/work/calibre/src/calibre/web/feeds/input.py:40 msgid "Username for sites that require a login to access content." msgstr "" +"Ім’я користувача на сайтах, на яких для доступу до даних потрібна реєстрація." #: /home/kovid/work/calibre/src/calibre/web/feeds/input.py:43 msgid "Password for sites that require a login to access content." -msgstr "" +msgstr "Пароль до сайтів, на яких для доступу до даних потрібна реєстрація." #: /home/kovid/work/calibre/src/calibre/web/feeds/input.py:47 msgid "" "Do not download latest version of builtin recipes from the calibre server" msgstr "" +"Не отримувати найсвіжішу версію вбудованих рецептів з сервера calibre" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:48 msgid "Unknown News Source" @@ -18558,7 +19304,7 @@ msgstr "Невідоме джерело новин" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:718 #, python-format msgid "The \"%s\" recipe needs a username and password." -msgstr "" +msgstr "Для роботи з рецептом «%s» потрібне ім’я користувача і пароль." #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:825 msgid "Download finished" @@ -18566,11 +19312,11 @@ msgstr "Завантаження завершено" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:827 msgid "Failed to download the following articles:" -msgstr "" +msgstr "Не вдалося отримати такі статті:" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:833 msgid "Failed to download parts of the following articles:" -msgstr "" +msgstr "Не вдалося отримати частини таких статей:" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:835 msgid " from " @@ -18578,19 +19324,20 @@ msgstr " з " #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:837 msgid "\tFailed links:" -msgstr "" +msgstr "\tПомилкові посилання:" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:939 msgid "Could not fetch article." -msgstr "" +msgstr "Не вдалося отримати статтю." #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:941 msgid "The debug traceback is available earlier in this log" msgstr "" +"Дані діагностичного зворотного трасування наведено у цьому журналі вище" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:943 msgid "Run with -vv to see the reason" -msgstr "" +msgstr "Запустіть з -vv, щоб переглянути повідомлення щодо причини" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:966 msgid "Fetching feeds..." @@ -18606,17 +19353,17 @@ msgstr "Пробую завантажити обкладинку…" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 msgid "Generating masthead..." -msgstr "" +msgstr "Створення титульної сторінки…" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1062 #, python-format msgid "Starting download [%d thread(s)]..." -msgstr "" +msgstr "Розпочато звантаження [%d потоків]…" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1078 #, python-format msgid "Feeds downloaded to %s" -msgstr "" +msgstr "Дані подач збережено до %s" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1087 #, python-format @@ -18630,7 +19377,7 @@ msgstr "Отримання обкладинки з %s" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1142 msgid "Masthead image downloaded" -msgstr "" +msgstr "Отримано зображення титульної сторінки" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1223 msgid "Articles in this issue: " @@ -18659,12 +19406,16 @@ msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." msgstr "" +"Не вдалося увійти. Переконайтеся, що ви правильно вказали ім’я користувача і " +"пароль для доступу до служби періодичних видань calibre." #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1551 msgid "" "You do not have permission to download this issue. Either your subscription " "has expired or you have exceeded the maximum allowed downloads for today." msgstr "" +"У вас немає прав на отримання цього випуску. Збіг строк передплати або " +"перевищено максимальне значення звантажень на сьогодні." #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:46 msgid "You" @@ -18711,11 +19462,14 @@ msgid "" "\n" "Where URL is for example http://google.com" msgstr "" +"%prog адреса\n" +"\n" +"Приклад адреси: http://google.com" #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:483 #, python-format msgid "Base directory into which URL is saved. Default is %default" -msgstr "" +msgstr "Базовий каталог, до якого зберігатиметься адреса. Типовим є %default" #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:486 #, python-format @@ -18723,6 +19477,8 @@ msgid "" "Timeout in seconds to wait for a response from the server. Default: %default " "s" msgstr "" +"Час очікування у секундах на відповідь від сервера. Типове значення: " +"%default с" #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:489 #, python-format @@ -18730,6 +19486,8 @@ msgid "" "Maximum number of levels to recurse i.e. depth of links to follow. Default " "%default" msgstr "" +"Максимальна кількість рівнів рекурсії, тобто глибина переходу за " +"посиланнями. Типовим є значення %default" #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:492 #, python-format @@ -18737,6 +19495,8 @@ msgid "" "The maximum number of files to download. This only applies to files from <a " "href> tags. Default is %default" msgstr "" +"Максимальна кількість файлів для отримання. Застосовується лише до файлів з " +"міток <a href>. Типово %default" #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:494 #, python-format @@ -18744,8 +19504,8 @@ msgid "" "Minimum interval in seconds between consecutive fetches. Default is %default " "s" msgstr "" -"Мінімальний інтервал (у секундах) між послідовними запитами. За " -"замовчуванням %default с." +"Мінімальний інтервал (у секундах) між послідовними запитами. Типово %default " +"с." #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:496 msgid "" @@ -18948,7 +19708,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:84 msgid "Use author sort in Tag Browser" -msgstr "" +msgstr "Використовувати впорядковування за автором на панелі перегляду міток" #: /home/kovid/work/calibre/resources/default_tweaks.py:85 msgid "" @@ -18989,7 +19749,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:108 msgid "Control partitioning of Tag Browser" -msgstr "" +msgstr "Керування поділом на панелі перегляду міток" #: /home/kovid/work/calibre/resources/default_tweaks.py:109 msgid "" @@ -19022,6 +19782,8 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:130 msgid "Specify columns to sort the booklist by on startup" msgstr "" +"Вкажіть стовпчики, які використовуватимуться для впорядковування списку книг " +"під час запуску" #: /home/kovid/work/calibre/resources/default_tweaks.py:131 msgid "" @@ -19076,6 +19838,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:174 msgid "Control sorting of titles and series in the library display" msgstr "" +"Керування впорядковуванням назв та серій на панелі перегляду бібліотеки" #: /home/kovid/work/calibre/resources/default_tweaks.py:175 msgid "" @@ -19099,7 +19862,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:188 msgid "Control formatting of title and series when used in templates" -msgstr "" +msgstr "Керування форматування назв та серій під час використання у шаблонах" #: /home/kovid/work/calibre/resources/default_tweaks.py:189 msgid "" @@ -19121,6 +19884,8 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:201 msgid "Set the list of words considered to be \"articles\" for sort strings" msgstr "" +"Вкажіть список слів, які вважатимуться артиклями під час впорядковування " +"рядків" #: /home/kovid/work/calibre/resources/default_tweaks.py:202 msgid "" @@ -19144,6 +19909,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:253 msgid "Specify a folder calibre should connect to at startup" msgstr "" +"Вкажіть теку, з якою calibre має встановлювати з’єднання під час запуску" #: /home/kovid/work/calibre/resources/default_tweaks.py:254 msgid "" @@ -19160,7 +19926,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:263 msgid "Specify renaming rules for SONY collections" -msgstr "" +msgstr "Вкажіть правила перейменування для збірок SONY" #: /home/kovid/work/calibre/resources/default_tweaks.py:264 msgid "" @@ -19235,7 +20001,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:316 msgid "Specify how SONY collections are sorted" -msgstr "" +msgstr "Вкажіть спосіб впорядковування збірок SONY" #: /home/kovid/work/calibre/resources/default_tweaks.py:317 msgid "" @@ -19267,6 +20033,8 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:334 msgid "Control how tags are applied when copying books to another library" msgstr "" +"Керувати способом, у який застосовуватимуться мітки під час копіювання книг " +"до іншої бібліотеки" #: /home/kovid/work/calibre/resources/default_tweaks.py:335 msgid "" @@ -19277,11 +20045,15 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:339 msgid "Set the maximum number of tags to show per book in the content server" msgstr "" +"Встановіть максимальну кількість міток, які буде показано для запису книги, " +"на сервері даних" #: /home/kovid/work/calibre/resources/default_tweaks.py:342 msgid "" "Set custom metadata fields that the content server will or will not display." msgstr "" +"Встановіть нетипові поля метаданих, які сервер даних буде або не буде " +"показувати." #: /home/kovid/work/calibre/resources/default_tweaks.py:343 msgid "" @@ -19304,7 +20076,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:360 msgid "Set the maximum number of sort 'levels'" -msgstr "" +msgstr "Встановіть максимальну кількість рівнів впорядковування" #: /home/kovid/work/calibre/resources/default_tweaks.py:361 msgid "" @@ -19320,7 +20092,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:368 msgid "Choose whether dates are sorted using visible fields" -msgstr "" +msgstr "Визначтеся, чи буде впорядковано дати на основі видимих полів" #: /home/kovid/work/calibre/resources/default_tweaks.py:369 msgid "" @@ -19332,6 +20104,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:374 msgid "Specify which font to use when generating a default cover" msgstr "" +"Вкажіть шрифт, яким слід скористатися для створення типової обкладинки" #: /home/kovid/work/calibre/resources/default_tweaks.py:375 msgid "" @@ -19343,7 +20116,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:381 msgid "Control behavior of the book list" -msgstr "" +msgstr "Керування роботою списку книг" #: /home/kovid/work/calibre/resources/default_tweaks.py:382 msgid "" @@ -19359,7 +20132,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:393 msgid "Language to use when sorting." -msgstr "" +msgstr "Мова, яку слід використовувати для впорядковування." #: /home/kovid/work/calibre/resources/default_tweaks.py:394 msgid "" @@ -19378,6 +20151,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:405 msgid "Number of columns for custom metadata in the edit metadata dialog" msgstr "" +"Кількість стовпчиків для нетипових метаданих у вікні редагування метаданих" #: /home/kovid/work/calibre/resources/default_tweaks.py:406 msgid "" @@ -19389,7 +20163,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:411 msgid "The number of seconds to wait before sending emails" -msgstr "" +msgstr "Проміжок очікування перед надсиланням повідомлень у секундах" #: /home/kovid/work/calibre/resources/default_tweaks.py:412 msgid "" @@ -19402,7 +20176,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:419 msgid "Remove the bright yellow lines at the edges of the book list" -msgstr "" +msgstr "Вилучати світло-жовті лінії на краях списку книг" #: /home/kovid/work/calibre/resources/default_tweaks.py:420 msgid "" @@ -19425,7 +20199,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:431 msgid "Where to send downloaded news" -msgstr "" +msgstr "Куди надсилати отримані новини" #: /home/kovid/work/calibre/resources/default_tweaks.py:432 msgid "" @@ -19439,7 +20213,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:439 msgid "What interfaces should the content server listen on" -msgstr "" +msgstr "На яких інтерфейсах сервер даних має очікувати на дані" #: /home/kovid/work/calibre/resources/default_tweaks.py:440 msgid "" @@ -19454,7 +20228,7 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:447 msgid "Unified toolbar on OS X" -msgstr "" +msgstr "Уніфікована панель інструментів у OS X" #: /home/kovid/work/calibre/resources/default_tweaks.py:448 msgid "" diff --git a/src/calibre/translations/ur.po b/src/calibre/translations/ur.po index 17062094b7..11a8642b57 100644 --- a/src/calibre/translations/ur.po +++ b/src/calibre/translations/ur.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-04-02 21:19+0000\n" "Last-Translator: mahmood <Unknown>\n" "Language-Team: Urdu <ur@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:09+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:33+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -464,7 +464,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -886,7 +886,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -898,10 +898,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -930,17 +930,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1052,8 +1052,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2768,13 +2768,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2782,7 +2782,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3154,7 +3154,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3592,7 +3592,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4468,52 +4468,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4521,123 +4521,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4645,7 +4645,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4654,13 +4654,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4671,33 +4671,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4787,8 +4791,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5433,7 +5437,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5584,75 +5588,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5782,8 +5786,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5806,6 +5810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6336,18 +6341,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7214,7 +7223,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7637,10 +7646,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7653,68 +7662,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8002,7 +8011,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9223,7 +9232,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9563,7 +9572,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10842,43 +10851,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10908,7 +10917,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11095,54 +11104,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13932,6 +13941,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14266,7 +14279,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14276,7 +14289,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14328,7 +14341,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14417,13 +14430,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14456,7 +14469,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14464,7 +14477,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14472,7 +14485,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14480,13 +14493,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14520,20 +14533,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14883,40 +14896,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15219,7 +15232,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15469,25 +15482,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15926,64 +15945,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17740,7 +17759,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17763,67 +17782,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17832,7 +17851,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17840,7 +17859,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17848,7 +17867,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17856,7 +17875,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17865,7 +17884,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17874,14 +17893,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17889,7 +17908,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17897,7 +17916,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17953,166 +17972,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/vi.po b/src/calibre/translations/vi.po index 9e3073c639..ca82b68f21 100644 --- a/src/calibre/translations/vi.po +++ b/src/calibre/translations/vi.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-11-21 06:12+0000\n" "Last-Translator: kronpas <Unknown>\n" "Language-Team: Vietnamese <vi@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:10+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:33+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "Không làm gì cả" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "Không làm gì cả" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "Không làm gì cả" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "Không làm gì cả" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "Không làm gì cả" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -477,7 +477,7 @@ msgid "Change the way calibre behaves" msgstr "Thay đổi cách calibre hành động" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "Thêm cột" @@ -928,7 +928,7 @@ msgstr "Vô hiệu hóa plugin có tên sau" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -940,10 +940,10 @@ msgstr "Đường dẫn tới thư viện quá dài. Cần ít hơn %d ký tự" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "Đồng ý" @@ -972,7 +972,7 @@ msgstr "Nhật kí gỡ lỗi" msgid "Communicate with Android phones." msgstr "Giao tiếp với điện thoại Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" @@ -980,11 +980,11 @@ msgstr "" "Dấu phẩy tách các danh sách thư mục để gửi e-book đến thiết bị. Thư mục đầu " "tiên có mặt sẽ được dùng." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "Giao tiếp với điện thoại S60." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "Tương tác với máy tính bảng WebOS" @@ -1116,8 +1116,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2945,13 +2945,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2959,7 +2959,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3345,7 +3345,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3790,7 +3790,7 @@ msgstr "Lời nói đầu" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4700,52 +4700,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "Không tìm thấy thư viện" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "Chọn một thư viện calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "Chuyển/tạo thư viện..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4753,82 +4753,82 @@ msgstr "Chuyển/tạo thư viện..." msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "Chuyển nhanh" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "Đổi tên thư viện" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "Khôi phục CSDL" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "Đổi tên" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "Chú ý: Thư mục chứa thư viện sẽ được đổi tên." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "Đã tồn tại" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "Thư mục %s đã tồn tại. Xin xóa thư mục đó trước." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "Đổi tên thất bại." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " @@ -4837,41 +4837,41 @@ msgstr "" "Thất bại khi đổi tên cho thư viện tại %s. Nguyên nhân phổ biến là do một " "trong các tập tin trong thư viện được mở bởi một chương trình khác." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4879,7 +4879,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4888,13 +4888,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4905,33 +4905,37 @@ msgstr "" msgid "Failed" msgstr "Thất bại" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "Không được phép" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "Bạn không thể thay đổi thư viện khi có tác vụ đang chạy." @@ -5021,8 +5025,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5672,7 +5676,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "Cửa hàng" @@ -5829,47 +5833,47 @@ msgstr "Đang tìm trong" msgid "Adding..." msgstr "Đang thêm..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "Đang tìm trong tất cả thư mục con..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "Đường dẫn có lỗi" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "Không có sách" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "Không có cuốn sách nào được tìm thấy" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "Đã thêm" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "Thất bại khi thêm" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." @@ -5878,29 +5882,29 @@ msgstr "" "thêm sách theo từng nhóm nhỏ hơn, cho đến khi bạn tìm thấy những cuốn sách " "gây lỗi." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "Đang lưu..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "Đã lưu" @@ -6032,8 +6036,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6060,6 +6064,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "Đóng góp" @@ -6590,18 +6595,22 @@ msgstr "" msgid "HTML Source" msgstr "Nguồn HTML" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "Chuyển đổi hàng loạt" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "Tùy chọn cụ thể cho định dạng tập tin xuất" @@ -7475,7 +7484,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -7903,10 +7912,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7919,68 +7928,68 @@ msgid "Undefined" msgstr "Chưa xác định" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8273,7 +8282,7 @@ msgid "My Books" msgstr "Sách của tôi" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9497,7 +9506,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9837,7 +9846,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -11118,43 +11127,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -11184,7 +11193,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11371,54 +11380,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "Ẩn cột %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "Trái" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "Phải" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "Giữa" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "Hiện cột" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14213,6 +14222,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14547,7 +14560,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14557,7 +14570,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14611,7 +14624,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "Mua sách từ cửa hàng này là ủng hộ cho người phát triển calibre: %s." @@ -14700,13 +14713,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14739,7 +14752,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14747,7 +14760,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14755,7 +14768,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14763,13 +14776,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14803,20 +14816,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -15166,40 +15179,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15502,7 +15515,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15752,25 +15765,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -16212,64 +16231,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -18026,7 +18045,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -18049,67 +18068,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -18118,7 +18137,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -18126,7 +18145,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -18134,7 +18153,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -18142,7 +18161,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -18151,7 +18170,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -18160,14 +18179,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -18175,7 +18194,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -18183,7 +18202,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -18239,166 +18258,174 @@ msgid "English (Australia)" msgstr "English (Australia)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +msgid "English (Bulgaria)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "English (New Zealand)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "English (Canada)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "English (India)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "English (Thailand)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "English (Cyprus)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "English (Pakistan)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "English (Croatia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "English (Indonesia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "English (Israel)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "English (Singapore)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "English (Yemen)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "English (Ireland)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "English (China)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "Spanish (Paraguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "Spanish (Uruguay)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "Spanish (Argentina)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "Spanish (Mexico)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "Spanish (Cuba)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "Spanish (Chile)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "Spanish (Ecuador)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "Spanish (Honduras)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "Spanish (Venezuela)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "Spanish (Bolivia)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "Spanish (Nicaragua)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "German (AT)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "French (BE)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "Dutch (NL)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "Dutch (BE)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/wa.po b/src/calibre/translations/wa.po index 14d945b248..0ccbc7d089 100644 --- a/src/calibre/translations/wa.po +++ b/src/calibre/translations/wa.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-07-05 23:12+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Walloon <wa@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n!=1;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:10+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:33+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -464,7 +464,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -886,7 +886,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -898,10 +898,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -930,17 +930,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1052,8 +1052,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2768,13 +2768,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2782,7 +2782,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3154,7 +3154,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3592,7 +3592,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4468,52 +4468,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4521,123 +4521,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4645,7 +4645,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4654,13 +4654,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4671,33 +4671,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4787,8 +4791,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5433,7 +5437,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5584,75 +5588,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5782,8 +5786,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5806,6 +5810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6336,18 +6341,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7214,7 +7223,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7637,10 +7646,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7653,68 +7662,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8002,7 +8011,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9223,7 +9232,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9563,7 +9572,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10842,43 +10851,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10908,7 +10917,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11095,54 +11104,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13932,6 +13941,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14266,7 +14279,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14276,7 +14289,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14328,7 +14341,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14417,13 +14430,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14456,7 +14469,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14464,7 +14477,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14472,7 +14485,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14480,13 +14493,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14520,20 +14533,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14883,40 +14896,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15219,7 +15232,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15469,25 +15482,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15926,64 +15945,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17740,7 +17759,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17763,67 +17782,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17832,7 +17851,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17840,7 +17859,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17848,7 +17867,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17856,7 +17875,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17865,7 +17884,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17874,14 +17893,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17889,7 +17908,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17897,7 +17916,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17953,166 +17972,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/yi.po b/src/calibre/translations/yi.po index 06fa449168..1310f31864 100644 --- a/src/calibre/translations/yi.po +++ b/src/calibre/translations/yi.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2009-09-04 22:02+0000\n" "Last-Translator: Kovid Goyal <Unknown>\n" "Language-Team: Yiddish <yi@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:10+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:34+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -464,7 +464,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -886,7 +886,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -898,10 +898,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -930,17 +930,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1052,8 +1052,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2768,13 +2768,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2782,7 +2782,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3154,7 +3154,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3592,7 +3592,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4468,52 +4468,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4521,123 +4521,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4645,7 +4645,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4654,13 +4654,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4671,33 +4671,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4787,8 +4791,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5433,7 +5437,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5584,75 +5588,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5782,8 +5786,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5806,6 +5810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6336,18 +6341,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7214,7 +7223,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7637,10 +7646,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7653,68 +7662,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8002,7 +8011,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9223,7 +9232,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9563,7 +9572,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10842,43 +10851,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10908,7 +10917,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11095,54 +11104,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13932,6 +13941,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14266,7 +14279,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14276,7 +14289,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14328,7 +14341,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14417,13 +14430,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14456,7 +14469,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14464,7 +14477,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14472,7 +14485,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14480,13 +14493,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14520,20 +14533,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14883,40 +14896,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15219,7 +15232,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15469,25 +15482,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15926,64 +15945,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17740,7 +17759,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17763,67 +17782,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17832,7 +17851,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17840,7 +17859,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17848,7 +17867,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17856,7 +17875,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17865,7 +17884,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17874,14 +17893,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17889,7 +17908,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17897,7 +17916,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17953,166 +17972,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/zh_CN.po b/src/calibre/translations/zh_CN.po index 13107bba2b..0764e47717 100644 --- a/src/calibre/translations/zh_CN.po +++ b/src/calibre/translations/zh_CN.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-12-03 17:51+0000\n" "Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n" "Language-Team: Simplified Chinese <wanglihao@gmail.com>\n" @@ -17,8 +17,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2011-12-04 04:42+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:35+0000\n" +"X-Generator: Launchpad (build 14450)\n" "X-Poedit-Country: CHINA\n" "X-Poedit-Language: Chinese\n" @@ -30,8 +30,8 @@ msgstr "不做任何处理" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -42,8 +42,8 @@ msgstr "不做任何处理" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -52,8 +52,8 @@ msgstr "不做任何处理" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -178,7 +178,7 @@ msgstr "不做任何处理" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -197,7 +197,7 @@ msgstr "不做任何处理" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -470,7 +470,7 @@ msgid "Change the way calibre behaves" msgstr "改变 calibre 的操作方式" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "增加栏目" @@ -896,7 +896,7 @@ msgstr "禁用该名称插件" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -908,10 +908,10 @@ msgstr "书库的路径太长。路径长度必须小于 %d 个字符。" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "是" @@ -940,17 +940,17 @@ msgstr "调试日志" msgid "Communicate with Android phones." msgstr "与 Android 手机通信。" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "逗号间隔的电子书发送到设备目录的列表。将使用第一个存在的目录。" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "与 S60 手机通信。" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "与 WebOS 平板通信。" @@ -1075,8 +1075,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2882,13 +2882,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "获取完整的列表与说明。" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "在 HTML 文件中超链接遍历时使用广度优先算法. 默认情况下, 程序适用深度优先算法." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2896,7 +2896,7 @@ msgid "" "Default is %default." msgstr "HTML 文件中超链接遍历的最大深度. 该值必须为非负整数. 0 表示不进行超链接遍历. 默认值为 %default." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3291,7 +3291,7 @@ msgstr "模板错误" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "否" @@ -3745,7 +3745,7 @@ msgstr "序言" msgid "Main Text" msgstr "正文" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "不支持 %s 格式电子书" @@ -4690,52 +4690,52 @@ msgstr "输出分类目录" msgid "Select destination for %(title)s.%(fmt)s" msgstr "为 %(title)s.%(fmt)s 选择目标位置" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "未找到书库" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "%s 位置没有找到 calibre 书库。如果书库位置已经改变,请在下面选项新的位置。否则 calibre 将不再管理这个书库。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "书库的新位置:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "书库已移动" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "不再管理书库" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "新书库位置" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "%s 位置没有找到 calibre 书库。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "选择书库" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "选择用于操作的 calibre 书库" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "切换/创建书库..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4743,123 +4743,123 @@ msgstr "切换/创建书库..." msgid "%d books" msgstr "%d 本书" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "快速切换" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "重命名书库" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "删除书库" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "随机选定一本书" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "书库维护" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "书库元数据的备份状态" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "开始备份所有书籍的元数据" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "检查书库" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "恢复数据库" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "重命名" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "为书库 <b>%s</b>取个新名称。 " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "请注意,实际的书库文件夹将被重命名。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "已存在" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "文件夹 %s 已存在,请先将其删除。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "太长" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "无法重命名" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "无法重命名书库在%s。最有可能引起此类情况的原因在于该书库中的文件可能在其他程序中打开着。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "删除书库" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "%s 书库已经从 calibre 中移除,但相关文件仍然保留在你的计算机上,如果这些文件不再需要,你可以手工把它删除。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "无" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "备份状态" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "书籍元数据文件写入还剩余:%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "备份元数据" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "calibre 运行过程中元数据会自动备份,大约每 3 秒钟备份一本书的元数据。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4869,7 +4869,7 @@ msgstr "" "书库路径太长,路径长度必须小于 %d 字符。请使用 Windows 资源管理器把你的书库目录移到另外一个路径较短的目录中,然后再尝试把 calibre " "书库指向新的位置。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4878,13 +4878,13 @@ msgstr "" msgid "Success" msgstr "成功" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "你的 calibre 书库数据库没有发现错误。你是否想让 calibre 检查书库中的文件是否匹配数据库中的信息?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4895,33 +4895,37 @@ msgstr "你的 calibre 书库数据库没有发现错误。你是否想让 calib msgid "Failed" msgstr "失败" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "数据库完整性检查失败,单击“查看详情”查看错误细节。" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "没有发现问题" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "你的书库中的文件和数据库信息相符合。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "不允许" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "你无法在使用环境变量 CALIBRE_OVERRIDE_DATABASE_PATH 时更换书库。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "工作运行时,你不能更改书库。" @@ -5011,8 +5015,8 @@ msgstr "使用环境变量 CALIBRE_OVERRIDE_DATABASE_PATH 时不可是用其它 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5671,7 +5675,7 @@ msgid "Search for this %s" msgstr "搜索 %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "商店" @@ -5825,75 +5829,75 @@ msgstr "搜索" msgid "Adding..." msgstr "添加中..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "搜索所有子文件夹..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "路径错误" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "无法处理指定目录。" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "没有书籍" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "未找到书籍" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "无权限" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "部分文件无访问权限,不能添加。点击显示详情查看无法添加的文件列表。" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "已添加" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "添加失败" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "添加书籍进程似乎已死。请尝试重启 calibre 并分步添加书籍,直到定位出问题的书籍。" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "发现重复" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "数据库中已有标题相同的书籍。确定继续添加?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "添加副本..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "正在保存..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "正在收集数据,请稍候……" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "已保存" @@ -6027,8 +6031,8 @@ msgstr "在当前文件夹及其子文件夹中搜索的书籍并添加到 calib #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6051,6 +6055,7 @@ msgstr "每个文件夹中放多本书籍,假定个电子书文件是不同的 #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "捐助" @@ -6587,18 +6592,22 @@ msgstr "普通视图" msgid "HTML Source" msgstr "HTML 源代码" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "对于不能在此对话框中指定的选项,使用前一个转换(若存在)中存储的值,而非首选项中的默认设置。" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "批量转换" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "设置输出格式选项" @@ -7476,7 +7485,7 @@ msgstr "匹配次数:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -7915,10 +7924,10 @@ msgstr "封面浏览器无法加载" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7931,68 +7940,68 @@ msgid "Undefined" msgstr "未定义" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "星" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "未评星级" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "将'%s'设为今天" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "清除 '%s'" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " 索引" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "\"{0}\" 的枚举值中包含无效的值,将使用默认值替换" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "应用改变" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "移除系列" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "为书籍自动编号" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "强制起始编号为 " -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "\"{0}\" 的枚举值中包含无效的值,这些无效值将不会出现在列表中" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "移除所有标签" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "要添加的标签" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "要移除的标签" @@ -8287,7 +8296,7 @@ msgid "My Books" msgstr "我的书籍" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "生成分类" @@ -9583,7 +9592,7 @@ msgstr "%s 的版本历史记录" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "全部" @@ -9927,7 +9936,7 @@ msgstr "项目" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -11254,42 +11263,42 @@ msgstr "一些任务无法被停止。点击“查看详情”显示不能被停 msgid "Unavailable" msgstr "不可用" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "任务:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "点击查看任务列表" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - 任务" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "确认要中止选中的任务吗?" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "确认要中止所有非设备操作相关的任务吗?" @@ -11319,7 +11328,7 @@ msgstr "快捷键(&S):" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11506,54 +11515,54 @@ msgstr "为删除作的标记" msgid "Double click to <b>edit</b> me<br><br>" msgstr "双击<b>编辑</b>该项<br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "隐藏 %s 列" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "按%s排序" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "升序" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "降序" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "更改 %s 的文本对齐方式" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "左对齐" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "右键" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "居中" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "显示列" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "自动缩小过宽的栏宽到合适大小" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "恢复默认布局" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14522,6 +14531,10 @@ msgstr "创建(&R)" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "程序代码(&P):(确认使用正确的 Python 对齐规则)" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "切换书库视图和设备视图" @@ -14857,7 +14870,7 @@ msgid "Nam&e/Description ..." msgstr "名称/描述(&E) ..." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "查询:" @@ -14867,7 +14880,7 @@ msgid "Enable" msgstr "启用" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "反向选择" @@ -14919,7 +14932,7 @@ msgid "" msgstr "本商店总部位于 %s。这表明了该商店主要面向的客户市场,但这不表示该商店只向该区域销售书籍。" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "从本书店买书可以帮助该 calibre 开发人员: %s。" @@ -15008,13 +15021,13 @@ msgid "Search:" msgstr "查询:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "书籍:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -15047,7 +15060,7 @@ msgstr "下载" msgid "Price" msgstr "价格" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -15055,7 +15068,7 @@ msgid "" "the store may be running." msgstr "检测到的书籍价格是: %s 。在购买前请在书籍商店再次确认这个价格是否正确,同时这个价格常常并未包含商店所可能提供的各种折扣。" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -15064,7 +15077,7 @@ msgid "" msgstr "" "本书被检测为具有 DRM 保护。这本书可能无法在你的阅读器上阅读并且你对这本书可以做的操作会有限制。购买前请与书籍商店确认你是否可以阅读这本书籍。" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -15074,13 +15087,13 @@ msgstr "" "本书被检测为无 DRM 保护。你应该可以通过 calibre 把它转换为你的设备所支持的格式并阅读本书。但在购买前请在书籍商店再次确认它的 DRM " "状态,calibre 可能无法正常识别部分商店的所标识的 DRM 状态。" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "无法确认本书的 DRM 保护状态,但很有可能这本书是被 DRM 保护的。" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "以下书籍格式可以直接下载: %s 。" @@ -15114,20 +15127,20 @@ msgstr "无法找到匹配你的搜索条件的书籍。" msgid "Choose format to download to your library." msgstr "选择要下载到你的书库中的书籍格式。" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "获取书籍" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "在系统浏览器中打开选中的书籍" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "在外部浏览器中打开(&E)" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "不可用" @@ -15485,40 +15498,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "转换书籍 第 %(num)d 本,共 %(total)d 本 (%(title)s)" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "无法转换某些书籍" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "由于无法找到合适的源文件格式,无法转换第 %(num)d 本书籍(共 %(tot)d 本)。" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "为批处理排队书籍" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "正在排队 " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "转换书籍 第 %(num)d 本,共 %(tot)d 本 (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "抓取新闻来源于 " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "转换现有" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15828,7 +15841,7 @@ msgid "Options to customize the ebook viewer" msgstr "定制电子书查看器的选项" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "记住上次使用窗口大小" @@ -16080,25 +16093,31 @@ msgstr "正在加载电子书..." msgid "Could not open ebook" msgstr "无法打开电子书" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "电子书查看器控制选项" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "若指定,查看器窗口在打开时将试图转到前面。" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "若选定,查看窗口开启时试图全屏。" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "在控制台显示 javascript 警告以及控制台信息" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -16555,64 +16574,64 @@ msgstr "" "http://myhostname:8080 作为新分类。此时 myhostname 应该为有效主机名,或者您 calibre 程序所运行计算机的 IP " "地址。" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "已检查的" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "是" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "否" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "未检查的" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "今天" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "昨天" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "本月" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "天前" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "空白" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "空的" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "无效的布尔查询 \"{0}\"" @@ -18502,7 +18521,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -18525,67 +18544,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -18594,7 +18613,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -18602,7 +18621,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -18610,7 +18629,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -18618,7 +18637,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -18627,7 +18646,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -18636,14 +18655,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -18651,7 +18670,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -18659,7 +18678,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -18715,166 +18734,174 @@ msgid "English (Australia)" msgstr "英语(澳大利亚)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 +msgid "English (Japan)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 msgid "English (Bulgaria)" msgstr "英语 (保加利亚)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "英语(新西兰)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "英语(加拿大)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "英语 (希腊)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "英语(印度)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "英语(泰国)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "英语 (土耳其)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "英语(塞浦路斯)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "英语(巴基斯坦)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "英语 (克罗地亚)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "英语 (印度尼西亚)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "英语(以色列)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "英语(新加坡)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "英语(也门)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "英语(冰岛)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "英语(中国)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "英语 (南非)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "西班牙语(巴拉圭)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "西班牙语 (乌拉圭)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "西班牙语 (阿根廷)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "西班牙语 (墨西哥)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "西班牙语 (古巴)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "西班牙语 (智利)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "西班牙语 (厄瓜多尔)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "西班牙语 (洪都拉斯)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "西班牙语 (委内瑞拉)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "西班牙语 (玻利维亚)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "西班牙语 (尼加拉瓜)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "西班牙语 (哥伦比亚)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "德语(奥地利)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "法语(比利时)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "荷兰语(荷兰)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "荷兰语(比利时)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "上午" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "下午" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "上午" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "下午" diff --git a/src/calibre/translations/zh_HK.po b/src/calibre/translations/zh_HK.po index c0f58d42c5..82c3d995b9 100644 --- a/src/calibre/translations/zh_HK.po +++ b/src/calibre/translations/zh_HK.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-07-11 08:59+0000\n" "Last-Translator: Nader stouhy <Unknown>\n" "Language-Team: Chinese (Hong Kong) <zh_HK@li.org>\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:10+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:34+0000\n" +"X-Generator: Launchpad (build 14450)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 msgid "Does absolutely nothing" @@ -26,8 +26,8 @@ msgstr "是否絕對沒有" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -38,8 +38,8 @@ msgstr "是否絕對沒有" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -48,8 +48,8 @@ msgstr "是否絕對沒有" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -174,7 +174,7 @@ msgstr "是否絕對沒有" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -193,7 +193,7 @@ msgstr "是否絕對沒有" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -464,7 +464,7 @@ msgid "Change the way calibre behaves" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "" @@ -886,7 +886,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -898,10 +898,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "" @@ -930,17 +930,17 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "" @@ -1052,8 +1052,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2768,13 +2768,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2782,7 +2782,7 @@ msgid "" "Default is %default." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3154,7 +3154,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "" @@ -3592,7 +3592,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "" @@ -4468,52 +4468,52 @@ msgstr "" msgid "Select destination for %(title)s.%(fmt)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4521,123 +4521,123 @@ msgstr "" msgid "%d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4645,7 +4645,7 @@ msgid "" "to the new location and try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4654,13 +4654,13 @@ msgstr "" msgid "Success" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4671,33 +4671,37 @@ msgstr "" msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -4787,8 +4791,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5433,7 +5437,7 @@ msgid "Search for this %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "" @@ -5584,75 +5588,75 @@ msgstr "" msgid "Adding..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "" @@ -5782,8 +5786,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -5806,6 +5810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "" @@ -6336,18 +6341,22 @@ msgstr "" msgid "HTML Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "" @@ -7214,7 +7223,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "" @@ -7637,10 +7646,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7653,68 +7662,68 @@ msgid "Undefined" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "" @@ -8002,7 +8011,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "" @@ -9223,7 +9232,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "" @@ -9563,7 +9572,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -10842,43 +10851,43 @@ msgstr "" msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 -msgid "No job" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +msgid "No job" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "" msgstr[1] "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "" @@ -10908,7 +10917,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11095,54 +11104,54 @@ msgstr "" msgid "Double click to <b>edit</b> me<br><br>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -13932,6 +13941,10 @@ msgstr "" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "" @@ -14266,7 +14279,7 @@ msgid "Nam&e/Description ..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "" @@ -14276,7 +14289,7 @@ msgid "Enable" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "" @@ -14328,7 +14341,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "" @@ -14417,13 +14430,13 @@ msgid "Search:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14456,7 +14469,7 @@ msgstr "" msgid "Price" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14464,7 +14477,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14472,7 +14485,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14480,13 +14493,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "" @@ -14520,20 +14533,20 @@ msgstr "" msgid "Choose format to download to your library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "" @@ -14883,40 +14896,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15219,7 +15232,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "" @@ -15469,25 +15482,31 @@ msgstr "" msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -15926,64 +15945,64 @@ msgid "" "the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "" @@ -17740,7 +17759,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -17763,67 +17782,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -17832,7 +17851,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -17840,7 +17859,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -17848,7 +17867,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -17856,7 +17875,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -17865,7 +17884,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -17874,14 +17893,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -17889,7 +17908,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -17897,7 +17916,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -17953,166 +17972,174 @@ msgid "English (Australia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 -msgid "English (Bulgaria)" +msgid "English (Japan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 -msgid "English (New Zealand)" +msgid "English (Germany)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 -msgid "English (Canada)" +msgid "English (Bulgaria)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 -msgid "English (Greece)" +msgid "English (New Zealand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 -msgid "English (India)" +msgid "English (Canada)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 -msgid "English (Nepal)" +msgid "English (Greece)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 -msgid "English (Thailand)" +msgid "English (India)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 -msgid "English (Turkey)" +msgid "English (Nepal)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 -msgid "English (Cyprus)" +msgid "English (Thailand)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 -msgid "English (Czech Republic)" +msgid "English (Turkey)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 -msgid "English (Pakistan)" +msgid "English (Cyprus)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 -msgid "English (Croatia)" +msgid "English (Czech Republic)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 -msgid "English (Indonesia)" +msgid "English (Pakistan)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 -msgid "English (Israel)" +msgid "English (Croatia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 -msgid "English (Russia)" +msgid "English (Indonesia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 -msgid "English (Singapore)" +msgid "English (Israel)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 -msgid "English (Yemen)" +msgid "English (Russia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 -msgid "English (Ireland)" +msgid "English (Singapore)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 -msgid "English (China)" +msgid "English (Yemen)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 -msgid "English (South Africa)" +msgid "English (Ireland)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 -msgid "Spanish (Paraguay)" +msgid "English (China)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 -msgid "Spanish (Uruguay)" +msgid "English (South Africa)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 -msgid "Spanish (Argentina)" +msgid "Spanish (Paraguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 -msgid "Spanish (Mexico)" +msgid "Spanish (Uruguay)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 -msgid "Spanish (Cuba)" +msgid "Spanish (Argentina)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 -msgid "Spanish (Chile)" +msgid "Spanish (Mexico)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 -msgid "Spanish (Ecuador)" +msgid "Spanish (Cuba)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 -msgid "Spanish (Honduras)" +msgid "Spanish (Chile)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 -msgid "Spanish (Venezuela)" +msgid "Spanish (Ecuador)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 -msgid "Spanish (Bolivia)" +msgid "Spanish (Honduras)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 -msgid "Spanish (Nicaragua)" +msgid "Spanish (Venezuela)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 -msgid "Spanish (Colombia)" +msgid "Spanish (Bolivia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 -msgid "German (AT)" +msgid "Spanish (Nicaragua)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 -msgid "French (BE)" +msgid "Spanish (Colombia)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 -msgid "Dutch (NL)" +msgid "German (AT)" msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +msgid "French (BE)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +msgid "Dutch (NL)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "" diff --git a/src/calibre/translations/zh_TW.po b/src/calibre/translations/zh_TW.po index 3f43ef6e2e..4ad6617e4c 100644 --- a/src/calibre/translations/zh_TW.po +++ b/src/calibre/translations/zh_TW.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2011-12-02 08:51+0000\n" +"POT-Creation-Date: 2011-12-10 04:27+0000\n" "PO-Revision-Date: 2011-11-08 03:45+0000\n" "Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n" "Language-Team: Chinese (traditional)\n" @@ -15,8 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2011-12-03 05:12+0000\n" -"X-Generator: Launchpad (build 14418)\n" +"X-Launchpad-Export-Date: 2011-12-11 05:35+0000\n" +"X-Generator: Launchpad (build 14450)\n" "Language: zh_TW\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:56 @@ -27,8 +27,8 @@ msgstr "完全不做任何事" #: /home/kovid/work/calibre/src/calibre/db/cache.py:105 #: /home/kovid/work/calibre/src/calibre/db/cache.py:108 #: /home/kovid/work/calibre/src/calibre/db/cache.py:119 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:278 -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:279 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:282 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:283 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 @@ -39,8 +39,8 @@ msgstr "完全不做任何事" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:321 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:322 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:328 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:329 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 @@ -49,8 +49,8 @@ msgstr "完全不做任何事" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:337 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1898 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1900 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -175,7 +175,7 @@ msgstr "完全不做任何事" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/google_books_plugin.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:200 #: /home/kovid/work/calibre/src/calibre/library/cli.py:220 @@ -194,7 +194,7 @@ msgstr "完全不做任何事" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:153 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:66 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:88 @@ -468,7 +468,7 @@ msgid "Change the way calibre behaves" msgstr "改變 calibre 的行為" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:253 msgid "Add your own columns" msgstr "加入您自己的欄" @@ -894,7 +894,7 @@ msgstr "關閉已經命名的外掛程式" #: /home/kovid/work/calibre/src/calibre/db/backend.py:272 #: /home/kovid/work/calibre/src/calibre/db/backend.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:695 #: /home/kovid/work/calibre/src/calibre/library/database2.py:133 @@ -906,10 +906,10 @@ msgstr "書庫的路徑太長。必須少於 %d 字元。" #: /home/kovid/work/calibre/src/calibre/db/cache.py:139 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 #: /home/kovid/work/calibre/src/calibre/library/database2.py:995 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:829 -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:841 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:835 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:847 msgid "Yes" msgstr "是" @@ -938,17 +938,17 @@ msgstr "除錯紀錄" msgid "Communicate with Android phones." msgstr "和Android 為OS的電話交換資料" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:152 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "要將電子書傳送至裝置的目錄清單,以逗號分隔。會使用第一個存在的目錄" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:218 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:222 msgid "Communicate with S60 phones." msgstr "與 S60 電話連接。" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:237 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:241 msgid "Communicate with WebOS tablets." msgstr "與 WebOS 平板電腦連接。" @@ -1073,8 +1073,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:447 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:470 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:542 -#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:561 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:547 +#: /home/kovid/work/calibre/src/calibre/devices/prst1/driver.py:566 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1052 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1058 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:1093 @@ -2868,13 +2868,13 @@ msgstr "" msgid "for a complete list with descriptions." msgstr "用於有描述的完整清單。" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:254 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:261 #, python-format msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" @@ -2882,7 +2882,7 @@ msgid "" "Default is %default." msgstr "在追蹤 HTML 檔案時遞迴的最大層數。必須為非負數。0 表示在根 HTML 檔案中不追蹤任何連結。預設值為 %default。" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:266 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:270 msgid "" "Normally this input plugin re-arranges all the input files into a standard " "folder hierarchy. Only use this option if you know what you are doing as it " @@ -3278,7 +3278,7 @@ msgstr "範本錯誤" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:649 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 msgid "No" msgstr "否" @@ -3733,7 +3733,7 @@ msgstr "序" msgid "Main Text" msgstr "主文" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:43 #, python-format msgid "%s format books are not supported" msgstr "%s 格式的電子書尚未支援" @@ -4673,52 +4673,52 @@ msgstr "匯出分類目錄" msgid "Select destination for %(title)s.%(fmt)s" msgstr "選擇 %(title)s.%(fmt)s 的目的端" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 msgid "No library found" msgstr "找不到書庫" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:91 #, python-format msgid "" "No existing calibre library was found at %s. If the library was moved, " "select its new location below. Otherwise calibre will forget this library." msgstr "在 %s 找不到現有的 calibre 書庫。如果書庫已移除,請在下面選擇它的新位置。否則 calibre 會忘掉這個書庫。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:97 msgid "New location of this library:" msgstr "這個書庫的新位置:" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:106 msgid "Library moved" msgstr "書庫已移動" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:108 msgid "Forget library" msgstr "遺忘書庫" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:117 msgid "New library location" msgstr "新書庫位置" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:129 #, python-format msgid "No existing calibre library found at %s" msgstr "在 %s 不到現有的 calibre 書庫" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 msgid "Choose Library" msgstr "選擇書庫" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:141 msgid "Choose calibre library to work with" msgstr "選擇要使用的 calibre 書庫" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:144 msgid "Switch/create library..." msgstr "切換/建立書庫..." -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:57 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:171 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 @@ -4726,123 +4726,123 @@ msgstr "切換/建立書庫..." msgid "%d books" msgstr "%d 本書" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:87 msgid "Quick switch" msgstr "快速切換" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:88 msgid "Rename library" msgstr "重新命名書庫" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 msgid "Remove library" msgstr "移除書庫" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:169 #: /home/kovid/work/calibre/src/calibre/gui2/actions/random.py:17 msgid "Pick a random book" msgstr "隨機選書" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "書庫維護" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "書庫元數據備份狀態" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "開始備份所有書籍的元數據" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "檢查書庫" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Restore database" msgstr "還原資料庫" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Rename" msgstr "重新命名" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 #, python-format msgid "Choose a new name for the library <b>%s</b>. " msgstr "選擇書庫 <b>%s</b> 的新名稱。 " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:276 msgid "Note that the actual library folder will be renamed." msgstr "注意實際的書庫資料夾會被重新命名。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:726 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:292 msgid "Already exists" msgstr "已經存在" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:284 #, python-format msgid "The folder %s already exists. Delete it first." msgstr "資料夾 %s 已經存在。請先刪除它。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:287 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:341 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:694 msgid "Too long" msgstr "太長" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 msgid "Rename failed" msgstr "無法重新命名" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 #, python-format msgid "" "Failed to rename the library at %s. The most common cause for this is if one " "of the files in the library is open in another program." msgstr "無法重新命名在 %s 的書庫。最可能的原因是書庫中的檔案可能被其他程式開啟了。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 msgid "Library removed" msgstr "書庫已移動" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:312 #, python-format msgid "" "The library %s has been removed from calibre. The files remain on your " "computer, if you want to delete them, you will have to do so manually." msgstr "書庫 %s 已從 calibre 移除。檔案仍保留在電腦中,如果您想要刪除它們,您必須手動進行這件事。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 msgid "none" msgstr "沒有" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 msgid "Backup status" msgstr "備份狀態" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:327 #, python-format msgid "Book metadata files remaining to be written: %s" msgstr "剩餘要寫入的書籍元數據資料:%s" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 msgid "Backup metadata" msgstr "備份元數據" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:334 msgid "" "Metadata will be backed up while calibre is running, at the rate of " "approximately 1 book every three seconds." msgstr "元數據會在 calibre 執行時備份,速度大約是每三秒鐘 1 本書。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 #, python-format msgid "" "Path to library too long. Must be less than %d characters. Move your library " @@ -4851,7 +4851,7 @@ msgid "" msgstr "" "書庫的路徑太長。必須少於 %d 字元。請使用 Windows 檔案總管將書庫移到路徑少一點的位置,然後將 calibre 指向新的位置後再試一次。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:733 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:88 @@ -4860,13 +4860,13 @@ msgstr "" msgid "Success" msgstr "成功" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:379 msgid "" "Found no errors in your calibre library database. Do you want calibre to " "check if the files in your library match the information in the database?" msgstr "在您的 calibre 書庫資料庫中找不到錯誤。您想要檢查書庫中的檔案是否與資料庫相符嗎?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:745 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1006 @@ -4877,33 +4877,37 @@ msgstr "在您的 calibre 書庫資料庫中找不到錯誤。您想要檢查書 msgid "Failed" msgstr "失敗" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:385 msgid "Database integrity check failed, click Show details for details." msgstr "資料庫完整性檢查失敗,請按顯示詳細資料以取得更多資訊。" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:389 +msgid "Starting library scan, this may take a while" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 msgid "No problems found" msgstr "沒有發現問題" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 msgid "The files in your library match the information in the database." msgstr "您書庫中的檔案符合資料庫中的資訊。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:100 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:940 msgid "Not allowed" msgstr "不允許的" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:475 msgid "" "You cannot change libraries while using the environment variable " "CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "當使用環境變數 CALIBRE_OVERRIDE_DATABASE_PATH 時您不能改變書庫。" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:480 msgid "You cannot change libraries while jobs are running." msgstr "您不能在有工作執行時改變書庫。" @@ -4993,8 +4997,8 @@ msgstr "當使用環境變數 CALIBRE_OVERRIDE_DATABASE_PATH 時您不能使用 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:216 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:371 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:605 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:282 @@ -5650,7 +5654,7 @@ msgid "Search for this %s" msgstr "搜尋這個 %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:110 msgid "Stores" msgstr "商店" @@ -5801,75 +5805,75 @@ msgstr "搜尋" msgid "Adding..." msgstr "加入..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:260 msgid "Searching in all sub-directories..." msgstr "搜尋所有的子目錄..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 msgid "Path error" msgstr "路徑錯誤" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:272 msgid "The specified directory could not be processed." msgstr "指定的目錄無法處理。" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:899 msgid "No books" msgstr "沒有書籍" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:277 msgid "No books found" msgstr "找不到書籍" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:806 msgid "No permission" msgstr "沒有權限" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:291 msgid "" "Cannot add some files as you do not have permission to access them. Click " "Show Details to see the list of such files." msgstr "不能加入一些您沒有存取權限的檔案。點選顯示詳細資料可以看到這類檔案的清單。" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:359 msgid "Added" msgstr "已加入" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 msgid "Adding failed" msgstr "加入失敗" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:373 msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "加入書籍的程序似乎停住了。請試著重新啟動 calibre 並以較少資料量的方式加入書籍,直到您找到出問題的那本書。" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 msgid "Duplicates found!" msgstr "發現重複項目!" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:389 msgid "" "Books with the same title as the following already exist in the database. " "Add them anyway?" msgstr "資料庫中已存在同樣書名的書籍。要強制加入它們嗎?" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:392 msgid "Adding duplicates..." msgstr "正在加入複本..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:461 msgid "Saving..." msgstr "儲存中..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:468 msgid "Collecting data, please wait..." msgstr "正在收集資料,請稍候..." -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:540 msgid "Saved" msgstr "已儲存" @@ -6003,8 +6007,8 @@ msgstr "這個資料夾和它的子資料夾都會被掃描以將書籍匯入 ca #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:191 msgid "..." @@ -6027,6 +6031,7 @@ msgstr "每個資料夾有多本書,在資料夾中的每個電子書檔案都 #: /home/kovid/work/calibre/src/calibre/gui2/bars.py:195 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:31 msgid "Donate" msgstr "捐助" @@ -6570,18 +6575,22 @@ msgstr "一般檢視" msgid "HTML Source" msgstr "HTML 原始檔" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:41 msgid "" "For settings that cannot be specified in this dialog, use the values saved " "in a previous conversion (if they exist) instead of using the defaults " "specified in the Preferences" msgstr "對於不能在這個對話盒指定的設定值,會使用在前一次轉換中儲存的數值(如果有的話),而不使用在偏好設定中指定的預設值" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:61 +msgid "None of the selected books have saved conversion settings." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 msgid "Bulk Convert" msgstr "大量轉換" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:189 msgid "Options specific to the output format." msgstr "指定輸出格式的選項。" @@ -7461,7 +7470,7 @@ msgstr "出現次數:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:64 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:78 msgid "0" msgstr "0" @@ -7897,10 +7906,10 @@ msgstr "無法載入封面瀏覽器" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:152 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:567 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:631 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:683 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:127 @@ -7913,68 +7922,68 @@ msgid "Undefined" msgstr "未指定" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:129 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 msgid "star(s)" msgstr "星" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:641 msgid "Unrated" msgstr "未評等" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:669 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:670 #, python-format msgid "Set '%s' to today" msgstr "設定「%s」為今天" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:672 #, python-format msgid "Clear '%s'" msgstr "清除「%s」" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:297 msgid " index:" msgstr " 索引:" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:368 msgid "" "The enumeration \"{0}\" contains an invalid value that will be set to the " "default" msgstr "列舉「{0}」包含無效的數值,會被設定為預設值" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:523 msgid "Apply changes" msgstr "套用變更" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:716 msgid "Remove series" msgstr "移除系列" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:718 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:719 msgid "Automatically number books" msgstr "自動編號書籍" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:721 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:722 msgid "Force numbers to start with " msgstr "強制編號開始於 " -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:793 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:794 msgid "" "The enumeration \"{0}\" contains invalid values that will not appear in the " "list" msgstr "列舉「{0}」包含無效的數值,將不會出現在清單中" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:838 msgid "Remove all tags" msgstr "移除所有標籤" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:858 msgid "tags to add" msgstr "要加入的標籤" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:864 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:865 msgid "tags to remove" msgstr "要移除的標籤" @@ -8267,7 +8276,7 @@ msgid "My Books" msgstr "我的書籍" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 msgid "Generate catalog" msgstr "產生分類" @@ -9518,7 +9527,7 @@ msgstr "%s 的版本紀錄" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/plugin_updater.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:73 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:111 msgid "All" msgstr "全部" @@ -9862,7 +9871,7 @@ msgstr "項目" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:679 @@ -11156,42 +11165,42 @@ msgstr "這些工作有些不能停止。點選顯示詳細資料以查看無法 msgid "Unavailable" msgstr "無法使用" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:440 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:441 msgid "Jobs:" msgstr "工作:" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:443 msgid "Shift+Alt+J" msgstr "Shift+Alt+J" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:460 msgid "Click to see list of jobs" msgstr "點選以查看工作清單" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:533 msgid " - Jobs" msgstr " - 工作" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:545 msgid "Search for a job by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:593 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 msgid "No job" msgstr "沒有工作" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:594 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:617 msgid "No job selected" msgstr "沒有選取工作" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:597 msgid "Do you really want to stop the selected job?" msgid_plural "Do you really want to stop all the selected jobs?" msgstr[0] "您確定要停止選取的工作?" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:607 msgid "Do you really want to stop all non-device jobs?" msgstr "您確定要停止所有非裝置的工作?" @@ -11221,7 +11230,7 @@ msgstr "捷徑(&S):" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:367 msgid "None" @@ -11408,54 +11417,54 @@ msgstr "標記成要刪除" msgid "Double click to <b>edit</b> me<br><br>" msgstr "請雙擊以<b>編輯</b>我<br><br>" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:188 #, python-format msgid "Hide column %s" msgstr "隱藏欄 %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 #, python-format msgid "Sort on %s" msgstr "排序於 %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:194 msgid "Ascending" msgstr "遞增" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:197 msgid "Descending" msgstr "遞減" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 #, python-format msgid "Change text alignment for %s" msgstr "改變 %s 的文字對齊" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Left" msgstr "左" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 msgid "Right" msgstr "右" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Center" msgstr "中央" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:231 msgid "Show column" msgstr "顯示欄" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:243 msgid "Shrink column if it is too wide to fit" msgstr "如果欄太寬無法符合則縮減它" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:246 msgid "Restore default layout" msgstr "還原預設的配置" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:941 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -14286,6 +14295,10 @@ msgstr "建立(&R)" msgid "&Program Code: (be sure to follow python indenting rules)" msgstr "程式碼(&P): (請確定依循 python 縮排規則)" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:35 +msgid "Location Manager" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:36 msgid "Switch between library and device views" msgstr "在書庫與裝置檢視之間切換" @@ -14620,7 +14633,7 @@ msgid "Nam&e/Description ..." msgstr "名稱/描述(&E)..." #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:78 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:108 msgid "Query:" msgstr "查詢:" @@ -14630,7 +14643,7 @@ msgid "Enable" msgstr "啟用" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:112 msgid "Invert" msgstr "反向" @@ -14682,7 +14695,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/models.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:249 #, python-format msgid "Buying from this store supports the calibre developer: %s." msgstr "從這間支援 calibre 開發者的商店購買:%s。" @@ -14771,13 +14784,13 @@ msgid "Search:" msgstr "搜尋:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:63 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:77 msgid "Books:" msgstr "書籍:" #: /home/kovid/work/calibre/src/calibre/gui2/store/mobileread_store_dialog_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/store_dialog_ui.py:79 #: /home/kovid/work/calibre/src/calibre/gui2/store/web_store_dialog_ui.py:63 @@ -14810,7 +14823,7 @@ msgstr "下載" msgid "Price" msgstr "價格" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:234 #, python-format msgid "" "Detected price as: %s. Check with the store before making a purchase to " @@ -14818,7 +14831,7 @@ msgid "" "the store may be running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:203 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:237 msgid "" "This book as been detected as having DRM restrictions. This book may not " "work with your reader and you will have limitations placed upon you as to " @@ -14826,7 +14839,7 @@ msgid "" "purchases to ensure you can actually read this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:239 msgid "" "This book has been detected as being DRM Free. You should be able to use " "this book on any device provided it is in a format calibre supports for " @@ -14834,13 +14847,13 @@ msgid "" "with the store. The store may not be disclosing the use of DRM." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:241 msgid "" "The DRM status of this book could not be determined. There is a very high " "likelihood that this book is actually DRM restricted." msgstr "無法判斷這本書的 DRM 狀態。有很高的可能性是這本書具有 DRM 的限制。" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:246 #, python-format msgid "The following formats can be downloaded directly: %s." msgstr "下列格式可以直接下載:%s。" @@ -14874,20 +14887,20 @@ msgstr "找不到任何書籍符合您的查詢。" msgid "Choose format to download to your library." msgstr "選擇要下載到您書庫的格式。" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/store/search_ui.py:107 msgid "Get Books" msgstr "取得書籍" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:114 msgid "Open a selected book in the system's web browser" msgstr "在系統的網頁瀏覽器開啟選取的書籍" -#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:115 msgid "Open in &external browser" msgstr "在外部瀏覽器開啟(&E)" -#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/store/stores/ebooks_com_plugin.py:102 msgid "Not Available" msgstr "無法使用" @@ -15249,40 +15262,40 @@ msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "轉換書籍 %(num)d / %(total)d (%(title)s)" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:225 msgid "Could not convert some books" msgstr "無法轉換某些書籍" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:226 #, python-format msgid "" "Could not convert %(num)d of %(tot)d books, because no suitable source " "format was found." msgstr "無法轉換 %(tot)d 本書籍中的 %(num)d 本,因為沒有發現合適的來源。" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:136 msgid "Queueing books for bulk conversion" msgstr "大量轉換的佇列中的書籍" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:199 msgid "Queueing " msgstr "佇列中 " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:200 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "轉換書籍 %(num)d / %(tot)d (%(title)s)" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:274 msgid "Fetch news from " msgstr "取回新聞於 " -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:347 msgid "Convert existing" msgstr "轉換現有的" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:348 #, python-format msgid "" "The following books have already been converted to %s format. Do you wish to " @@ -15592,7 +15605,7 @@ msgid "Options to customize the ebook viewer" msgstr "用來自訂電子書檢視器的選項" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:811 msgid "Remember last used window size" msgstr "記住上次使用的視窗大小" @@ -15844,25 +15857,31 @@ msgstr "正在載入電子書..." msgid "Could not open ebook" msgstr "無法開啟電子書" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 msgid "Options to control the ebook viewer" msgstr "用來控制電子書檢視器的選項" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:798 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:805 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "如果指定了,檢視器視窗在啟動時會嘗試移至最上層。" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:808 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "如果指定,檢視器視窗會在啟動時嘗試開啟全螢幕。" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:806 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:813 msgid "Print javascript alert and console messages to the console" msgstr "在主控台中顯示 javascript 警示及主控台訊息" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:812 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:815 +msgid "" +"The position at which to open the specified book. The position is a location " +"as displayed in the top left corner of the viewer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:822 msgid "" "%prog [options] file\n" "\n" @@ -16324,64 +16343,64 @@ msgstr "" "<p>Stanza 應該能自動看到您的 calibre 藏書。如果沒有,請試著在您 iPhone 上的 Stanza 閱讀器把 URL " "http://myhostname:8080 加入為新的分類。其中 myhostname 應該是執行 calibre 的電腦的有效主機名稱或 IP 位址。" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 msgid "checked" msgstr "已點選" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:162 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:579 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:593 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:603 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:163 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:584 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:598 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:608 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "yes" msgstr "是" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:222 msgid "no" msgstr "否" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:164 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:578 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:590 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:600 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:165 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:583 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:595 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:605 msgid "unchecked" msgstr "未核取" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:372 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:377 msgid "today" msgstr "今天" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:375 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:380 msgid "yesterday" msgstr "昨天" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:378 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 msgid "thismonth" msgstr "這個月" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:381 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:386 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:387 msgid "daysago" msgstr "天前" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "blank" msgstr "空白" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:580 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:597 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:585 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:602 msgid "empty" msgstr "空的" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:581 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:586 msgid "Invalid boolean query \"{0}\"" msgstr "無效的布林查詢「{0}」" @@ -18202,7 +18221,7 @@ msgid "" "returns \"A, D\". {#genre:subitems(0,2)} returns \"A.B, D.E\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:737 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:743 msgid "" "format_date(val, format_string) -- format the value, which must be a date, " "using the format_string, returning a string. The formatting codes are: d " @@ -18225,67 +18244,67 @@ msgid "" "timezone. Must be the only format present" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:774 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:780 msgid "uppercase(val) -- return value of the field in upper case" msgstr "uppercase(val) -- 以大寫傳回欄位中的數值" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:783 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:789 msgid "lowercase(val) -- return value of the field in lower case" msgstr "lowercase(val) -- 以小寫傳回欄位中的數值" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:792 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:798 msgid "titlecase(val) -- return value of the field in title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:801 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:807 msgid "capitalize(val) -- return value of the field capitalized" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:810 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:816 msgid "booksize() -- return value of the size field" msgstr "booksize() -- 傳回大小欄位的數值" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:824 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:830 msgid "" "ondevice() -- return Yes if ondevice is set, otherwise return the empty " "string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:836 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:842 msgid "" "has_cover() -- return Yes if the book has a cover, otherwise return the " "empty string" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:848 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:854 msgid "" "first_non_empty(value, value, ...) -- returns the first value that is not " "empty. If all values are empty, then the empty value is returned.You can " "have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:865 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:871 msgid "" "and(value, value, ...) -- returns the string \"1\" if all values are not " "empty, otherwise returns the empty string. This function works well with " "test or first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:882 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:888 msgid "" "or(value, value, ...) -- returns the string \"1\" if any value is not empty, " "otherwise returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:899 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:905 msgid "" "not(value) -- returns the string \"1\" if the value is empty, otherwise " "returns the empty string. This function works well with test or " "first_non_empty. You can have as many values as you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:911 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:917 msgid "" "list_union(list1, list2, separator) -- return a list made by merging the " "items in list1 and list2, removing duplicate items using a case-insensitive " @@ -18294,7 +18313,7 @@ msgid "" "list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:935 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:941 msgid "" "list_difference(list1, list2, separator) -- return a list made by removing " "from list1 any item found in list2, using a case-insensitive compare. The " @@ -18302,7 +18321,7 @@ msgid "" "returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:956 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:962 msgid "" "list_intersection(list1, list2, separator) -- return a list made by removing " "from list1 any item not found in list2, using a case-insensitive compare. " @@ -18310,7 +18329,7 @@ msgid "" "the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:977 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:983 msgid "" "list_sort(list, direction, separator) -- return list sorted using a case-" "insensitive sort. If direction is zero, the list is sorted ascending, " @@ -18318,7 +18337,7 @@ msgid "" "items in the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:992 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:998 msgid "" "list_equals(list1, sep1, list2, sep2, yes_val, no_val) -- return yes_val if " "list1 and list2 contain the same items, otherwise return no_val. The items " @@ -18327,7 +18346,7 @@ msgid "" "The compare is case insensitive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1010 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1016 msgid "" "list_re(src_list, separator, search_re, opt_replace) -- Construct a list by " "first separating src_list into items using the separator character. For each " @@ -18336,14 +18355,14 @@ msgid "" "the replacement before adding the item to the returned list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1035 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1041 msgid "" "today() -- return a date string for today. This value is designed for use in " "format_date or days_between, but can be manipulated like any other string. " "The date is in ISO format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1046 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1052 msgid "" "days_between(date1, date2) -- return the number of days between date1 and " "date2. The number is positive if date1 is greater than date2, otherwise " @@ -18351,7 +18370,7 @@ msgid "" "empty string." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1068 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1074 msgid "" "language_strings(lang_codes, localize) -- return the strings for the " "language codes passed in lang_codes. If localize is zero, return the strings " @@ -18359,7 +18378,7 @@ msgid "" "the current locale. Lang_codes is a comma-separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1088 +#: /home/kovid/work/calibre/src/calibre/utils/formatter_functions.py:1094 msgid "" "language_codes(lang_strings) -- return the language codes for the strings " "passed in lang_strings. The strings must be in the language of the current " @@ -18415,166 +18434,174 @@ msgid "English (Australia)" msgstr "英文 (澳大利亞)" #: /home/kovid/work/calibre/src/calibre/utils/localization.py:115 +msgid "English (Japan)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +msgid "English (Germany)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 msgid "English (Bulgaria)" msgstr "英文 (保加利亞)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:116 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 msgid "English (New Zealand)" msgstr "英文 (紐西蘭)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:117 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 msgid "English (Canada)" msgstr "英文 (加拿大)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 msgid "English (Greece)" msgstr "英文 (希臘)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:119 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 msgid "English (India)" msgstr "英文 (印度)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:120 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 msgid "English (Nepal)" msgstr "英文 (尼泊爾)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:121 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 msgid "English (Thailand)" msgstr "英文 (泰國)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:122 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 msgid "English (Turkey)" msgstr "英文 (土耳其)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:123 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 msgid "English (Cyprus)" msgstr "英文 (塞普勒斯)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:124 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 msgid "English (Czech Republic)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:125 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 msgid "English (Pakistan)" msgstr "英文 (巴基斯坦)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:126 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 msgid "English (Croatia)" msgstr "英語 (克羅埃西亞)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:127 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 msgid "English (Indonesia)" msgstr "英語 (印尼)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:128 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 msgid "English (Israel)" msgstr "英語(以色列)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:129 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 msgid "English (Russia)" msgstr "英文 (俄羅斯)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:130 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 msgid "English (Singapore)" msgstr "英文 (新加坡)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:131 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 msgid "English (Yemen)" msgstr "英文 (葉門)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:132 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 msgid "English (Ireland)" msgstr "英語(愛爾蘭)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:133 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 msgid "English (China)" msgstr "英語(中國)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:134 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 msgid "English (South Africa)" msgstr "英文 (南非)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:135 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 msgid "Spanish (Paraguay)" msgstr "西班牙(巴拉圭)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:136 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 msgid "Spanish (Uruguay)" msgstr "西班牙語 (烏拉圭)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:137 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 msgid "Spanish (Argentina)" msgstr "西班牙語 (阿根廷)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:138 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 msgid "Spanish (Mexico)" msgstr "西班牙語 (墨西哥)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:139 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 msgid "Spanish (Cuba)" msgstr "西班牙語 (古巴)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:140 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 msgid "Spanish (Chile)" msgstr "西班牙語 (智利)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:141 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 msgid "Spanish (Ecuador)" msgstr "西班牙語 (厄瓜多)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:142 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 msgid "Spanish (Honduras)" msgstr "西班牙語 (宏都拉斯)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:143 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 msgid "Spanish (Venezuela)" msgstr "西班牙語 (委內瑞拉)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:144 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 msgid "Spanish (Bolivia)" msgstr "西班牙語 (玻利維亞)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:145 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 msgid "Spanish (Nicaragua)" msgstr "西班牙語 (尼加拉瓜)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:146 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 msgid "Spanish (Colombia)" msgstr "西班牙文 (哥倫比亞)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:147 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 msgid "German (AT)" msgstr "德文 (AT)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:148 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 msgid "French (BE)" msgstr "法語 (BE)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:149 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:151 msgid "Dutch (NL)" msgstr "荷蘭文 (NL)" -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:150 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:152 msgid "Dutch (BE)" msgstr "荷蘭文 (BE)" #. NOTE: Ante Meridian (i.e. like 10:00 AM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:158 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 msgid "AM" msgstr "上午" #. NOTE: Post Meridian (i.e. like 10:00 PM) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:160 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 msgid "PM" msgstr "下午" #. NOTE: Ante Meridian (i.e. like 10:00 am) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:162 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 msgid "am" msgstr "上午" #. NOTE: Post Meridian (i.e. like 10:00 pm) -#: /home/kovid/work/calibre/src/calibre/utils/localization.py:164 +#: /home/kovid/work/calibre/src/calibre/utils/localization.py:166 msgid "pm" msgstr "下午" diff --git a/src/calibre/utils/coffeescript.py b/src/calibre/utils/coffeescript.py new file mode 100644 index 0000000000..22a71cc0c2 --- /dev/null +++ b/src/calibre/utils/coffeescript.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai +from __future__ import (unicode_literals, division, absolute_import, + print_function) + +__license__ = 'GPL v3' +__copyright__ = '2011, Kovid Goyal <kovid@kovidgoyal.net>' +__docformat__ = 'restructuredtext en' + +''' +Utilities to help with developing coffeescript based apps +''' +import time, SimpleHTTPServer, SocketServer, threading, os, subprocess + +class Handler(SimpleHTTPServer.SimpleHTTPRequestHandler): + + def translate_path(self, path): + if path.endswith('jquery.js'): + return P('content_server/jquery.js') + return SimpleHTTPServer.SimpleHTTPRequestHandler.translate_path(self, + path) + +class Server(threading.Thread): + + def __init__(self, port=8000): + threading.Thread.__init__(self) + self.port = port + self.daemon = True + self.httpd = SocketServer.TCPServer(("localhost", port), Handler) + + def run(self): + print('serving at localhost:%d'%self.port) + self.httpd.serve_forever() + + def end(self): + self.httpd.shutdown() + self.join() + +class Compiler(threading.Thread): + + def __init__(self, coffee_files): + threading.Thread.__init__(self) + self.daemon = True + if not isinstance(coffee_files, dict): + coffee_files = {x:os.path.splitext(os.path.basename(x))[0]+'.js' + for x in coffee_files} + a = os.path.abspath + self.src_map = {a(x):a(y) for x, y in coffee_files.iteritems()} + self.keep_going = True + + def run(self): + while self.keep_going: + for src, dest in self.src_map.iteritems(): + if self.newer(src, dest): + self.compile(src, dest) + time.sleep(0.1) + + def newer(self, src, dest): + try: + sstat = os.stat(src) + except: + time.sleep(0.01) + sstat = os.stat(src) + return (not os.access(dest, os.R_OK) or sstat.st_mtime > + os.stat(dest).st_mtime) + + def compile(self, src, dest): + with open(dest, 'wb') as f: + try: + subprocess.check_call(['coffee', '-c', '-p', src], stdout=f) + except: + print('Compilation of %s failed'%src) + f.seek(0) + f.truncate() + f.write('// Compilation of cofeescript failed') + + def end(self): + self.keep_going = False + self.join() + for x in self.src_map.itervalues(): + try: + os.remove(x) + except: + pass + +def serve(coffee_files, port=8000): + ws = Server(port=port) + comp = Compiler(coffee_files) + comp.start() + ws.start() + + try: + while True: + time.sleep(1) + if not comp.is_alive() or not ws.is_alive(): + print ('Worker failed') + raise SystemExit(1) + except KeyboardInterrupt: + pass + finally: + try: + comp.end() + except: + pass + ws.end() diff --git a/src/calibre/web/feeds/__init__.py b/src/calibre/web/feeds/__init__.py index dbd1f74f82..14c0085f85 100644 --- a/src/calibre/web/feeds/__init__.py +++ b/src/calibre/web/feeds/__init__.py @@ -31,6 +31,7 @@ class Article(object): self._title = clean_ascii_chars(self._title) self.url = url self.author = author + self.toc_thumbnail = None if author and not isinstance(author, unicode): author = author.decode('utf-8', 'replace') self.summary = summary @@ -88,8 +89,10 @@ URL : %s Author : %s Summary : %s Date : %s +TOC thumb : %s Has content : %s -'''%(self.title, self.url, self.author, self.summary[:20]+'...', self.localtime.strftime('%a, %d %b, %Y %H:%M'), +'''%(self.title, self.url, self.author, self.summary[:20]+'...', + self.toc_thumbnail, self.localtime.strftime('%a, %d %b, %Y %H:%M'), bool(self.content))).encode('utf-8') def __str__(self): diff --git a/src/calibre/web/feeds/news.py b/src/calibre/web/feeds/news.py index 13b79fa947..11429d835d 100644 --- a/src/calibre/web/feeds/news.py +++ b/src/calibre/web/feeds/news.py @@ -653,6 +653,25 @@ class BasicNewsRecipe(Recipe): ''' raise NotImplementedError + def add_toc_thumbnail(self, article, src): + ''' + Call this from populate_article_metadata with the src attribute of an + <img> tag from the article that is appropriate for use as the thumbnail + representing the article in the Table of Contents. Whether the + thumbnail is actually used is device dependent (currently only used by + the Kindles). Note that the referenced image must be one that was + successfully downloaded, otherwise it will be ignored. + ''' + if not src or not hasattr(article, 'toc_thumbnail'): + return + + src = src.replace('\\', '/') + if re.search(r'feed_\d+/article_\d+/images/img', src, flags=re.I) is None: + self.log.warn('Ignoring invalid TOC thumbnail image: %r'%src) + return + article.toc_thumbnail = re.sub(r'^.*?feed', 'feed', + src, flags=re.IGNORECASE) + def populate_article_metadata(self, article, soup, first): ''' Called when each HTML page belonging to article is downloaded. @@ -1285,13 +1304,16 @@ class BasicNewsRecipe(Recipe): desc = None else: desc = self.description_limiter(desc) + tt = a.toc_thumbnail if a.toc_thumbnail else None entries.append('%sindex.html'%adir) po = self.play_order_map.get(entries[-1], None) if po is None: self.play_order_counter += 1 po = self.play_order_counter - parent.add_item('%sindex.html'%adir, None, a.title if a.title else _('Untitled Article'), - play_order=po, author=auth, description=desc) + parent.add_item('%sindex.html'%adir, None, + a.title if a.title else _('Untitled Article'), + play_order=po, author=auth, + description=desc, toc_thumbnail=tt) last = os.path.join(self.output_dir, ('%sindex.html'%adir).replace('/', os.sep)) for sp in a.sub_pages: prefix = os.path.commonprefix([opf_path, sp]) diff --git a/src/calibre/web/feeds/recipes/collection.py b/src/calibre/web/feeds/recipes/collection.py index 46d6c2db81..e94001bf13 100644 --- a/src/calibre/web/feeds/recipes/collection.py +++ b/src/calibre/web/feeds/recipes/collection.py @@ -79,7 +79,12 @@ def serialize_builtin_recipes(): from calibre.web.feeds.recipes import compile_recipe recipe_mapping = {} for rid, f in iterate_over_builtin_recipe_files(): - recipe_class = compile_recipe(open(f, 'rb').read()) + with open(f, 'rb') as stream: + try: + recipe_class = compile_recipe(stream.read()) + except: + print ('Failed to compile: %s'%f) + raise if recipe_class is not None: recipe_mapping['builtin:'+rid] = recipe_class diff --git a/src/html5lib/__init__.py b/src/html5lib/__init__.py new file mode 100644 index 0000000000..433e0f6735 --- /dev/null +++ b/src/html5lib/__init__.py @@ -0,0 +1,17 @@ +""" +HTML parsing library based on the WHATWG "HTML5" +specification. The parser is designed to be compatible with existing +HTML found in the wild and implements well-defined error recovery that +is largely compatible with modern desktop web browsers. + +Example usage: + +import html5lib +f = open("my_document.html") +tree = html5lib.parse(f) +""" +__version__ = "0.90" +from html5parser import HTMLParser, parse, parseFragment +from treebuilders import getTreeBuilder +from treewalkers import getTreeWalker +from serializer import serialize diff --git a/src/html5lib/constants.py b/src/html5lib/constants.py new file mode 100644 index 0000000000..4157bcfcea --- /dev/null +++ b/src/html5lib/constants.py @@ -0,0 +1,1169 @@ +import string, gettext +_ = gettext.gettext + +try: + frozenset +except NameError: + # Import from the sets module for python 2.3 + from sets import Set as set + from sets import ImmutableSet as frozenset + +EOF = None + +E = { + "null-character": + _(u"Null character in input stream, replaced with U+FFFD."), + "invalid-character": + _(u"Invalid codepoint in stream."), + "incorrectly-placed-solidus": + _(u"Solidus (/) incorrectly placed in tag."), + "incorrect-cr-newline-entity": + _(u"Incorrect CR newline entity, replaced with LF."), + "illegal-windows-1252-entity": + _(u"Entity used with illegal number (windows-1252 reference)."), + "cant-convert-numeric-entity": + _(u"Numeric entity couldn't be converted to character " + u"(codepoint U+%(charAsInt)08x)."), + "illegal-codepoint-for-numeric-entity": + _(u"Numeric entity represents an illegal codepoint: " + u"U+%(charAsInt)08x."), + "numeric-entity-without-semicolon": + _(u"Numeric entity didn't end with ';'."), + "expected-numeric-entity-but-got-eof": + _(u"Numeric entity expected. Got end of file instead."), + "expected-numeric-entity": + _(u"Numeric entity expected but none found."), + "named-entity-without-semicolon": + _(u"Named entity didn't end with ';'."), + "expected-named-entity": + _(u"Named entity expected. Got none."), + "attributes-in-end-tag": + _(u"End tag contains unexpected attributes."), + "expected-tag-name-but-got-right-bracket": + _(u"Expected tag name. Got '>' instead."), + "expected-tag-name-but-got-question-mark": + _(u"Expected tag name. Got '?' instead. (HTML doesn't " + u"support processing instructions.)"), + "expected-tag-name": + _(u"Expected tag name. Got something else instead"), + "expected-closing-tag-but-got-right-bracket": + _(u"Expected closing tag. Got '>' instead. Ignoring '</>'."), + "expected-closing-tag-but-got-eof": + _(u"Expected closing tag. Unexpected end of file."), + "expected-closing-tag-but-got-char": + _(u"Expected closing tag. Unexpected character '%(data)s' found."), + "eof-in-tag-name": + _(u"Unexpected end of file in the tag name."), + "expected-attribute-name-but-got-eof": + _(u"Unexpected end of file. Expected attribute name instead."), + "eof-in-attribute-name": + _(u"Unexpected end of file in attribute name."), + "invalid-character-in-attribute-name": + _(u"Invalid chracter in attribute name"), + "duplicate-attribute": + _(u"Dropped duplicate attribute on tag."), + "expected-end-of-tag-name-but-got-eof": + _(u"Unexpected end of file. Expected = or end of tag."), + "expected-attribute-value-but-got-eof": + _(u"Unexpected end of file. Expected attribute value."), + "expected-attribute-value-but-got-right-bracket": + _(u"Expected attribute value. Got '>' instead."), + "eof-in-attribute-value-double-quote": + _(u"Unexpected end of file in attribute value (\")."), + "eof-in-attribute-value-single-quote": + _(u"Unexpected end of file in attribute value (')."), + "eof-in-attribute-value-no-quotes": + _(u"Unexpected end of file in attribute value."), + "unexpected-EOF-after-solidus-in-tag": + _(u"Unexpected end of file in tag. Expected >"), + "unexpected-character-after-soldius-in-tag": + _(u"Unexpected character after / in tag. Expected >"), + "expected-dashes-or-doctype": + _(u"Expected '--' or 'DOCTYPE'. Not found."), + "incorrect-comment": + _(u"Incorrect comment."), + "eof-in-comment": + _(u"Unexpected end of file in comment."), + "eof-in-comment-end-dash": + _(u"Unexpected end of file in comment (-)"), + "unexpected-dash-after-double-dash-in-comment": + _(u"Unexpected '-' after '--' found in comment."), + "eof-in-comment-double-dash": + _(u"Unexpected end of file in comment (--)."), + "unexpected-char-in-comment": + _(u"Unexpected character in comment found."), + "need-space-after-doctype": + _(u"No space after literal string 'DOCTYPE'."), + "expected-doctype-name-but-got-right-bracket": + _(u"Unexpected > character. Expected DOCTYPE name."), + "expected-doctype-name-but-got-eof": + _(u"Unexpected end of file. Expected DOCTYPE name."), + "eof-in-doctype-name": + _(u"Unexpected end of file in DOCTYPE name."), + "eof-in-doctype": + _(u"Unexpected end of file in DOCTYPE."), + "expected-space-or-right-bracket-in-doctype": + _(u"Expected space or '>'. Got '%(data)s'"), + "unexpected-end-of-doctype": + _(u"Unexpected end of DOCTYPE."), + "unexpected-char-in-doctype": + _(u"Unexpected character in DOCTYPE."), + "eof-in-innerhtml": + _(u"XXX innerHTML EOF"), + "unexpected-doctype": + _(u"Unexpected DOCTYPE. Ignored."), + "non-html-root": + _(u"html needs to be the first start tag."), + "expected-doctype-but-got-eof": + _(u"Unexpected End of file. Expected DOCTYPE."), + "unknown-doctype": + _(u"Erroneous DOCTYPE."), + "expected-doctype-but-got-chars": + _(u"Unexpected non-space characters. Expected DOCTYPE."), + "expected-doctype-but-got-start-tag": + _(u"Unexpected start tag (%(name)s). Expected DOCTYPE."), + "expected-doctype-but-got-end-tag": + _(u"Unexpected end tag (%(name)s). Expected DOCTYPE."), + "end-tag-after-implied-root": + _(u"Unexpected end tag (%(name)s) after the (implied) root element."), + "expected-named-closing-tag-but-got-eof": + _(u"Unexpected end of file. Expected end tag (%(name)s)."), + "two-heads-are-not-better-than-one": + _(u"Unexpected start tag head in existing head. Ignored."), + "unexpected-end-tag": + _(u"Unexpected end tag (%(name)s). Ignored."), + "unexpected-start-tag-out-of-my-head": + _(u"Unexpected start tag (%(name)s) that can be in head. Moved."), + "unexpected-start-tag": + _(u"Unexpected start tag (%(name)s)."), + "missing-end-tag": + _(u"Missing end tag (%(name)s)."), + "missing-end-tags": + _(u"Missing end tags (%(name)s)."), + "unexpected-start-tag-implies-end-tag": + _(u"Unexpected start tag (%(startName)s) " + u"implies end tag (%(endName)s)."), + "unexpected-start-tag-treated-as": + _(u"Unexpected start tag (%(originalName)s). Treated as %(newName)s."), + "deprecated-tag": + _(u"Unexpected start tag %(name)s. Don't use it!"), + "unexpected-start-tag-ignored": + _(u"Unexpected start tag %(name)s. Ignored."), + "expected-one-end-tag-but-got-another": + _(u"Unexpected end tag (%(gotName)s). " + u"Missing end tag (%(expectedName)s)."), + "end-tag-too-early": + _(u"End tag (%(name)s) seen too early. Expected other end tag."), + "end-tag-too-early-named": + _(u"Unexpected end tag (%(gotName)s). Expected end tag (%(expectedName)s)."), + "end-tag-too-early-ignored": + _(u"End tag (%(name)s) seen too early. Ignored."), + "adoption-agency-1.1": + _(u"End tag (%(name)s) violates step 1, " + u"paragraph 1 of the adoption agency algorithm."), + "adoption-agency-1.2": + _(u"End tag (%(name)s) violates step 1, " + u"paragraph 2 of the adoption agency algorithm."), + "adoption-agency-1.3": + _(u"End tag (%(name)s) violates step 1, " + u"paragraph 3 of the adoption agency algorithm."), + "unexpected-end-tag-treated-as": + _(u"Unexpected end tag (%(originalName)s). Treated as %(newName)s."), + "no-end-tag": + _(u"This element (%(name)s) has no end tag."), + "unexpected-implied-end-tag-in-table": + _(u"Unexpected implied end tag (%(name)s) in the table phase."), + "unexpected-implied-end-tag-in-table-body": + _(u"Unexpected implied end tag (%(name)s) in the table body phase."), + "unexpected-char-implies-table-voodoo": + _(u"Unexpected non-space characters in " + u"table context caused voodoo mode."), + "unexpected-hidden-input-in-table": + _(u"Unexpected input with type hidden in table context."), + "unexpected-form-in-table": + _(u"Unexpected form in table context."), + "unexpected-start-tag-implies-table-voodoo": + _(u"Unexpected start tag (%(name)s) in " + u"table context caused voodoo mode."), + "unexpected-end-tag-implies-table-voodoo": + _(u"Unexpected end tag (%(name)s) in " + u"table context caused voodoo mode."), + "unexpected-cell-in-table-body": + _(u"Unexpected table cell start tag (%(name)s) " + u"in the table body phase."), + "unexpected-cell-end-tag": + _(u"Got table cell end tag (%(name)s) " + u"while required end tags are missing."), + "unexpected-end-tag-in-table-body": + _(u"Unexpected end tag (%(name)s) in the table body phase. Ignored."), + "unexpected-implied-end-tag-in-table-row": + _(u"Unexpected implied end tag (%(name)s) in the table row phase."), + "unexpected-end-tag-in-table-row": + _(u"Unexpected end tag (%(name)s) in the table row phase. Ignored."), + "unexpected-select-in-select": + _(u"Unexpected select start tag in the select phase " + u"treated as select end tag."), + "unexpected-input-in-select": + _(u"Unexpected input start tag in the select phase."), + "unexpected-start-tag-in-select": + _(u"Unexpected start tag token (%(name)s in the select phase. " + u"Ignored."), + "unexpected-end-tag-in-select": + _(u"Unexpected end tag (%(name)s) in the select phase. Ignored."), + "unexpected-table-element-start-tag-in-select-in-table": + _(u"Unexpected table element start tag (%(name)s) in the select in table phase."), + "unexpected-table-element-end-tag-in-select-in-table": + _(u"Unexpected table element end tag (%(name)s) in the select in table phase."), + "unexpected-char-after-body": + _(u"Unexpected non-space characters in the after body phase."), + "unexpected-start-tag-after-body": + _(u"Unexpected start tag token (%(name)s)" + u" in the after body phase."), + "unexpected-end-tag-after-body": + _(u"Unexpected end tag token (%(name)s)" + u" in the after body phase."), + "unexpected-char-in-frameset": + _(u"Unepxected characters in the frameset phase. Characters ignored."), + "unexpected-start-tag-in-frameset": + _(u"Unexpected start tag token (%(name)s)" + u" in the frameset phase. Ignored."), + "unexpected-frameset-in-frameset-innerhtml": + _(u"Unexpected end tag token (frameset) " + u"in the frameset phase (innerHTML)."), + "unexpected-end-tag-in-frameset": + _(u"Unexpected end tag token (%(name)s)" + u" in the frameset phase. Ignored."), + "unexpected-char-after-frameset": + _(u"Unexpected non-space characters in the " + u"after frameset phase. Ignored."), + "unexpected-start-tag-after-frameset": + _(u"Unexpected start tag (%(name)s)" + u" in the after frameset phase. Ignored."), + "unexpected-end-tag-after-frameset": + _(u"Unexpected end tag (%(name)s)" + u" in the after frameset phase. Ignored."), + "unexpected-end-tag-after-body-innerhtml": + _(u"Unexpected end tag after body(innerHtml)"), + "expected-eof-but-got-char": + _(u"Unexpected non-space characters. Expected end of file."), + "expected-eof-but-got-start-tag": + _(u"Unexpected start tag (%(name)s)" + u". Expected end of file."), + "expected-eof-but-got-end-tag": + _(u"Unexpected end tag (%(name)s)" + u". Expected end of file."), + "eof-in-table": + _(u"Unexpected end of file. Expected table content."), + "eof-in-select": + _(u"Unexpected end of file. Expected select content."), + "eof-in-frameset": + _(u"Unexpected end of file. Expected frameset content."), + "eof-in-script-in-script": + _(u"Unexpected end of file. Expected script content."), + "non-void-element-with-trailing-solidus": + _(u"Trailing solidus not allowed on element %(name)s"), + "unexpected-html-element-in-foreign-content": + _(u"Element %(name)s not allowed in a non-html context"), + "unexpected-end-tag-before-html": + _(u"Unexpected end tag (%(name)s) before html."), + "XXX-undefined-error": + (u"Undefined error (this sucks and should be fixed)"), +} + +namespaces = { + "html":"http://www.w3.org/1999/xhtml", + "mathml":"http://www.w3.org/1998/Math/MathML", + "svg":"http://www.w3.org/2000/svg", + "xlink":"http://www.w3.org/1999/xlink", + "xml":"http://www.w3.org/XML/1998/namespace", + "xmlns":"http://www.w3.org/2000/xmlns/" +} + +scopingElements = frozenset(( + (namespaces["html"], "applet"), + (namespaces["html"], "button"), + (namespaces["html"], "caption"), + (namespaces["html"], "html"), + (namespaces["html"], "marquee"), + (namespaces["html"], "object"), + (namespaces["html"], "table"), + (namespaces["html"], "td"), + (namespaces["html"], "th"), + (namespaces["svg"], "foreignObject") +)) + +formattingElements = frozenset(( + (namespaces["html"], "a"), + (namespaces["html"], "b"), + (namespaces["html"], "big"), + (namespaces["html"], "code"), + (namespaces["html"], "em"), + (namespaces["html"], "font"), + (namespaces["html"], "i"), + (namespaces["html"], "nobr"), + (namespaces["html"], "s"), + (namespaces["html"], "small"), + (namespaces["html"], "strike"), + (namespaces["html"], "strong"), + (namespaces["html"], "tt"), + (namespaces["html"], "u") +)) + +specialElements = frozenset(( + (namespaces["html"], "address"), + (namespaces["html"], "area"), + (namespaces["html"], "article"), + (namespaces["html"], "aside"), + (namespaces["html"], "base"), + (namespaces["html"], "basefont"), + (namespaces["html"], "bgsound"), + (namespaces["html"], "blockquote"), + (namespaces["html"], "body"), + (namespaces["html"], "br"), + (namespaces["html"], "center"), + (namespaces["html"], "col"), + (namespaces["html"], "colgroup"), + (namespaces["html"], "command"), + (namespaces["html"], "datagrid"), + (namespaces["html"], "dd"), + (namespaces["html"], "details"), + (namespaces["html"], "dialog"), + (namespaces["html"], "dir"), + (namespaces["html"], "div"), + (namespaces["html"], "dl"), + (namespaces["html"], "dt"), + (namespaces["html"], "embed"), + (namespaces["html"], "event-source"), + (namespaces["html"], "fieldset"), + (namespaces["html"], "figure"), + (namespaces["html"], "footer"), + (namespaces["html"], "form"), + (namespaces["html"], "frame"), + (namespaces["html"], "frameset"), + (namespaces["html"], "h1"), + (namespaces["html"], "h2"), + (namespaces["html"], "h3"), + (namespaces["html"], "h4"), + (namespaces["html"], "h5"), + (namespaces["html"], "h6"), + (namespaces["html"], "head"), + (namespaces["html"], "header"), + (namespaces["html"], "hr"), + (namespaces["html"], "iframe"), + # Note that image is commented out in the spec as "this isn't an + # element that can end up on the stack, so it doesn't matter," + (namespaces["html"], "image"), + (namespaces["html"], "img"), + (namespaces["html"], "input"), + (namespaces["html"], "isindex"), + (namespaces["html"], "li"), + (namespaces["html"], "link"), + (namespaces["html"], "listing"), + (namespaces["html"], "menu"), + (namespaces["html"], "meta"), + (namespaces["html"], "nav"), + (namespaces["html"], "noembed"), + (namespaces["html"], "noframes"), + (namespaces["html"], "noscript"), + (namespaces["html"], "ol"), + (namespaces["html"], "optgroup"), + (namespaces["html"], "option"), + (namespaces["html"], "p"), + (namespaces["html"], "param"), + (namespaces["html"], "plaintext"), + (namespaces["html"], "pre"), + (namespaces["html"], "script"), + (namespaces["html"], "section"), + (namespaces["html"], "select"), + (namespaces["html"], "spacer"), + (namespaces["html"], "style"), + (namespaces["html"], "tbody"), + (namespaces["html"], "textarea"), + (namespaces["html"], "tfoot"), + (namespaces["html"], "thead"), + (namespaces["html"], "title"), + (namespaces["html"], "tr"), + (namespaces["html"], "ul"), + (namespaces["html"], "wbr") +)) + +spaceCharacters = frozenset(( + u"\t", + u"\n", + u"\u000C", + u" ", + u"\r" +)) + +tableInsertModeElements = frozenset(( + "table", + "tbody", + "tfoot", + "thead", + "tr" +)) + +asciiLowercase = frozenset(string.ascii_lowercase) +asciiUppercase = frozenset(string.ascii_uppercase) +asciiLetters = frozenset(string.ascii_letters) +digits = frozenset(string.digits) +hexDigits = frozenset(string.hexdigits) + +asciiUpper2Lower = dict([(ord(c),ord(c.lower())) + for c in string.ascii_uppercase]) + +# Heading elements need to be ordered +headingElements = ( + "h1", + "h2", + "h3", + "h4", + "h5", + "h6" +) + +voidElements = frozenset(( + "base", + "command", + "event-source", + "link", + "meta", + "hr", + "br", + "img", + "embed", + "param", + "area", + "col", + "input", + "source" +)) + +cdataElements = frozenset(('title', 'textarea')) + +rcdataElements = frozenset(( + 'style', + 'script', + 'xmp', + 'iframe', + 'noembed', + 'noframes', + 'noscript' +)) + +booleanAttributes = { + "": frozenset(("irrelevant",)), + "style": frozenset(("scoped",)), + "img": frozenset(("ismap",)), + "audio": frozenset(("autoplay","controls")), + "video": frozenset(("autoplay","controls")), + "script": frozenset(("defer", "async")), + "details": frozenset(("open",)), + "datagrid": frozenset(("multiple", "disabled")), + "command": frozenset(("hidden", "disabled", "checked", "default")), + "menu": frozenset(("autosubmit",)), + "fieldset": frozenset(("disabled", "readonly")), + "option": frozenset(("disabled", "readonly", "selected")), + "optgroup": frozenset(("disabled", "readonly")), + "button": frozenset(("disabled", "autofocus")), + "input": frozenset(("disabled", "readonly", "required", "autofocus", "checked", "ismap")), + "select": frozenset(("disabled", "readonly", "autofocus", "multiple")), + "output": frozenset(("disabled", "readonly")), +} + +# entitiesWindows1252 has to be _ordered_ and needs to have an index. It +# therefore can't be a frozenset. +entitiesWindows1252 = ( + 8364, # 0x80 0x20AC EURO SIGN + 65533, # 0x81 UNDEFINED + 8218, # 0x82 0x201A SINGLE LOW-9 QUOTATION MARK + 402, # 0x83 0x0192 LATIN SMALL LETTER F WITH HOOK + 8222, # 0x84 0x201E DOUBLE LOW-9 QUOTATION MARK + 8230, # 0x85 0x2026 HORIZONTAL ELLIPSIS + 8224, # 0x86 0x2020 DAGGER + 8225, # 0x87 0x2021 DOUBLE DAGGER + 710, # 0x88 0x02C6 MODIFIER LETTER CIRCUMFLEX ACCENT + 8240, # 0x89 0x2030 PER MILLE SIGN + 352, # 0x8A 0x0160 LATIN CAPITAL LETTER S WITH CARON + 8249, # 0x8B 0x2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK + 338, # 0x8C 0x0152 LATIN CAPITAL LIGATURE OE + 65533, # 0x8D UNDEFINED + 381, # 0x8E 0x017D LATIN CAPITAL LETTER Z WITH CARON + 65533, # 0x8F UNDEFINED + 65533, # 0x90 UNDEFINED + 8216, # 0x91 0x2018 LEFT SINGLE QUOTATION MARK + 8217, # 0x92 0x2019 RIGHT SINGLE QUOTATION MARK + 8220, # 0x93 0x201C LEFT DOUBLE QUOTATION MARK + 8221, # 0x94 0x201D RIGHT DOUBLE QUOTATION MARK + 8226, # 0x95 0x2022 BULLET + 8211, # 0x96 0x2013 EN DASH + 8212, # 0x97 0x2014 EM DASH + 732, # 0x98 0x02DC SMALL TILDE + 8482, # 0x99 0x2122 TRADE MARK SIGN + 353, # 0x9A 0x0161 LATIN SMALL LETTER S WITH CARON + 8250, # 0x9B 0x203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK + 339, # 0x9C 0x0153 LATIN SMALL LIGATURE OE + 65533, # 0x9D UNDEFINED + 382, # 0x9E 0x017E LATIN SMALL LETTER Z WITH CARON + 376 # 0x9F 0x0178 LATIN CAPITAL LETTER Y WITH DIAERESIS +) + +entities = { + "AElig;": u"\u00C6", + "AElig": u"\u00C6", + "AMP;": u"\u0026", + "AMP": u"\u0026", + "Aacute;": u"\u00C1", + "Aacute": u"\u00C1", + "Acirc;": u"\u00C2", + "Acirc": u"\u00C2", + "Agrave;": u"\u00C0", + "Agrave": u"\u00C0", + "Alpha;": u"\u0391", + "Aring;": u"\u00C5", + "Aring": u"\u00C5", + "Atilde;": u"\u00C3", + "Atilde": u"\u00C3", + "Auml;": u"\u00C4", + "Auml": u"\u00C4", + "Beta;": u"\u0392", + "COPY;": u"\u00A9", + "COPY": u"\u00A9", + "Ccedil;": u"\u00C7", + "Ccedil": u"\u00C7", + "Chi;": u"\u03A7", + "Dagger;": u"\u2021", + "Delta;": u"\u0394", + "ETH;": u"\u00D0", + "ETH": u"\u00D0", + "Eacute;": u"\u00C9", + "Eacute": u"\u00C9", + "Ecirc;": u"\u00CA", + "Ecirc": u"\u00CA", + "Egrave;": u"\u00C8", + "Egrave": u"\u00C8", + "Epsilon;": u"\u0395", + "Eta;": u"\u0397", + "Euml;": u"\u00CB", + "Euml": u"\u00CB", + "GT;": u"\u003E", + "GT": u"\u003E", + "Gamma;": u"\u0393", + "Iacute;": u"\u00CD", + "Iacute": u"\u00CD", + "Icirc;": u"\u00CE", + "Icirc": u"\u00CE", + "Igrave;": u"\u00CC", + "Igrave": u"\u00CC", + "Iota;": u"\u0399", + "Iuml;": u"\u00CF", + "Iuml": u"\u00CF", + "Kappa;": u"\u039A", + "LT;": u"\u003C", + "LT": u"\u003C", + "Lambda;": u"\u039B", + "Mu;": u"\u039C", + "Ntilde;": u"\u00D1", + "Ntilde": u"\u00D1", + "Nu;": u"\u039D", + "OElig;": u"\u0152", + "Oacute;": u"\u00D3", + "Oacute": u"\u00D3", + "Ocirc;": u"\u00D4", + "Ocirc": u"\u00D4", + "Ograve;": u"\u00D2", + "Ograve": u"\u00D2", + "Omega;": u"\u03A9", + "Omicron;": u"\u039F", + "Oslash;": u"\u00D8", + "Oslash": u"\u00D8", + "Otilde;": u"\u00D5", + "Otilde": u"\u00D5", + "Ouml;": u"\u00D6", + "Ouml": u"\u00D6", + "Phi;": u"\u03A6", + "Pi;": u"\u03A0", + "Prime;": u"\u2033", + "Psi;": u"\u03A8", + "QUOT;": u"\u0022", + "QUOT": u"\u0022", + "REG;": u"\u00AE", + "REG": u"\u00AE", + "Rho;": u"\u03A1", + "Scaron;": u"\u0160", + "Sigma;": u"\u03A3", + "THORN;": u"\u00DE", + "THORN": u"\u00DE", + "TRADE;": u"\u2122", + "Tau;": u"\u03A4", + "Theta;": u"\u0398", + "Uacute;": u"\u00DA", + "Uacute": u"\u00DA", + "Ucirc;": u"\u00DB", + "Ucirc": u"\u00DB", + "Ugrave;": u"\u00D9", + "Ugrave": u"\u00D9", + "Upsilon;": u"\u03A5", + "Uuml;": u"\u00DC", + "Uuml": u"\u00DC", + "Xi;": u"\u039E", + "Yacute;": u"\u00DD", + "Yacute": u"\u00DD", + "Yuml;": u"\u0178", + "Zeta;": u"\u0396", + "aacute;": u"\u00E1", + "aacute": u"\u00E1", + "acirc;": u"\u00E2", + "acirc": u"\u00E2", + "acute;": u"\u00B4", + "acute": u"\u00B4", + "aelig;": u"\u00E6", + "aelig": u"\u00E6", + "agrave;": u"\u00E0", + "agrave": u"\u00E0", + "alefsym;": u"\u2135", + "alpha;": u"\u03B1", + "amp;": u"\u0026", + "amp": u"\u0026", + "and;": u"\u2227", + "ang;": u"\u2220", + "apos;": u"\u0027", + "aring;": u"\u00E5", + "aring": u"\u00E5", + "asymp;": u"\u2248", + "atilde;": u"\u00E3", + "atilde": u"\u00E3", + "auml;": u"\u00E4", + "auml": u"\u00E4", + "bdquo;": u"\u201E", + "beta;": u"\u03B2", + "brvbar;": u"\u00A6", + "brvbar": u"\u00A6", + "bull;": u"\u2022", + "cap;": u"\u2229", + "ccedil;": u"\u00E7", + "ccedil": u"\u00E7", + "cedil;": u"\u00B8", + "cedil": u"\u00B8", + "cent;": u"\u00A2", + "cent": u"\u00A2", + "chi;": u"\u03C7", + "circ;": u"\u02C6", + "clubs;": u"\u2663", + "cong;": u"\u2245", + "copy;": u"\u00A9", + "copy": u"\u00A9", + "crarr;": u"\u21B5", + "cup;": u"\u222A", + "curren;": u"\u00A4", + "curren": u"\u00A4", + "dArr;": u"\u21D3", + "dagger;": u"\u2020", + "darr;": u"\u2193", + "deg;": u"\u00B0", + "deg": u"\u00B0", + "delta;": u"\u03B4", + "diams;": u"\u2666", + "divide;": u"\u00F7", + "divide": u"\u00F7", + "eacute;": u"\u00E9", + "eacute": u"\u00E9", + "ecirc;": u"\u00EA", + "ecirc": u"\u00EA", + "egrave;": u"\u00E8", + "egrave": u"\u00E8", + "empty;": u"\u2205", + "emsp;": u"\u2003", + "ensp;": u"\u2002", + "epsilon;": u"\u03B5", + "equiv;": u"\u2261", + "eta;": u"\u03B7", + "eth;": u"\u00F0", + "eth": u"\u00F0", + "euml;": u"\u00EB", + "euml": u"\u00EB", + "euro;": u"\u20AC", + "exist;": u"\u2203", + "fnof;": u"\u0192", + "forall;": u"\u2200", + "frac12;": u"\u00BD", + "frac12": u"\u00BD", + "frac14;": u"\u00BC", + "frac14": u"\u00BC", + "frac34;": u"\u00BE", + "frac34": u"\u00BE", + "frasl;": u"\u2044", + "gamma;": u"\u03B3", + "ge;": u"\u2265", + "gt;": u"\u003E", + "gt": u"\u003E", + "hArr;": u"\u21D4", + "harr;": u"\u2194", + "hearts;": u"\u2665", + "hellip;": u"\u2026", + "iacute;": u"\u00ED", + "iacute": u"\u00ED", + "icirc;": u"\u00EE", + "icirc": u"\u00EE", + "iexcl;": u"\u00A1", + "iexcl": u"\u00A1", + "igrave;": u"\u00EC", + "igrave": u"\u00EC", + "image;": u"\u2111", + "infin;": u"\u221E", + "int;": u"\u222B", + "iota;": u"\u03B9", + "iquest;": u"\u00BF", + "iquest": u"\u00BF", + "isin;": u"\u2208", + "iuml;": u"\u00EF", + "iuml": u"\u00EF", + "kappa;": u"\u03BA", + "lArr;": u"\u21D0", + "lambda;": u"\u03BB", + "lang;": u"\u27E8", + "laquo;": u"\u00AB", + "laquo": u"\u00AB", + "larr;": u"\u2190", + "lceil;": u"\u2308", + "ldquo;": u"\u201C", + "le;": u"\u2264", + "lfloor;": u"\u230A", + "lowast;": u"\u2217", + "loz;": u"\u25CA", + "lrm;": u"\u200E", + "lsaquo;": u"\u2039", + "lsquo;": u"\u2018", + "lt;": u"\u003C", + "lt": u"\u003C", + "macr;": u"\u00AF", + "macr": u"\u00AF", + "mdash;": u"\u2014", + "micro;": u"\u00B5", + "micro": u"\u00B5", + "middot;": u"\u00B7", + "middot": u"\u00B7", + "minus;": u"\u2212", + "mu;": u"\u03BC", + "nabla;": u"\u2207", + "nbsp;": u"\u00A0", + "nbsp": u"\u00A0", + "ndash;": u"\u2013", + "ne;": u"\u2260", + "ni;": u"\u220B", + "not;": u"\u00AC", + "not": u"\u00AC", + "notin;": u"\u2209", + "nsub;": u"\u2284", + "ntilde;": u"\u00F1", + "ntilde": u"\u00F1", + "nu;": u"\u03BD", + "oacute;": u"\u00F3", + "oacute": u"\u00F3", + "ocirc;": u"\u00F4", + "ocirc": u"\u00F4", + "oelig;": u"\u0153", + "ograve;": u"\u00F2", + "ograve": u"\u00F2", + "oline;": u"\u203E", + "omega;": u"\u03C9", + "omicron;": u"\u03BF", + "oplus;": u"\u2295", + "or;": u"\u2228", + "ordf;": u"\u00AA", + "ordf": u"\u00AA", + "ordm;": u"\u00BA", + "ordm": u"\u00BA", + "oslash;": u"\u00F8", + "oslash": u"\u00F8", + "otilde;": u"\u00F5", + "otilde": u"\u00F5", + "otimes;": u"\u2297", + "ouml;": u"\u00F6", + "ouml": u"\u00F6", + "para;": u"\u00B6", + "para": u"\u00B6", + "part;": u"\u2202", + "permil;": u"\u2030", + "perp;": u"\u22A5", + "phi;": u"\u03C6", + "pi;": u"\u03C0", + "piv;": u"\u03D6", + "plusmn;": u"\u00B1", + "plusmn": u"\u00B1", + "pound;": u"\u00A3", + "pound": u"\u00A3", + "prime;": u"\u2032", + "prod;": u"\u220F", + "prop;": u"\u221D", + "psi;": u"\u03C8", + "quot;": u"\u0022", + "quot": u"\u0022", + "rArr;": u"\u21D2", + "radic;": u"\u221A", + "rang;": u"\u27E9", + "raquo;": u"\u00BB", + "raquo": u"\u00BB", + "rarr;": u"\u2192", + "rceil;": u"\u2309", + "rdquo;": u"\u201D", + "real;": u"\u211C", + "reg;": u"\u00AE", + "reg": u"\u00AE", + "rfloor;": u"\u230B", + "rho;": u"\u03C1", + "rlm;": u"\u200F", + "rsaquo;": u"\u203A", + "rsquo;": u"\u2019", + "sbquo;": u"\u201A", + "scaron;": u"\u0161", + "sdot;": u"\u22C5", + "sect;": u"\u00A7", + "sect": u"\u00A7", + "shy;": u"\u00AD", + "shy": u"\u00AD", + "sigma;": u"\u03C3", + "sigmaf;": u"\u03C2", + "sim;": u"\u223C", + "spades;": u"\u2660", + "sub;": u"\u2282", + "sube;": u"\u2286", + "sum;": u"\u2211", + "sup1;": u"\u00B9", + "sup1": u"\u00B9", + "sup2;": u"\u00B2", + "sup2": u"\u00B2", + "sup3;": u"\u00B3", + "sup3": u"\u00B3", + "sup;": u"\u2283", + "supe;": u"\u2287", + "szlig;": u"\u00DF", + "szlig": u"\u00DF", + "tau;": u"\u03C4", + "there4;": u"\u2234", + "theta;": u"\u03B8", + "thetasym;": u"\u03D1", + "thinsp;": u"\u2009", + "thorn;": u"\u00FE", + "thorn": u"\u00FE", + "tilde;": u"\u02DC", + "times;": u"\u00D7", + "times": u"\u00D7", + "trade;": u"\u2122", + "uArr;": u"\u21D1", + "uacute;": u"\u00FA", + "uacute": u"\u00FA", + "uarr;": u"\u2191", + "ucirc;": u"\u00FB", + "ucirc": u"\u00FB", + "ugrave;": u"\u00F9", + "ugrave": u"\u00F9", + "uml;": u"\u00A8", + "uml": u"\u00A8", + "upsih;": u"\u03D2", + "upsilon;": u"\u03C5", + "uuml;": u"\u00FC", + "uuml": u"\u00FC", + "weierp;": u"\u2118", + "xi;": u"\u03BE", + "yacute;": u"\u00FD", + "yacute": u"\u00FD", + "yen;": u"\u00A5", + "yen": u"\u00A5", + "yuml;": u"\u00FF", + "yuml": u"\u00FF", + "zeta;": u"\u03B6", + "zwj;": u"\u200D", + "zwnj;": u"\u200C" +} + +replacementCharacters = { + 0x0:u"\uFFFD", + 0x0d:u"\u000A", + 0x80:u"\u20AC", + 0x81:u"\u0081", + 0x81:u"\u0081", + 0x82:u"\u201A", + 0x83:u"\u0192", + 0x84:u"\u201E", + 0x85:u"\u2026", + 0x86:u"\u2020", + 0x87:u"\u2021", + 0x88:u"\u02C6", + 0x89:u"\u2030", + 0x8A:u"\u0160", + 0x8B:u"\u2039", + 0x8C:u"\u0152", + 0x8D:u"\u008D", + 0x8E:u"\u017D", + 0x8F:u"\u008F", + 0x90:u"\u0090", + 0x91:u"\u2018", + 0x92:u"\u2019", + 0x93:u"\u201C", + 0x94:u"\u201D", + 0x95:u"\u2022", + 0x96:u"\u2013", + 0x97:u"\u2014", + 0x98:u"\u02DC", + 0x99:u"\u2122", + 0x9A:u"\u0161", + 0x9B:u"\u203A", + 0x9C:u"\u0153", + 0x9D:u"\u009D", + 0x9E:u"\u017E", + 0x9F:u"\u0178", +} + +encodings = { + '437': 'cp437', + '850': 'cp850', + '852': 'cp852', + '855': 'cp855', + '857': 'cp857', + '860': 'cp860', + '861': 'cp861', + '862': 'cp862', + '863': 'cp863', + '865': 'cp865', + '866': 'cp866', + '869': 'cp869', + 'ansix341968': 'ascii', + 'ansix341986': 'ascii', + 'arabic': 'iso8859-6', + 'ascii': 'ascii', + 'asmo708': 'iso8859-6', + 'big5': 'big5', + 'big5hkscs': 'big5hkscs', + 'chinese': 'gbk', + 'cp037': 'cp037', + 'cp1026': 'cp1026', + 'cp154': 'ptcp154', + 'cp367': 'ascii', + 'cp424': 'cp424', + 'cp437': 'cp437', + 'cp500': 'cp500', + 'cp775': 'cp775', + 'cp819': 'windows-1252', + 'cp850': 'cp850', + 'cp852': 'cp852', + 'cp855': 'cp855', + 'cp857': 'cp857', + 'cp860': 'cp860', + 'cp861': 'cp861', + 'cp862': 'cp862', + 'cp863': 'cp863', + 'cp864': 'cp864', + 'cp865': 'cp865', + 'cp866': 'cp866', + 'cp869': 'cp869', + 'cp936': 'gbk', + 'cpgr': 'cp869', + 'cpis': 'cp861', + 'csascii': 'ascii', + 'csbig5': 'big5', + 'cseuckr': 'cp949', + 'cseucpkdfmtjapanese': 'euc_jp', + 'csgb2312': 'gbk', + 'cshproman8': 'hp-roman8', + 'csibm037': 'cp037', + 'csibm1026': 'cp1026', + 'csibm424': 'cp424', + 'csibm500': 'cp500', + 'csibm855': 'cp855', + 'csibm857': 'cp857', + 'csibm860': 'cp860', + 'csibm861': 'cp861', + 'csibm863': 'cp863', + 'csibm864': 'cp864', + 'csibm865': 'cp865', + 'csibm866': 'cp866', + 'csibm869': 'cp869', + 'csiso2022jp': 'iso2022_jp', + 'csiso2022jp2': 'iso2022_jp_2', + 'csiso2022kr': 'iso2022_kr', + 'csiso58gb231280': 'gbk', + 'csisolatin1': 'windows-1252', + 'csisolatin2': 'iso8859-2', + 'csisolatin3': 'iso8859-3', + 'csisolatin4': 'iso8859-4', + 'csisolatin5': 'windows-1254', + 'csisolatin6': 'iso8859-10', + 'csisolatinarabic': 'iso8859-6', + 'csisolatincyrillic': 'iso8859-5', + 'csisolatingreek': 'iso8859-7', + 'csisolatinhebrew': 'iso8859-8', + 'cskoi8r': 'koi8-r', + 'csksc56011987': 'cp949', + 'cspc775baltic': 'cp775', + 'cspc850multilingual': 'cp850', + 'cspc862latinhebrew': 'cp862', + 'cspc8codepage437': 'cp437', + 'cspcp852': 'cp852', + 'csptcp154': 'ptcp154', + 'csshiftjis': 'shift_jis', + 'csunicode11utf7': 'utf-7', + 'cyrillic': 'iso8859-5', + 'cyrillicasian': 'ptcp154', + 'ebcdiccpbe': 'cp500', + 'ebcdiccpca': 'cp037', + 'ebcdiccpch': 'cp500', + 'ebcdiccphe': 'cp424', + 'ebcdiccpnl': 'cp037', + 'ebcdiccpus': 'cp037', + 'ebcdiccpwt': 'cp037', + 'ecma114': 'iso8859-6', + 'ecma118': 'iso8859-7', + 'elot928': 'iso8859-7', + 'eucjp': 'euc_jp', + 'euckr': 'cp949', + 'extendedunixcodepackedformatforjapanese': 'euc_jp', + 'gb18030': 'gb18030', + 'gb2312': 'gbk', + 'gb231280': 'gbk', + 'gbk': 'gbk', + 'greek': 'iso8859-7', + 'greek8': 'iso8859-7', + 'hebrew': 'iso8859-8', + 'hproman8': 'hp-roman8', + 'hzgb2312': 'hz', + 'ibm037': 'cp037', + 'ibm1026': 'cp1026', + 'ibm367': 'ascii', + 'ibm424': 'cp424', + 'ibm437': 'cp437', + 'ibm500': 'cp500', + 'ibm775': 'cp775', + 'ibm819': 'windows-1252', + 'ibm850': 'cp850', + 'ibm852': 'cp852', + 'ibm855': 'cp855', + 'ibm857': 'cp857', + 'ibm860': 'cp860', + 'ibm861': 'cp861', + 'ibm862': 'cp862', + 'ibm863': 'cp863', + 'ibm864': 'cp864', + 'ibm865': 'cp865', + 'ibm866': 'cp866', + 'ibm869': 'cp869', + 'iso2022jp': 'iso2022_jp', + 'iso2022jp2': 'iso2022_jp_2', + 'iso2022kr': 'iso2022_kr', + 'iso646irv1991': 'ascii', + 'iso646us': 'ascii', + 'iso88591': 'windows-1252', + 'iso885910': 'iso8859-10', + 'iso8859101992': 'iso8859-10', + 'iso885911987': 'windows-1252', + 'iso885913': 'iso8859-13', + 'iso885914': 'iso8859-14', + 'iso8859141998': 'iso8859-14', + 'iso885915': 'iso8859-15', + 'iso885916': 'iso8859-16', + 'iso8859162001': 'iso8859-16', + 'iso88592': 'iso8859-2', + 'iso885921987': 'iso8859-2', + 'iso88593': 'iso8859-3', + 'iso885931988': 'iso8859-3', + 'iso88594': 'iso8859-4', + 'iso885941988': 'iso8859-4', + 'iso88595': 'iso8859-5', + 'iso885951988': 'iso8859-5', + 'iso88596': 'iso8859-6', + 'iso885961987': 'iso8859-6', + 'iso88597': 'iso8859-7', + 'iso885971987': 'iso8859-7', + 'iso88598': 'iso8859-8', + 'iso885981988': 'iso8859-8', + 'iso88599': 'windows-1254', + 'iso885991989': 'windows-1254', + 'isoceltic': 'iso8859-14', + 'isoir100': 'windows-1252', + 'isoir101': 'iso8859-2', + 'isoir109': 'iso8859-3', + 'isoir110': 'iso8859-4', + 'isoir126': 'iso8859-7', + 'isoir127': 'iso8859-6', + 'isoir138': 'iso8859-8', + 'isoir144': 'iso8859-5', + 'isoir148': 'windows-1254', + 'isoir149': 'cp949', + 'isoir157': 'iso8859-10', + 'isoir199': 'iso8859-14', + 'isoir226': 'iso8859-16', + 'isoir58': 'gbk', + 'isoir6': 'ascii', + 'koi8r': 'koi8-r', + 'koi8u': 'koi8-u', + 'korean': 'cp949', + 'ksc5601': 'cp949', + 'ksc56011987': 'cp949', + 'ksc56011989': 'cp949', + 'l1': 'windows-1252', + 'l10': 'iso8859-16', + 'l2': 'iso8859-2', + 'l3': 'iso8859-3', + 'l4': 'iso8859-4', + 'l5': 'windows-1254', + 'l6': 'iso8859-10', + 'l8': 'iso8859-14', + 'latin1': 'windows-1252', + 'latin10': 'iso8859-16', + 'latin2': 'iso8859-2', + 'latin3': 'iso8859-3', + 'latin4': 'iso8859-4', + 'latin5': 'windows-1254', + 'latin6': 'iso8859-10', + 'latin8': 'iso8859-14', + 'latin9': 'iso8859-15', + 'ms936': 'gbk', + 'mskanji': 'shift_jis', + 'pt154': 'ptcp154', + 'ptcp154': 'ptcp154', + 'r8': 'hp-roman8', + 'roman8': 'hp-roman8', + 'shiftjis': 'shift_jis', + 'tis620': 'cp874', + 'unicode11utf7': 'utf-7', + 'us': 'ascii', + 'usascii': 'ascii', + 'utf16': 'utf-16', + 'utf16be': 'utf-16-be', + 'utf16le': 'utf-16-le', + 'utf8': 'utf-8', + 'windows1250': 'cp1250', + 'windows1251': 'cp1251', + 'windows1252': 'cp1252', + 'windows1253': 'cp1253', + 'windows1254': 'cp1254', + 'windows1255': 'cp1255', + 'windows1256': 'cp1256', + 'windows1257': 'cp1257', + 'windows1258': 'cp1258', + 'windows936': 'gbk', + 'x-x-big5': 'big5'} + +tokenTypes = { + "Doctype":0, + "Characters":1, + "SpaceCharacters":2, + "StartTag":3, + "EndTag":4, + "EmptyTag":5, + "Comment":6, + "ParseError":7 +} + +tagTokenTypes = frozenset((tokenTypes["StartTag"], tokenTypes["EndTag"], + tokenTypes["EmptyTag"])) + + +prefixes = dict([(v,k) for k,v in namespaces.iteritems()]) +prefixes["http://www.w3.org/1998/Math/MathML"] = "math" + +class DataLossWarning(UserWarning): + pass + +class ReparseException(Exception): + pass diff --git a/src/html5lib/filters/__init__.py b/src/html5lib/filters/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/html5lib/filters/_base.py b/src/html5lib/filters/_base.py new file mode 100644 index 0000000000..bca94ada40 --- /dev/null +++ b/src/html5lib/filters/_base.py @@ -0,0 +1,10 @@ + +class Filter(object): + def __init__(self, source): + self.source = source + + def __iter__(self): + return iter(self.source) + + def __getattr__(self, name): + return getattr(self.source, name) diff --git a/src/html5lib/filters/formfiller.py b/src/html5lib/filters/formfiller.py new file mode 100644 index 0000000000..940017149b --- /dev/null +++ b/src/html5lib/filters/formfiller.py @@ -0,0 +1,127 @@ +# +# The goal is to finally have a form filler where you pass data for +# each form, using the algorithm for "Seeding a form with initial values" +# See http://www.whatwg.org/specs/web-forms/current-work/#seeding +# + +import _base + +from html5lib.constants import spaceCharacters +spaceCharacters = u"".join(spaceCharacters) + +class SimpleFilter(_base.Filter): + def __init__(self, source, fieldStorage): + _base.Filter.__init__(self, source) + self.fieldStorage = fieldStorage + + def __iter__(self): + field_indices = {} + state = None + field_name = None + for token in _base.Filter.__iter__(self): + type = token["type"] + if type in ("StartTag", "EmptyTag"): + name = token["name"].lower() + if name == "input": + field_name = None + field_type = None + input_value_index = -1 + input_checked_index = -1 + for i,(n,v) in enumerate(token["data"]): + n = n.lower() + if n == u"name": + field_name = v.strip(spaceCharacters) + elif n == u"type": + field_type = v.strip(spaceCharacters) + elif n == u"checked": + input_checked_index = i + elif n == u"value": + input_value_index = i + + value_list = self.fieldStorage.getlist(field_name) + field_index = field_indices.setdefault(field_name, 0) + if field_index < len(value_list): + value = value_list[field_index] + else: + value = "" + + if field_type in (u"checkbox", u"radio"): + if value_list: + if token["data"][input_value_index][1] == value: + if input_checked_index < 0: + token["data"].append((u"checked", u"")) + field_indices[field_name] = field_index + 1 + elif input_checked_index >= 0: + del token["data"][input_checked_index] + + elif field_type not in (u"button", u"submit", u"reset"): + if input_value_index >= 0: + token["data"][input_value_index] = (u"value", value) + else: + token["data"].append((u"value", value)) + field_indices[field_name] = field_index + 1 + + field_type = None + field_name = None + + elif name == "textarea": + field_type = "textarea" + field_name = dict((token["data"])[::-1])["name"] + + elif name == "select": + field_type = "select" + attributes = dict(token["data"][::-1]) + field_name = attributes.get("name") + is_select_multiple = "multiple" in attributes + is_selected_option_found = False + + elif field_type == "select" and field_name and name == "option": + option_selected_index = -1 + option_value = None + for i,(n,v) in enumerate(token["data"]): + n = n.lower() + if n == "selected": + option_selected_index = i + elif n == "value": + option_value = v.strip(spaceCharacters) + if option_value is None: + raise NotImplementedError("<option>s without a value= attribute") + else: + value_list = self.fieldStorage.getlist(field_name) + if value_list: + field_index = field_indices.setdefault(field_name, 0) + if field_index < len(value_list): + value = value_list[field_index] + else: + value = "" + if (is_select_multiple or not is_selected_option_found) and option_value == value: + if option_selected_index < 0: + token["data"].append((u"selected", u"")) + field_indices[field_name] = field_index + 1 + is_selected_option_found = True + elif option_selected_index >= 0: + del token["data"][option_selected_index] + + elif field_type is not None and field_name and type == "EndTag": + name = token["name"].lower() + if name == field_type: + if name == "textarea": + value_list = self.fieldStorage.getlist(field_name) + if value_list: + field_index = field_indices.setdefault(field_name, 0) + if field_index < len(value_list): + value = value_list[field_index] + else: + value = "" + yield {"type": "Characters", "data": value} + field_indices[field_name] = field_index + 1 + + field_name = None + + elif name == "option" and field_type == "select": + pass # TODO: part of "option without value= attribute" processing + + elif field_type == "textarea": + continue # ignore token + + yield token diff --git a/src/html5lib/filters/inject_meta_charset.py b/src/html5lib/filters/inject_meta_charset.py new file mode 100644 index 0000000000..35a2d95f21 --- /dev/null +++ b/src/html5lib/filters/inject_meta_charset.py @@ -0,0 +1,63 @@ +import _base + +class Filter(_base.Filter): + def __init__(self, source, encoding): + _base.Filter.__init__(self, source) + self.encoding = encoding + + def __iter__(self): + state = "pre_head" + meta_found = (self.encoding is None) + pending = [] + + for token in _base.Filter.__iter__(self): + type = token["type"] + if type == "StartTag": + if token["name"].lower() == "head": + state = "in_head" + + elif type == "EmptyTag": + if token["name"].lower() == "meta": + # replace charset with actual encoding + has_http_equiv_content_type = False + content_index = -1 + for i,(name,value) in enumerate(token["data"]): + if name.lower() == 'charset': + token["data"][i] = (u'charset', self.encoding) + meta_found = True + break + elif name == 'http-equiv' and value.lower() == 'content-type': + has_http_equiv_content_type = True + elif name == 'content': + content_index = i + else: + if has_http_equiv_content_type and content_index >= 0: + token["data"][content_index] = (u'content', u'text/html; charset=%s' % self.encoding) + meta_found = True + + elif token["name"].lower() == "head" and not meta_found: + # insert meta into empty head + yield {"type": "StartTag", "name": "head", + "data": token["data"]} + yield {"type": "EmptyTag", "name": "meta", + "data": [["charset", self.encoding]]} + yield {"type": "EndTag", "name": "head"} + meta_found = True + continue + + elif type == "EndTag": + if token["name"].lower() == "head" and pending: + # insert meta into head (if necessary) and flush pending queue + yield pending.pop(0) + if not meta_found: + yield {"type": "EmptyTag", "name": "meta", + "data": [["charset", self.encoding]]} + while pending: + yield pending.pop(0) + meta_found = True + state = "post_head" + + if state == "in_head": + pending.append(token) + else: + yield token diff --git a/src/html5lib/filters/lint.py b/src/html5lib/filters/lint.py new file mode 100644 index 0000000000..ea5c619f15 --- /dev/null +++ b/src/html5lib/filters/lint.py @@ -0,0 +1,88 @@ +from gettext import gettext +_ = gettext + +import _base +from html5lib.constants import cdataElements, rcdataElements, voidElements + +from html5lib.constants import spaceCharacters +spaceCharacters = u"".join(spaceCharacters) + +class LintError(Exception): pass + +class Filter(_base.Filter): + def __iter__(self): + open_elements = [] + contentModelFlag = "PCDATA" + for token in _base.Filter.__iter__(self): + type = token["type"] + if type in ("StartTag", "EmptyTag"): + name = token["name"] + if contentModelFlag != "PCDATA": + raise LintError(_("StartTag not in PCDATA content model flag: %s") % name) + if not isinstance(name, unicode): + raise LintError(_(u"Tag name is not a string: %r") % name) + if not name: + raise LintError(_(u"Empty tag name")) + if type == "StartTag" and name in voidElements: + raise LintError(_(u"Void element reported as StartTag token: %s") % name) + elif type == "EmptyTag" and name not in voidElements: + raise LintError(_(u"Non-void element reported as EmptyTag token: %s") % token["name"]) + if type == "StartTag": + open_elements.append(name) + for name, value in token["data"]: + if not isinstance(name, unicode): + raise LintError(_("Attribute name is not a string: %r") % name) + if not name: + raise LintError(_(u"Empty attribute name")) + if not isinstance(value, unicode): + raise LintError(_("Attribute value is not a string: %r") % value) + if name in cdataElements: + contentModelFlag = "CDATA" + elif name in rcdataElements: + contentModelFlag = "RCDATA" + elif name == "plaintext": + contentModelFlag = "PLAINTEXT" + + elif type == "EndTag": + name = token["name"] + if not isinstance(name, unicode): + raise LintError(_(u"Tag name is not a string: %r") % name) + if not name: + raise LintError(_(u"Empty tag name")) + if name in voidElements: + raise LintError(_(u"Void element reported as EndTag token: %s") % name) + start_name = open_elements.pop() + if start_name != name: + raise LintError(_(u"EndTag (%s) does not match StartTag (%s)") % (name, start_name)) + contentModelFlag = "PCDATA" + + elif type == "Comment": + if contentModelFlag != "PCDATA": + raise LintError(_("Comment not in PCDATA content model flag")) + + elif type in ("Characters", "SpaceCharacters"): + data = token["data"] + if not isinstance(data, unicode): + raise LintError(_("Attribute name is not a string: %r") % data) + if not data: + raise LintError(_(u"%s token with empty data") % type) + if type == "SpaceCharacters": + data = data.strip(spaceCharacters) + if data: + raise LintError(_(u"Non-space character(s) found in SpaceCharacters token: ") % data) + + elif type == "Doctype": + name = token["name"] + if contentModelFlag != "PCDATA": + raise LintError(_("Doctype not in PCDATA content model flag: %s") % name) + if not isinstance(name, unicode): + raise LintError(_(u"Tag name is not a string: %r") % name) + # XXX: what to do with token["data"] ? + + elif type in ("ParseError", "SerializeError"): + pass + + else: + raise LintError(_(u"Unknown token type: %s") % type) + + yield token diff --git a/src/html5lib/filters/optionaltags.py b/src/html5lib/filters/optionaltags.py new file mode 100644 index 0000000000..a77aa72c4b --- /dev/null +++ b/src/html5lib/filters/optionaltags.py @@ -0,0 +1,202 @@ +import _base + +class Filter(_base.Filter): + def slider(self): + previous1 = previous2 = None + for token in self.source: + if previous1 is not None: + yield previous2, previous1, token + previous2 = previous1 + previous1 = token + yield previous2, previous1, None + + def __iter__(self): + for previous, token, next in self.slider(): + type = token["type"] + if type == "StartTag": + if (token["data"] or + not self.is_optional_start(token["name"], previous, next)): + yield token + elif type == "EndTag": + if not self.is_optional_end(token["name"], next): + yield token + else: + yield token + + def is_optional_start(self, tagname, previous, next): + type = next and next["type"] or None + if tagname in 'html': + # An html element's start tag may be omitted if the first thing + # inside the html element is not a space character or a comment. + return type not in ("Comment", "SpaceCharacters") + elif tagname == 'head': + # A head element's start tag may be omitted if the first thing + # inside the head element is an element. + # XXX: we also omit the start tag if the head element is empty + if type in ("StartTag", "EmptyTag"): + return True + elif type == "EndTag": + return next["name"] == "head" + elif tagname == 'body': + # A body element's start tag may be omitted if the first thing + # inside the body element is not a space character or a comment, + # except if the first thing inside the body element is a script + # or style element and the node immediately preceding the body + # element is a head element whose end tag has been omitted. + if type in ("Comment", "SpaceCharacters"): + return False + elif type == "StartTag": + # XXX: we do not look at the preceding event, so we never omit + # the body element's start tag if it's followed by a script or + # a style element. + return next["name"] not in ('script', 'style') + else: + return True + elif tagname == 'colgroup': + # A colgroup element's start tag may be omitted if the first thing + # inside the colgroup element is a col element, and if the element + # is not immediately preceeded by another colgroup element whose + # end tag has been omitted. + if type in ("StartTag", "EmptyTag"): + # XXX: we do not look at the preceding event, so instead we never + # omit the colgroup element's end tag when it is immediately + # followed by another colgroup element. See is_optional_end. + return next["name"] == "col" + else: + return False + elif tagname == 'tbody': + # A tbody element's start tag may be omitted if the first thing + # inside the tbody element is a tr element, and if the element is + # not immediately preceeded by a tbody, thead, or tfoot element + # whose end tag has been omitted. + if type == "StartTag": + # omit the thead and tfoot elements' end tag when they are + # immediately followed by a tbody element. See is_optional_end. + if previous and previous['type'] == 'EndTag' and \ + previous['name'] in ('tbody','thead','tfoot'): + return False + return next["name"] == 'tr' + else: + return False + return False + + def is_optional_end(self, tagname, next): + type = next and next["type"] or None + if tagname in ('html', 'head', 'body'): + # An html element's end tag may be omitted if the html element + # is not immediately followed by a space character or a comment. + return type not in ("Comment", "SpaceCharacters") + elif tagname in ('li', 'optgroup', 'tr'): + # A li element's end tag may be omitted if the li element is + # immediately followed by another li element or if there is + # no more content in the parent element. + # An optgroup element's end tag may be omitted if the optgroup + # element is immediately followed by another optgroup element, + # or if there is no more content in the parent element. + # A tr element's end tag may be omitted if the tr element is + # immediately followed by another tr element, or if there is + # no more content in the parent element. + if type == "StartTag": + return next["name"] == tagname + else: + return type == "EndTag" or type is None + elif tagname in ('dt', 'dd'): + # A dt element's end tag may be omitted if the dt element is + # immediately followed by another dt element or a dd element. + # A dd element's end tag may be omitted if the dd element is + # immediately followed by another dd element or a dt element, + # or if there is no more content in the parent element. + if type == "StartTag": + return next["name"] in ('dt', 'dd') + elif tagname == 'dd': + return type == "EndTag" or type is None + else: + return False + elif tagname == 'p': + # A p element's end tag may be omitted if the p element is + # immediately followed by an address, article, aside, + # blockquote, datagrid, dialog, dir, div, dl, fieldset, + # footer, form, h1, h2, h3, h4, h5, h6, header, hr, menu, + # nav, ol, p, pre, section, table, or ul, element, or if + # there is no more content in the parent element. + if type in ("StartTag", "EmptyTag"): + return next["name"] in ('address', 'article', 'aside', + 'blockquote', 'datagrid', 'dialog', + 'dir', 'div', 'dl', 'fieldset', 'footer', + 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', + 'header', 'hr', 'menu', 'nav', 'ol', + 'p', 'pre', 'section', 'table', 'ul') + else: + return type == "EndTag" or type is None + elif tagname == 'option': + # An option element's end tag may be omitted if the option + # element is immediately followed by another option element, + # or if it is immediately followed by an <code>optgroup</code> + # element, or if there is no more content in the parent + # element. + if type == "StartTag": + return next["name"] in ('option', 'optgroup') + else: + return type == "EndTag" or type is None + elif tagname in ('rt', 'rp'): + # An rt element's end tag may be omitted if the rt element is + # immediately followed by an rt or rp element, or if there is + # no more content in the parent element. + # An rp element's end tag may be omitted if the rp element is + # immediately followed by an rt or rp element, or if there is + # no more content in the parent element. + if type == "StartTag": + return next["name"] in ('rt', 'rp') + else: + return type == "EndTag" or type is None + elif tagname == 'colgroup': + # A colgroup element's end tag may be omitted if the colgroup + # element is not immediately followed by a space character or + # a comment. + if type in ("Comment", "SpaceCharacters"): + return False + elif type == "StartTag": + # XXX: we also look for an immediately following colgroup + # element. See is_optional_start. + return next["name"] != 'colgroup' + else: + return True + elif tagname in ('thead', 'tbody'): + # A thead element's end tag may be omitted if the thead element + # is immediately followed by a tbody or tfoot element. + # A tbody element's end tag may be omitted if the tbody element + # is immediately followed by a tbody or tfoot element, or if + # there is no more content in the parent element. + # A tfoot element's end tag may be omitted if the tfoot element + # is immediately followed by a tbody element, or if there is no + # more content in the parent element. + # XXX: we never omit the end tag when the following element is + # a tbody. See is_optional_start. + if type == "StartTag": + return next["name"] in ['tbody', 'tfoot'] + elif tagname == 'tbody': + return type == "EndTag" or type is None + else: + return False + elif tagname == 'tfoot': + # A tfoot element's end tag may be omitted if the tfoot element + # is immediately followed by a tbody element, or if there is no + # more content in the parent element. + # XXX: we never omit the end tag when the following element is + # a tbody. See is_optional_start. + if type == "StartTag": + return next["name"] == 'tbody' + else: + return type == "EndTag" or type is None + elif tagname in ('td', 'th'): + # A td element's end tag may be omitted if the td element is + # immediately followed by a td or th element, or if there is + # no more content in the parent element. + # A th element's end tag may be omitted if the th element is + # immediately followed by a td or th element, or if there is + # no more content in the parent element. + if type == "StartTag": + return next["name"] in ('td', 'th') + else: + return type == "EndTag" or type is None + return False diff --git a/src/html5lib/filters/sanitizer.py b/src/html5lib/filters/sanitizer.py new file mode 100644 index 0000000000..00235278a1 --- /dev/null +++ b/src/html5lib/filters/sanitizer.py @@ -0,0 +1,8 @@ +import _base +from html5lib.sanitizer import HTMLSanitizerMixin + +class Filter(_base.Filter, HTMLSanitizerMixin): + def __iter__(self): + for token in _base.Filter.__iter__(self): + token = self.sanitize_token(token) + if token: yield token diff --git a/src/html5lib/filters/whitespace.py b/src/html5lib/filters/whitespace.py new file mode 100644 index 0000000000..74d6f4d810 --- /dev/null +++ b/src/html5lib/filters/whitespace.py @@ -0,0 +1,41 @@ +try: + frozenset +except NameError: + # Import from the sets module for python 2.3 + from sets import ImmutableSet as frozenset + +import re + +import _base +from html5lib.constants import rcdataElements, spaceCharacters +spaceCharacters = u"".join(spaceCharacters) + +SPACES_REGEX = re.compile(u"[%s]+" % spaceCharacters) + +class Filter(_base.Filter): + + spacePreserveElements = frozenset(["pre", "textarea"] + list(rcdataElements)) + + def __iter__(self): + preserve = 0 + for token in _base.Filter.__iter__(self): + type = token["type"] + if type == "StartTag" \ + and (preserve or token["name"] in self.spacePreserveElements): + preserve += 1 + + elif type == "EndTag" and preserve: + preserve -= 1 + + elif not preserve and type == "SpaceCharacters" and token["data"]: + # Test on token["data"] above to not introduce spaces where there were not + token["data"] = u" " + + elif not preserve and type == "Characters": + token["data"] = collapse_spaces(token["data"]) + + yield token + +def collapse_spaces(text): + return SPACES_REGEX.sub(' ', text) + diff --git a/src/html5lib/html5parser.py b/src/html5lib/html5parser.py new file mode 100644 index 0000000000..c0855362da --- /dev/null +++ b/src/html5lib/html5parser.py @@ -0,0 +1,2625 @@ +try: + frozenset +except NameError: + # Import from the sets module for python 2.3 + from sets import Set as set + from sets import ImmutableSet as frozenset + +try: + any +except: + # Implement 'any' for python 2.4 and previous + def any(iterable): + for element in iterable: + if element: + return True + return False + +import sys + +import inputstream +import tokenizer + +import treebuilders +from treebuilders._base import Marker +from treebuilders import simpletree + +import utils +from constants import spaceCharacters, asciiUpper2Lower +from constants import scopingElements, formattingElements, specialElements +from constants import headingElements, tableInsertModeElements +from constants import cdataElements, rcdataElements, voidElements +from constants import tokenTypes, ReparseException, namespaces + +def parse(doc, treebuilder="simpletree", encoding=None, + namespaceHTMLElements=True): + tb = treebuilders.getTreeBuilder(treebuilder) + p = HTMLParser(tb, namespaceHTMLElements=namespaceHTMLElements) + return p.parse(doc, encoding=encoding) + +def parseFragment(doc, container="div", treebuilder="simpletree", encoding=None, + namespaceHTMLElements=True): + tb = treebuilders.getTreeBuilder(treebuilder) + p = HTMLParser(tb, namespaceHTMLElements=namespaceHTMLElements) + return p.parseFragment(doc, container=container, encoding=encoding) + +class HTMLParser(object): + """HTML parser. Generates a tree structure from a stream of (possibly + malformed) HTML""" + + def __init__(self, tree = simpletree.TreeBuilder, + tokenizer = tokenizer.HTMLTokenizer, strict = False, + namespaceHTMLElements = True): + """ + strict - raise an exception when a parse error is encountered + + tree - a treebuilder class controlling the type of tree that will be + returned. Built in treebuilders can be accessed through + html5lib.treebuilders.getTreeBuilder(treeType) + + tokenizer - a class that provides a stream of tokens to the treebuilder. + This may be replaced for e.g. a sanitizer which converts some tags to + text + """ + + # Raise an exception on the first error encountered + self.strict = strict + + self.tree = tree(namespaceHTMLElements) + self.tokenizer_class = tokenizer + self.errors = [] + + self.phases = { + "initial": InitialPhase(self, self.tree), + "beforeHtml": BeforeHtmlPhase(self, self.tree), + "beforeHead": BeforeHeadPhase(self, self.tree), + "inHead": InHeadPhase(self, self.tree), + # XXX "inHeadNoscript": InHeadNoScriptPhase(self, self.tree), + "afterHead": AfterHeadPhase(self, self.tree), + "inBody": InBodyPhase(self, self.tree), + "text": TextPhase(self, self.tree), + "inTable": InTablePhase(self, self.tree), + "inTableText": InTableTextPhase(self, self.tree), + "inCaption": InCaptionPhase(self, self.tree), + "inColumnGroup": InColumnGroupPhase(self, self.tree), + "inTableBody": InTableBodyPhase(self, self.tree), + "inRow": InRowPhase(self, self.tree), + "inCell": InCellPhase(self, self.tree), + "inSelect": InSelectPhase(self, self.tree), + "inSelectInTable": InSelectInTablePhase(self, self.tree), + "inForeignContent": InForeignContentPhase(self, self.tree), + "afterBody": AfterBodyPhase(self, self.tree), + "inFrameset": InFramesetPhase(self, self.tree), + "afterFrameset": AfterFramesetPhase(self, self.tree), + "afterAfterBody": AfterAfterBodyPhase(self, self.tree), + "afterAfterFrameset": AfterAfterFramesetPhase(self, self.tree), + # XXX after after frameset + } + + def _parse(self, stream, innerHTML=False, container="div", + encoding=None, parseMeta=True, useChardet=True, **kwargs): + + self.innerHTMLMode = innerHTML + self.container = container + self.tokenizer = self.tokenizer_class(stream, encoding=encoding, + parseMeta=parseMeta, + useChardet=useChardet, **kwargs) + self.reset() + + while True: + try: + self.mainLoop() + break + except ReparseException, e: + self.reset() + + def reset(self): + self.tree.reset() + self.firstStartTag = False + self.errors = [] + # "quirks" / "limited quirks" / "no quirks" + self.compatMode = "no quirks" + + if self.innerHTMLMode: + self.innerHTML = self.container.lower() + + if self.innerHTML in cdataElements: + self.tokenizer.state = self.tokenizer.rcdataState + elif self.innerHTML in rcdataElements: + self.tokenizer.state = self.tokenizer.rawtextState + elif self.innerHTML == 'plaintext': + self.tokenizer.state = self.tokenizer.plaintextState + else: + # state already is data state + # self.tokenizer.state = self.tokenizer.dataState + pass + self.phase = self.phases["beforeHtml"] + self.phase.insertHtmlElement() + self.resetInsertionMode() + else: + self.innerHTML = False + self.phase = self.phases["initial"] + + self.lastPhase = None + self.secondaryPhase = None + + self.beforeRCDataPhase = None + + self.framesetOK = True + + def mainLoop(self): + (CharactersToken, + SpaceCharactersToken, + StartTagToken, + EndTagToken, + CommentToken, + DoctypeToken) = (tokenTypes["Characters"], + tokenTypes["SpaceCharacters"], + tokenTypes["StartTag"], + tokenTypes["EndTag"], + tokenTypes["Comment"], + tokenTypes["Doctype"]) + + CharactersToken = tokenTypes["Characters"] + SpaceCharactersToken = tokenTypes["SpaceCharacters"] + StartTagToken = tokenTypes["StartTag"] + EndTagToken = tokenTypes["EndTag"] + CommentToken = tokenTypes["Comment"] + DoctypeToken = tokenTypes["Doctype"] + + + for token in self.normalizedTokens(): + type = token["type"] + if type == CharactersToken: + self.phase.processCharacters(token) + elif type == SpaceCharactersToken: + self.phase.processSpaceCharacters(token) + elif type == StartTagToken: + self.selfClosingAcknowledged = False + self.phase.processStartTag(token) + if (token["selfClosing"] + and not self.selfClosingAcknowledged): + self.parseError("non-void-element-with-trailing-solidus", + {"name":token["name"]}) + elif type == EndTagToken: + self.phase.processEndTag(token) + elif type == CommentToken: + self.phase.processComment(token) + elif type == DoctypeToken: + self.phase.processDoctype(token) + else: + self.parseError(token["data"], token.get("datavars", {})) + + # When the loop finishes it's EOF + self.phase.processEOF() + + def normalizedTokens(self): + for token in self.tokenizer: + yield self.normalizeToken(token) + + def parse(self, stream, encoding=None, parseMeta=True, useChardet=True): + """Parse a HTML document into a well-formed tree + + stream - a filelike object or string containing the HTML to be parsed + + The optional encoding parameter must be a string that indicates + the encoding. If specified, that encoding will be used, + regardless of any BOM or later declaration (such as in a meta + element) + """ + self._parse(stream, innerHTML=False, encoding=encoding, + parseMeta=parseMeta, useChardet=useChardet) + return self.tree.getDocument() + + def parseFragment(self, stream, container="div", encoding=None, + parseMeta=False, useChardet=True): + """Parse a HTML fragment into a well-formed tree fragment + + container - name of the element we're setting the innerHTML property + if set to None, default to 'div' + + stream - a filelike object or string containing the HTML to be parsed + + The optional encoding parameter must be a string that indicates + the encoding. If specified, that encoding will be used, + regardless of any BOM or later declaration (such as in a meta + element) + """ + self._parse(stream, True, container=container, encoding=encoding) + return self.tree.getFragment() + + def parseError(self, errorcode="XXX-undefined-error", datavars={}): + # XXX The idea is to make errorcode mandatory. + self.errors.append((self.tokenizer.stream.position(), errorcode, datavars)) + if self.strict: + raise ParseError + + def normalizeToken(self, token): + """ HTML5 specific normalizations to the token stream """ + + if token["type"] == tokenTypes["StartTag"]: + token["data"] = dict(token["data"][::-1]) + + return token + + def adjustMathMLAttributes(self, token): + replacements = {"definitionurl":"definitionURL"} + for k,v in replacements.iteritems(): + if k in token["data"]: + token["data"][v] = token["data"][k] + del token["data"][k] + + def adjustSVGAttributes(self, token): + replacements = { + "attributename" : "attributeName", + "attributetype" : "attributeType", + "basefrequency" : "baseFrequency", + "baseprofile" : "baseProfile", + "calcmode" : "calcMode", + "clippathunits" : "clipPathUnits", + "contentscripttype" : "contentScriptType", + "contentstyletype" : "contentStyleType", + "diffuseconstant" : "diffuseConstant", + "edgemode" : "edgeMode", + "externalresourcesrequired" : "externalResourcesRequired", + "filterres" : "filterRes", + "filterunits" : "filterUnits", + "glyphref" : "glyphRef", + "gradienttransform" : "gradientTransform", + "gradientunits" : "gradientUnits", + "kernelmatrix" : "kernelMatrix", + "kernelunitlength" : "kernelUnitLength", + "keypoints" : "keyPoints", + "keysplines" : "keySplines", + "keytimes" : "keyTimes", + "lengthadjust" : "lengthAdjust", + "limitingconeangle" : "limitingConeAngle", + "markerheight" : "markerHeight", + "markerunits" : "markerUnits", + "markerwidth" : "markerWidth", + "maskcontentunits" : "maskContentUnits", + "maskunits" : "maskUnits", + "numoctaves" : "numOctaves", + "pathlength" : "pathLength", + "patterncontentunits" : "patternContentUnits", + "patterntransform" : "patternTransform", + "patternunits" : "patternUnits", + "pointsatx" : "pointsAtX", + "pointsaty" : "pointsAtY", + "pointsatz" : "pointsAtZ", + "preservealpha" : "preserveAlpha", + "preserveaspectratio" : "preserveAspectRatio", + "primitiveunits" : "primitiveUnits", + "refx" : "refX", + "refy" : "refY", + "repeatcount" : "repeatCount", + "repeatdur" : "repeatDur", + "requiredextensions" : "requiredExtensions", + "requiredfeatures" : "requiredFeatures", + "specularconstant" : "specularConstant", + "specularexponent" : "specularExponent", + "spreadmethod" : "spreadMethod", + "startoffset" : "startOffset", + "stddeviation" : "stdDeviation", + "stitchtiles" : "stitchTiles", + "surfacescale" : "surfaceScale", + "systemlanguage" : "systemLanguage", + "tablevalues" : "tableValues", + "targetx" : "targetX", + "targety" : "targetY", + "textlength" : "textLength", + "viewbox" : "viewBox", + "viewtarget" : "viewTarget", + "xchannelselector" : "xChannelSelector", + "ychannelselector" : "yChannelSelector", + "zoomandpan" : "zoomAndPan" + } + for originalName in token["data"].keys(): + if originalName in replacements: + svgName = replacements[originalName] + token["data"][svgName] = token["data"][originalName] + del token["data"][originalName] + + def adjustForeignAttributes(self, token): + replacements = { + "xlink:actuate":("xlink", "actuate", namespaces["xlink"]), + "xlink:arcrole":("xlink", "arcrole", namespaces["xlink"]), + "xlink:href":("xlink", "href", namespaces["xlink"]), + "xlink:role":("xlink", "role", namespaces["xlink"]), + "xlink:show":("xlink", "show", namespaces["xlink"]), + "xlink:title":("xlink", "title", namespaces["xlink"]), + "xlink:type":("xlink", "type", namespaces["xlink"]), + "xml:base":("xml", "base", namespaces["xml"]), + "xml:lang":("xml", "lang", namespaces["xml"]), + "xml:space":("xml", "space", namespaces["xml"]), + "xmlns":(None, "xmlns", namespaces["xmlns"]), + "xmlns:xlink":("xmlns", "xlink", namespaces["xmlns"]) + } + + for originalName in token["data"].iterkeys(): + if originalName in replacements: + foreignName = replacements[originalName] + token["data"][foreignName] = token["data"][originalName] + del token["data"][originalName] + + def resetInsertionMode(self): + # The name of this method is mostly historical. (It's also used in the + # specification.) + last = False + newModes = { + "select":"inSelect", + "td":"inCell", + "th":"inCell", + "tr":"inRow", + "tbody":"inTableBody", + "thead":"inTableBody", + "tfoot":"inTableBody", + "caption":"inCaption", + "colgroup":"inColumnGroup", + "table":"inTable", + "head":"inBody", + "body":"inBody", + "frameset":"inFrameset" + } + for node in self.tree.openElements[::-1]: + nodeName = node.name + if node == self.tree.openElements[0]: + last = True + if nodeName not in ['td', 'th']: + # XXX + assert self.innerHTML + nodeName = self.innerHTML + # Check for conditions that should only happen in the innerHTML + # case + if nodeName in ("select", "colgroup", "head", "frameset"): + # XXX + assert self.innerHTML + if nodeName in newModes: + self.phase = self.phases[newModes[nodeName]] + break + elif node.namespace in (namespaces["mathml"], namespaces["svg"]): + self.phase = self.phases["inForeignContent"] + self.secondaryPhase = self.phases["inBody"] + break + elif nodeName == "html": + if self.tree.headPointer is None: + self.phase = self.phases["beforeHead"] + else: + self.phase = self.phases["afterHead"] + break + elif last: + self.phase = self.phases["inBody"] + break + + def parseRCDataRawtext(self, token, contentType): + """Generic RCDATA/RAWTEXT Parsing algorithm + contentType - RCDATA or RAWTEXT + """ + assert contentType in ("RAWTEXT", "RCDATA") + + element = self.tree.insertElement(token) + + if contentType == "RAWTEXT": + self.tokenizer.state = self.tokenizer.rawtextState + else: + self.tokenizer.state = self.tokenizer.rcdataState + + self.originalPhase = self.phase + + self.phase = self.phases["text"] + +class Phase(object): + """Base class for helper object that implements each phase of processing + """ + # Order should be (they can be omitted): + # * EOF + # * Comment + # * Doctype + # * SpaceCharacters + # * Characters + # * StartTag + # - startTag* methods + # * EndTag + # - endTag* methods + + def __init__(self, parser, tree): + self.parser = parser + self.tree = tree + + def processEOF(self): + raise NotImplementedError + + def processComment(self, token): + # For most phases the following is correct. Where it's not it will be + # overridden. + self.tree.insertComment(token, self.tree.openElements[-1]) + + def processDoctype(self, token): + self.parser.parseError("unexpected-doctype") + + def processCharacters(self, token): + self.tree.insertText(token["data"]) + + def processSpaceCharacters(self, token): + self.tree.insertText(token["data"]) + + def processStartTag(self, token): + self.startTagHandler[token["name"]](token) + + def startTagHtml(self, token): + if self.parser.firstStartTag == False and token["name"] == "html": + self.parser.parseError("non-html-root") + # XXX Need a check here to see if the first start tag token emitted is + # this token... If it's not, invoke self.parser.parseError(). + for attr, value in token["data"].iteritems(): + if attr not in self.tree.openElements[0].attributes: + self.tree.openElements[0].attributes[attr] = value + self.parser.firstStartTag = False + + def processEndTag(self, token): + self.endTagHandler[token["name"]](token) + +class InitialPhase(Phase): + def processSpaceCharacters(self, token): + pass + + def processComment(self, token): + self.tree.insertComment(token, self.tree.document) + + def processDoctype(self, token): + name = token["name"] + publicId = token["publicId"] + systemId = token["systemId"] + correct = token["correct"] + + if (name != "html" or publicId != None or + systemId != None and systemId != "about:legacy-compat"): + self.parser.parseError("unknown-doctype") + + if publicId is None: + publicId = "" + + self.tree.insertDoctype(token) + + if publicId != "": + publicId = publicId.translate(asciiUpper2Lower) + + if (not correct or token["name"] != "html" + or publicId.startswith( + ("+//silmaril//dtd html pro v0r11 19970101//", + "-//advasoft ltd//dtd html 3.0 aswedit + extensions//", + "-//as//dtd html 3.0 aswedit + extensions//", + "-//ietf//dtd html 2.0 level 1//", + "-//ietf//dtd html 2.0 level 2//", + "-//ietf//dtd html 2.0 strict level 1//", + "-//ietf//dtd html 2.0 strict level 2//", + "-//ietf//dtd html 2.0 strict//", + "-//ietf//dtd html 2.0//", + "-//ietf//dtd html 2.1e//", + "-//ietf//dtd html 3.0//", + "-//ietf//dtd html 3.2 final//", + "-//ietf//dtd html 3.2//", + "-//ietf//dtd html 3//", + "-//ietf//dtd html level 0//", + "-//ietf//dtd html level 1//", + "-//ietf//dtd html level 2//", + "-//ietf//dtd html level 3//", + "-//ietf//dtd html strict level 0//", + "-//ietf//dtd html strict level 1//", + "-//ietf//dtd html strict level 2//", + "-//ietf//dtd html strict level 3//", + "-//ietf//dtd html strict//", + "-//ietf//dtd html//", + "-//metrius//dtd metrius presentational//", + "-//microsoft//dtd internet explorer 2.0 html strict//", + "-//microsoft//dtd internet explorer 2.0 html//", + "-//microsoft//dtd internet explorer 2.0 tables//", + "-//microsoft//dtd internet explorer 3.0 html strict//", + "-//microsoft//dtd internet explorer 3.0 html//", + "-//microsoft//dtd internet explorer 3.0 tables//", + "-//netscape comm. corp.//dtd html//", + "-//netscape comm. corp.//dtd strict html//", + "-//o'reilly and associates//dtd html 2.0//", + "-//o'reilly and associates//dtd html extended 1.0//", + "-//o'reilly and associates//dtd html extended relaxed 1.0//", + "-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//", + "-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//", + "-//spyglass//dtd html 2.0 extended//", + "-//sq//dtd html 2.0 hotmetal + extensions//", + "-//sun microsystems corp.//dtd hotjava html//", + "-//sun microsystems corp.//dtd hotjava strict html//", + "-//w3c//dtd html 3 1995-03-24//", + "-//w3c//dtd html 3.2 draft//", + "-//w3c//dtd html 3.2 final//", + "-//w3c//dtd html 3.2//", + "-//w3c//dtd html 3.2s draft//", + "-//w3c//dtd html 4.0 frameset//", + "-//w3c//dtd html 4.0 transitional//", + "-//w3c//dtd html experimental 19960712//", + "-//w3c//dtd html experimental 970421//", + "-//w3c//dtd w3 html//", + "-//w3o//dtd w3 html 3.0//", + "-//webtechs//dtd mozilla html 2.0//", + "-//webtechs//dtd mozilla html//")) + or publicId in + ("-//w3o//dtd w3 html strict 3.0//en//", + "-/w3c/dtd html 4.0 transitional/en", + "html") + or publicId.startswith( + ("-//w3c//dtd html 4.01 frameset//", + "-//w3c//dtd html 4.01 transitional//")) and + systemId == None + or systemId and systemId.lower() == "http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd"): + self.parser.compatMode = "quirks" + elif (publicId.startswith( + ("-//w3c//dtd xhtml 1.0 frameset//", + "-//w3c//dtd xhtml 1.0 transitional//")) + or publicId.startswith( + ("-//w3c//dtd html 4.01 frameset//", + "-//w3c//dtd html 4.01 transitional//")) and + systemId != None): + self.parser.compatMode = "limited quirks" + + self.parser.phase = self.parser.phases["beforeHtml"] + + def anythingElse(self): + self.parser.compatMode = "quirks" + self.parser.phase = self.parser.phases["beforeHtml"] + + def processCharacters(self, token): + self.parser.parseError("expected-doctype-but-got-chars") + self.anythingElse() + self.parser.phase.processCharacters(token) + + def processStartTag(self, token): + self.parser.parseError("expected-doctype-but-got-start-tag", + {"name": token["name"]}) + self.anythingElse() + self.parser.phase.processStartTag(token) + + def processEndTag(self, token): + self.parser.parseError("expected-doctype-but-got-end-tag", + {"name": token["name"]}) + self.anythingElse() + self.parser.phase.processEndTag(token) + + def processEOF(self): + self.parser.parseError("expected-doctype-but-got-eof") + self.anythingElse() + self.parser.phase.processEOF() + + +class BeforeHtmlPhase(Phase): + # helper methods + def insertHtmlElement(self): + self.tree.insertRoot(impliedTagToken("html", "StartTag")) + self.parser.phase = self.parser.phases["beforeHead"] + + # other + def processEOF(self): + self.insertHtmlElement() + self.parser.phase.processEOF() + + def processComment(self, token): + self.tree.insertComment(token, self.tree.document) + + def processSpaceCharacters(self, token): + pass + + def processCharacters(self, token): + self.insertHtmlElement() + self.parser.phase.processCharacters(token) + + def processStartTag(self, token): + if token["name"] == "html": + self.parser.firstStartTag = True + self.insertHtmlElement() + self.parser.phase.processStartTag(token) + + def processEndTag(self, token): + if token["name"] not in ("head", "body", "html", "br"): + self.parser.parseError("unexpected-end-tag-before-html", + {"name": token["name"]}) + else: + self.insertHtmlElement() + self.parser.phase.processEndTag(token) + + +class BeforeHeadPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("head", self.startTagHead) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = utils.MethodDispatcher([ + (("head", "body", "html", "br"), self.endTagImplyHead) + ]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + self.startTagHead(impliedTagToken("head", "StartTag")) + self.parser.phase.processEOF() + + def processSpaceCharacters(self, token): + pass + + def processCharacters(self, token): + self.startTagHead(impliedTagToken("head", "StartTag")) + self.parser.phase.processCharacters(token) + + def startTagHtml(self, token): + self.parser.phases["inBody"].processStartTag(token) + + def startTagHead(self, token): + self.tree.insertElement(token) + self.tree.headPointer = self.tree.openElements[-1] + self.parser.phase = self.parser.phases["inHead"] + + def startTagOther(self, token): + self.startTagHead(impliedTagToken("head", "StartTag")) + self.parser.phase.processStartTag(token) + + def endTagImplyHead(self, token): + self.startTagHead(impliedTagToken("head", "StartTag")) + self.parser.phase.processEndTag(token) + + def endTagOther(self, token): + self.parser.parseError("end-tag-after-implied-root", + {"name": token["name"]}) + +class InHeadPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("title", self.startTagTitle), + (("noscript", "noframes", "style"), self.startTagNoScriptNoFramesStyle), + ("script", self.startTagScript), + (("base", "link", "command"), + self.startTagBaseLinkCommand), + ("meta", self.startTagMeta), + ("head", self.startTagHead) + ]) + self.startTagHandler.default = self.startTagOther + + self. endTagHandler = utils.MethodDispatcher([ + ("head", self.endTagHead), + (("br", "html", "body"), self.endTagHtmlBodyBr) + ]) + self.endTagHandler.default = self.endTagOther + + # helper + def appendToHead(self, element): + if self.tree.headPointer is not None: + self.tree.headPointer.appendChild(element) + else: + assert self.parser.innerHTML + self.tree.openElementsw[-1].appendChild(element) + + # the real thing + def processEOF (self): + self.anythingElse() + self.parser.phase.processEOF() + + def processCharacters(self, token): + self.anythingElse() + self.parser.phase.processCharacters(token) + + def startTagHtml(self, token): + self.parser.phases["inBody"].processStartTag(token) + + def startTagHead(self, token): + self.parser.parseError("two-heads-are-not-better-than-one") + + def startTagBaseLinkCommand(self, token): + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def startTagMeta(self, token): + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + attributes = token["data"] + if self.parser.tokenizer.stream.charEncoding[1] == "tentative": + if "charset" in attributes: + self.parser.tokenizer.stream.changeEncoding(attributes["charset"]) + elif "content" in attributes: + # Encoding it as UTF-8 here is a hack, as really we should pass + # the abstract Unicode string, and just use the + # ContentAttrParser on that, but using UTF-8 allows all chars + # to be encoded and as a ASCII-superset works. + data = inputstream.EncodingBytes(attributes["content"].encode("utf-8")) + parser = inputstream.ContentAttrParser(data) + codec = parser.parse() + self.parser.tokenizer.stream.changeEncoding(codec) + + def startTagTitle(self, token): + self.parser.parseRCDataRawtext(token, "RCDATA") + + def startTagNoScriptNoFramesStyle(self, token): + #Need to decide whether to implement the scripting-disabled case + self.parser.parseRCDataRawtext(token, "RAWTEXT") + + def startTagScript(self, token): + self.tree.insertElement(token) + self.parser.tokenizer.state = self.parser.tokenizer.scriptDataState + self.parser.originalPhase = self.parser.phase + self.parser.phase = self.parser.phases["text"] + + def startTagOther(self, token): + self.anythingElse() + self.parser.phase.processStartTag(token) + + def endTagHead(self, token): + node = self.parser.tree.openElements.pop() + assert node.name == "head", "Expected head got %s"%node.name + self.parser.phase = self.parser.phases["afterHead"] + + def endTagHtmlBodyBr(self, token): + self.anythingElse() + self.parser.phase.processEndTag(token) + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def anythingElse(self): + self.endTagHead(impliedTagToken("head")) + + +# XXX If we implement a parser for which scripting is disabled we need to +# implement this phase. +# +# class InHeadNoScriptPhase(Phase): + +class AfterHeadPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("body", self.startTagBody), + ("frameset", self.startTagFrameset), + (("base", "link", "meta", "noframes", "script", "style", "title"), + self.startTagFromHead), + ("head", self.startTagHead) + ]) + self.startTagHandler.default = self.startTagOther + self.endTagHandler = utils.MethodDispatcher([(("body", "html", "br"), + self.endTagHtmlBodyBr)]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + self.anythingElse() + self.parser.phase.processEOF() + + def processCharacters(self, token): + self.anythingElse() + self.parser.phase.processCharacters(token) + + def startTagBody(self, token): + self.parser.framesetOK = False + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inBody"] + + def startTagFrameset(self, token): + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inFrameset"] + + def startTagFromHead(self, token): + self.parser.parseError("unexpected-start-tag-out-of-my-head", + {"name": token["name"]}) + self.tree.openElements.append(self.tree.headPointer) + self.parser.phases["inHead"].processStartTag(token) + for node in self.tree.openElements[::-1]: + if node.name == "head": + self.tree.openElements.remove(node) + break + + def startTagHead(self, token): + self.parser.parseError("unexpected-start-tag", {"name":token["name"]}) + + def startTagOther(self, token): + self.anythingElse() + self.parser.phase.processStartTag(token) + + def endTagHtmlBodyBr(self, token): + self.anythingElse() + self.parser.phase.processEndTag(token) + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag", {"name":token["name"]}) + + def anythingElse(self): + self.tree.insertElement(impliedTagToken("body", "StartTag")) + self.parser.phase = self.parser.phases["inBody"] + self.parser.framesetOK = True + + +class InBodyPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#parsing-main-inbody + # the really-really-really-very crazy mode + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + #Keep a ref to this for special handling of whitespace in <pre> + self.processSpaceCharactersNonPre = self.processSpaceCharacters + + self.startTagHandler = utils.MethodDispatcher([ + ("html", self.startTagHtml), + (("base", "command", "link", "meta", "noframes", "script", "style", + "title"), self.startTagProcessInHead), + ("body", self.startTagBody), + ("frameset", self.startTagFrameset), + (("address", "article", "aside", "blockquote", "center", "datagrid", + "details", "dir", "div", "dl", "fieldset", "figure", + "footer", "header", "hgroup", "menu", "nav", "ol", "p", + "section", "ul"), + self.startTagCloseP), + (("pre", "listing"), self.startTagPreListing), + ("form", self.startTagForm), + (("li", "dd", "dt"), self.startTagListItem), + ("plaintext",self.startTagPlaintext), + (headingElements, self.startTagHeading), + ("a", self.startTagA), + (("b", "big", "code", "em", "font", "i", "s", "small", "strike", + "strong", "tt", "u"),self.startTagFormatting), + ("nobr", self.startTagNobr), + ("button", self.startTagButton), + (("applet", "marquee", "object"), self.startTagAppletMarqueeObject), + ("xmp", self.startTagXmp), + ("table", self.startTagTable), + (("area", "basefont", "bgsound", "br", "embed", "img", "input", + "keygen", "spacer", "wbr"), self.startTagVoidFormatting), + (("param", "source"), self.startTagParamSource), + ("hr", self.startTagHr), + ("image", self.startTagImage), + ("isindex", self.startTagIsIndex), + ("textarea", self.startTagTextarea), + ("iframe", self.startTagIFrame), + (("noembed", "noframes", "noscript"), self.startTagRawtext), + ("select", self.startTagSelect), + (("rp", "rt"), self.startTagRpRt), + (("option", "optgroup"), self.startTagOpt), + (("math"), self.startTagMath), + (("svg"), self.startTagSvg), + (("caption", "col", "colgroup", "frame", "head", + "tbody", "td", "tfoot", "th", "thead", + "tr"), self.startTagMisplaced) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = utils.MethodDispatcher([ + ("body",self.endTagBody), + ("html",self.endTagHtml), + (("address", "article", "aside", "blockquote", "center", "datagrid", + "details", "dir", "div", "dl", "fieldset", "figure", + "footer", "header", "hgroup", "listing", "menu", "nav", "ol", "pre", + "section", "ul"), self.endTagBlock), + ("form", self.endTagForm), + ("p",self.endTagP), + (("dd", "dt", "li"), self.endTagListItem), + (headingElements, self.endTagHeading), + (("a", "b", "big", "code", "em", "font", "i", "nobr", "s", "small", + "strike", "strong", "tt", "u"), self.endTagFormatting), + (("applet", "button", "marquee", "object"), self.endTagAppletButtonMarqueeObject), + ("br", self.endTagBr), + ]) + self.endTagHandler.default = self.endTagOther + + # helper + def addFormattingElement(self, token): + self.tree.insertElement(token) + self.tree.activeFormattingElements.append( + self.tree.openElements[-1]) + + # the real deal + def processEOF(self): + allowed_elements = frozenset(("dd", "dt", "li", "p", "tbody", "td", + "tfoot", "th", "thead", "tr", "body", + "html")) + for node in self.tree.openElements[::-1]: + if node.name not in allowed_elements: + self.parser.parseError("expected-closing-tag-but-got-eof") + break + #Stop parsing + + def processSpaceCharactersDropNewline(self, token): + # Sometimes (start of <pre>, <listing>, and <textarea> blocks) we + # want to drop leading newlines + data = token["data"] + self.processSpaceCharacters = self.processSpaceCharactersNonPre + if (data.startswith("\n") and + self.tree.openElements[-1].name in ("pre", "listing", "textarea") + and not self.tree.openElements[-1].hasContent()): + data = data[1:] + if data: + self.tree.reconstructActiveFormattingElements() + self.tree.insertText(data) + + def processCharacters(self, token): + self.tree.reconstructActiveFormattingElements() + self.tree.insertText(token["data"]) + self.parser.framesetOK = False + + def processSpaceCharacters(self, token): + self.tree.reconstructActiveFormattingElements() + self.tree.insertText(token["data"]) + + def startTagProcessInHead(self, token): + self.parser.phases["inHead"].processStartTag(token) + + def startTagBody(self, token): + self.parser.parseError("unexpected-start-tag", {"name": "body"}) + if (len(self.tree.openElements) == 1 + or self.tree.openElements[1].name != "body"): + assert self.parser.innerHTML + else: + for attr, value in token["data"].iteritems(): + if attr not in self.tree.openElements[1].attributes: + self.tree.openElements[1].attributes[attr] = value + + def startTagFrameset(self, token): + self.parser.parseError("unexpected-start-tag", {"name": "frameset"}) + if (len(self.tree.openElements) == 1 or self.tree.openElements[1].name != "body"): + assert self.parser.innerHTML + elif not self.parser.framesetOK: + pass + else: + if self.tree.openElements[1].parent: + self.tree.openElements[1].parent.removeChild(self.tree.openElements[1]) + while self.tree.openElements[-1].name != "html": + self.tree.openElements.pop() + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inFrameset"] + + def startTagCloseP(self, token): + if self.tree.elementInScope("p"): + self.endTagP(impliedTagToken("p")) + self.tree.insertElement(token) + + def startTagPreListing(self, token): + if self.tree.elementInScope("p"): + self.endTagP(impliedTagToken("p")) + self.tree.insertElement(token) + self.parser.framesetOK = False + self.processSpaceCharacters = self.processSpaceCharactersDropNewline + + def startTagForm(self, token): + if self.tree.formPointer: + self.parser.parseError(u"unexpected-start-tag", {"name": "form"}) + else: + if self.tree.elementInScope("p"): + self.endTagP("p") + self.tree.insertElement(token) + self.tree.formPointer = self.tree.openElements[-1] + + def startTagListItem(self, token): + self.parser.framesetOK = False + + stopNamesMap = {"li":["li"], + "dt":["dt", "dd"], + "dd":["dt", "dd"]} + stopNames = stopNamesMap[token["name"]] + for node in reversed(self.tree.openElements): + if node.name in stopNames: + self.parser.phase.processEndTag( + impliedTagToken(node.name, "EndTag")) + break + if (node.nameTuple in (scopingElements | specialElements) and + node.name not in ("address", "div", "p")): + break + + if self.tree.elementInScope("p"): + self.parser.phase.processEndTag( + impliedTagToken("p", "EndTag")) + + self.tree.insertElement(token) + + def startTagPlaintext(self, token): + if self.tree.elementInScope("p"): + self.endTagP(impliedTagToken("p")) + self.tree.insertElement(token) + self.parser.tokenizer.state = self.parser.tokenizer.plaintextState + + def startTagHeading(self, token): + if self.tree.elementInScope("p"): + self.endTagP(impliedTagToken("p")) + if self.tree.openElements[-1].name in headingElements: + self.parser.parseError("unexpected-start-tag", {"name": token["name"]}) + self.tree.openElements.pop() + self.tree.insertElement(token) + + def startTagA(self, token): + afeAElement = self.tree.elementInActiveFormattingElements("a") + if afeAElement: + self.parser.parseError("unexpected-start-tag-implies-end-tag", + {"startName": "a", "endName": "a"}) + self.endTagFormatting(impliedTagToken("a")) + if afeAElement in self.tree.openElements: + self.tree.openElements.remove(afeAElement) + if afeAElement in self.tree.activeFormattingElements: + self.tree.activeFormattingElements.remove(afeAElement) + self.tree.reconstructActiveFormattingElements() + self.addFormattingElement(token) + + def startTagFormatting(self, token): + self.tree.reconstructActiveFormattingElements() + self.addFormattingElement(token) + + def startTagNobr(self, token): + self.tree.reconstructActiveFormattingElements() + if self.tree.elementInScope("nobr"): + self.parser.parseError("unexpected-start-tag-implies-end-tag", + {"startName": "nobr", "endName": "nobr"}) + self.processEndTag(impliedTagToken("nobr")) + # XXX Need tests that trigger the following + self.tree.reconstructActiveFormattingElements() + self.addFormattingElement(token) + + def startTagButton(self, token): + if self.tree.elementInScope("button"): + self.parser.parseError("unexpected-start-tag-implies-end-tag", + {"startName": "button", "endName": "button"}) + self.processEndTag(impliedTagToken("button")) + self.parser.phase.processStartTag(token) + else: + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(token) + self.tree.activeFormattingElements.append(Marker) + self.parser.framesetOK = False + + def startTagAppletMarqueeObject(self, token): + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(token) + self.tree.activeFormattingElements.append(Marker) + self.parser.framesetOK = False + + def startTagXmp(self, token): + if self.tree.elementInScope("p"): + self.endTagP(impliedTagToken("p")) + self.tree.reconstructActiveFormattingElements() + self.parser.framesetOK = False + self.parser.parseRCDataRawtext(token, "RAWTEXT") + + def startTagTable(self, token): + if self.parser.compatMode != "quirks": + if self.tree.elementInScope("p"): + self.processEndTag(impliedTagToken("p")) + self.tree.insertElement(token) + self.parser.framesetOK = False + self.parser.phase = self.parser.phases["inTable"] + + def startTagVoidFormatting(self, token): + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + self.parser.framesetOK = False + + def startTagParamSource(self, token): + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def startTagHr(self, token): + if self.tree.elementInScope("p"): + self.endTagP(impliedTagToken("p")) + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + self.parser.framesetOK = False + + def startTagImage(self, token): + # No really... + self.parser.parseError("unexpected-start-tag-treated-as", + {"originalName": "image", "newName": "img"}) + self.processStartTag(impliedTagToken("img", "StartTag", + attributes=token["data"], + selfClosing=token["selfClosing"])) + + def startTagIsIndex(self, token): + self.parser.parseError("deprecated-tag", {"name": "isindex"}) + if self.tree.formPointer: + return + form_attrs = {} + if "action" in token["data"]: + form_attrs["action"] = token["data"]["action"] + self.processStartTag(impliedTagToken("form", "StartTag", + attributes=form_attrs)) + self.processStartTag(impliedTagToken("hr", "StartTag")) + self.processStartTag(impliedTagToken("label", "StartTag")) + # XXX Localization ... + if "prompt" in token["data"]: + prompt = token["data"]["prompt"] + else: + prompt = "This is a searchable index. Insert your search keywords here: " + self.processCharacters( + {"type":tokenTypes["Characters"], "data":prompt}) + attributes = token["data"].copy() + if "action" in attributes: + del attributes["action"] + if "prompt" in attributes: + del attributes["prompt"] + attributes["name"] = "isindex" + self.processStartTag(impliedTagToken("input", "StartTag", + attributes = attributes, + selfClosing = + token["selfClosing"])) + self.processEndTag(impliedTagToken("label")) + self.processStartTag(impliedTagToken("hr", "StartTag")) + self.processEndTag(impliedTagToken("form")) + + def startTagTextarea(self, token): + self.tree.insertElement(token) + self.parser.tokenizer.state = self.parser.tokenizer.rcdataState + self.processSpaceCharacters = self.processSpaceCharactersDropNewline + self.parser.framesetOK = False + + def startTagIFrame(self, token): + self.parser.framesetOK = False + self.startTagRawtext(token) + + def startTagRawtext(self, token): + """iframe, noembed noframes, noscript(if scripting enabled)""" + self.parser.parseRCDataRawtext(token, "RAWTEXT") + + def startTagOpt(self, token): + if self.tree.elementInScope("option"): + self.parser.phase.processEndTag(impliedTagToken("option")) + self.tree.reconstructActiveFormattingElements() + self.parser.tree.insertElement(token) + + def startTagSelect(self, token): + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(token) + self.parser.framesetOK = False + if self.parser.phase in (self.parser.phases["inTable"], + self.parser.phases["inCaption"], + self.parser.phases["inColumnGroup"], + self.parser.phases["inTableBody"], + self.parser.phases["inRow"], + self.parser.phases["inCell"]): + self.parser.phase = self.parser.phases["inSelectInTable"] + else: + self.parser.phase = self.parser.phases["inSelect"] + + def startTagRpRt(self, token): + if self.tree.elementInScope("ruby"): + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1].name != "ruby": + self.parser.parseError() + while self.tree.openElements[-1].name != "ruby": + self.tree.openElements.pop() + self.tree.insertElement(token) + + def startTagMath(self, token): + self.tree.reconstructActiveFormattingElements() + self.parser.adjustMathMLAttributes(token) + self.parser.adjustForeignAttributes(token) + token["namespace"] = namespaces["mathml"] + self.tree.insertElement(token) + #Need to get the parse error right for the case where the token + #has a namespace not equal to the xmlns attribute + if self.parser.phase != self.parser.phases["inForeignContent"]: + self.parser.secondaryPhase = self.parser.phase + self.parser.phase = self.parser.phases["inForeignContent"] + if token["selfClosing"]: + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def startTagSvg(self, token): + self.tree.reconstructActiveFormattingElements() + self.parser.adjustSVGAttributes(token) + self.parser.adjustForeignAttributes(token) + token["namespace"] = namespaces["svg"] + self.tree.insertElement(token) + #Need to get the parse error right for the case where the token + #has a namespace not equal to the xmlns attribute + if self.parser.phase != self.parser.phases["inForeignContent"]: + self.parser.secondaryPhase = self.parser.phase + self.parser.phase = self.parser.phases["inForeignContent"] + if token["selfClosing"]: + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def startTagMisplaced(self, token): + """ Elements that should be children of other elements that have a + different insertion mode; here they are ignored + "caption", "col", "colgroup", "frame", "frameset", "head", + "option", "optgroup", "tbody", "td", "tfoot", "th", "thead", + "tr", "noscript" + """ + self.parser.parseError("unexpected-start-tag-ignored", {"name": token["name"]}) + + def startTagOther(self, token): + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(token) + + def endTagP(self, token): + if not self.tree.elementInScope("p"): + self.startTagCloseP(impliedTagToken("p", "StartTag")) + self.parser.parseError("unexpected-end-tag", {"name": "p"}) + self.endTagP(impliedTagToken("p", "EndTag")) + else: + self.tree.generateImpliedEndTags("p") + if self.tree.openElements[-1].name != "p": + self.parser.parseError("unexpected-end-tag", {"name": "p"}) + node = self.tree.openElements.pop() + while node.name != "p": + node = self.tree.openElements.pop() + + def endTagBody(self, token): + if not self.tree.elementInScope("body"): + self.parser.parseError() + return + elif self.tree.openElements[-1].name != "body": + for node in self.tree.openElements[2:]: + if node.name not in frozenset(("dd", "dt", "li", "optgroup", + "option", "p", "rp", "rt", + "tbody", "td", "tfoot", + "th", "thead", "tr", "body", + "html")): + #Not sure this is the correct name for the parse error + self.parser.parseError( + "expected-one-end-tag-but-got-another", + {"expectedName": "body", "gotName": node.name}) + break + self.parser.phase = self.parser.phases["afterBody"] + + def endTagHtml(self, token): + #We repeat the test for the body end tag token being ignored here + if self.tree.elementInScope("body"): + self.endTagBody(impliedTagToken("body")) + self.parser.phase.processEndTag(token) + + def endTagBlock(self, token): + #Put us back in the right whitespace handling mode + if token["name"] == "pre": + self.processSpaceCharacters = self.processSpaceCharactersNonPre + inScope = self.tree.elementInScope(token["name"]) + if inScope: + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError("end-tag-too-early", {"name": token["name"]}) + if inScope: + node = self.tree.openElements.pop() + while node.name != token["name"]: + node = self.tree.openElements.pop() + + def endTagForm(self, token): + node = self.tree.formPointer + self.tree.formPointer = None + if node is None or not self.tree.elementInScope(node): + self.parser.parseError("unexpected-end-tag", + {"name":"form"}) + else: + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1].name != node: + self.parser.parseError("end-tag-too-early-ignored", + {"name": "form"}) + self.tree.openElements.remove(node) + + def endTagListItem(self, token): + if token["name"] == "li": + variant = "list" + else: + variant = None + if not self.tree.elementInScope(token["name"], variant=variant): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + else: + self.tree.generateImpliedEndTags(exclude = token["name"]) + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError( + "end-tag-too-early", + {"name": token["name"]}) + node = self.tree.openElements.pop() + while node.name != token["name"]: + node = self.tree.openElements.pop() + + def endTagHeading(self, token): + for item in headingElements: + if self.tree.elementInScope(item): + self.tree.generateImpliedEndTags() + break + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError("end-tag-too-early", {"name": token["name"]}) + + for item in headingElements: + if self.tree.elementInScope(item): + item = self.tree.openElements.pop() + while item.name not in headingElements: + item = self.tree.openElements.pop() + break + + def endTagFormatting(self, token): + """The much-feared adoption agency algorithm""" + # http://www.whatwg.org/specs/web-apps/current-work/#adoptionAgency + # XXX Better parseError messages appreciated. + name = token["name"] + while True: + # Step 1 paragraph 1 + formattingElement = self.tree.elementInActiveFormattingElements( + token["name"]) + if not formattingElement or (formattingElement in + self.tree.openElements and + not self.tree.elementInScope( + formattingElement.name)): + self.parser.parseError("adoption-agency-1.1", {"name": token["name"]}) + return + + # Step 1 paragraph 2 + elif formattingElement not in self.tree.openElements: + self.parser.parseError("adoption-agency-1.2", {"name": token["name"]}) + self.tree.activeFormattingElements.remove(formattingElement) + return + + # Step 1 paragraph 3 + if formattingElement != self.tree.openElements[-1]: + self.parser.parseError("adoption-agency-1.3", {"name": token["name"]}) + + # Step 2 + # Start of the adoption agency algorithm proper + afeIndex = self.tree.openElements.index(formattingElement) + furthestBlock = None + for element in self.tree.openElements[afeIndex:]: + if (element.nameTuple in + specialElements | scopingElements): + furthestBlock = element + break + + # Step 3 + if furthestBlock is None: + element = self.tree.openElements.pop() + while element != formattingElement: + element = self.tree.openElements.pop() + self.tree.activeFormattingElements.remove(element) + return + commonAncestor = self.tree.openElements[afeIndex-1] + + # Step 5 + #if furthestBlock.parent: + # furthestBlock.parent.removeChild(furthestBlock) + + # Step 5 + # The bookmark is supposed to help us identify where to reinsert + # nodes in step 12. We have to ensure that we reinsert nodes after + # the node before the active formatting element. Note the bookmark + # can move in step 7.4 + bookmark = self.tree.activeFormattingElements.index(formattingElement) + + # Step 6 + lastNode = node = furthestBlock + while True: + # AT replace this with a function and recursion? + # Node is element before node in open elements + node = self.tree.openElements[ + self.tree.openElements.index(node)-1] + while node not in self.tree.activeFormattingElements: + tmpNode = node + node = self.tree.openElements[ + self.tree.openElements.index(node)-1] + self.tree.openElements.remove(tmpNode) + # Step 6.3 + if node == formattingElement: + break + # Step 6.4 + if lastNode == furthestBlock: + bookmark = (self.tree.activeFormattingElements.index(node) + + 1) + # Step 6.5 + #cite = node.parent + #if node.hasContent(): + clone = node.cloneNode() + # Replace node with clone + self.tree.activeFormattingElements[ + self.tree.activeFormattingElements.index(node)] = clone + self.tree.openElements[ + self.tree.openElements.index(node)] = clone + node = clone + + # Step 6.6 + # Remove lastNode from its parents, if any + if lastNode.parent: + lastNode.parent.removeChild(lastNode) + node.appendChild(lastNode) + # Step 7.7 + lastNode = node + # End of inner loop + + # Step 7 + # Foster parent lastNode if commonAncestor is a + # table, tbody, tfoot, thead, or tr we need to foster parent the + # lastNode + if lastNode.parent: + lastNode.parent.removeChild(lastNode) + commonAncestor.appendChild(lastNode) + + # Step 8 + clone = formattingElement.cloneNode() + + # Step 9 + furthestBlock.reparentChildren(clone) + + # Step 10 + furthestBlock.appendChild(clone) + + # Step 11 + self.tree.activeFormattingElements.remove(formattingElement) + self.tree.activeFormattingElements.insert(bookmark, clone) + + # Step 12 + self.tree.openElements.remove(formattingElement) + self.tree.openElements.insert( + self.tree.openElements.index(furthestBlock) + 1, clone) + + def endTagAppletButtonMarqueeObject(self, token): + if self.tree.elementInScope(token["name"]): + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError("end-tag-too-early", {"name": token["name"]}) + + if self.tree.elementInScope(token["name"]): + element = self.tree.openElements.pop() + while element.name != token["name"]: + element = self.tree.openElements.pop() + self.tree.clearActiveFormattingElements() + + def endTagBr(self, token): + self.parser.parseError("unexpected-end-tag-treated-as", + {"originalName": "br", "newName": "br element"}) + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(impliedTagToken("br", "StartTag")) + self.tree.openElements.pop() + + def endTagOther(self, token): + for node in self.tree.openElements[::-1]: + if node.name == token["name"]: + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + while self.tree.openElements.pop() != node: + pass + break + else: + if (node.nameTuple in + specialElements | scopingElements): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + break + +class TextPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.startTagHandler = utils.MethodDispatcher([]) + self.startTagHandler.default = self.startTagOther + self.endTagHandler = utils.MethodDispatcher([ + ("script", self.endTagScript)]) + self.endTagHandler.default = self.endTagOther + + def processCharacters(self, token): + self.tree.insertText(token["data"]) + + def processEOF(self): + self.parser.parseError("expected-named-closing-tag-but-got-eof", + self.tree.openElements[-1].name) + self.tree.openElements.pop() + self.parser.phase = self.parser.originalPhase + self.parser.phase.processEOF() + + def startTagOther(self, token): + assert False, "Tried to process start tag %s in RCDATA/RAWTEXT mode"%name + + def endTagScript(self, token): + node = self.tree.openElements.pop() + assert node.name == "script" + self.parser.phase = self.parser.originalPhase + #The rest of this method is all stuff that only happens if + #document.write works + + def endTagOther(self, token): + node = self.tree.openElements.pop() + self.parser.phase = self.parser.originalPhase + +class InTablePhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-table + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.startTagHandler = utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("caption", self.startTagCaption), + ("colgroup", self.startTagColgroup), + ("col", self.startTagCol), + (("tbody", "tfoot", "thead"), self.startTagRowGroup), + (("td", "th", "tr"), self.startTagImplyTbody), + ("table", self.startTagTable), + (("style", "script"), self.startTagStyleScript), + ("input", self.startTagInput), + ("form", self.startTagForm) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = utils.MethodDispatcher([ + ("table", self.endTagTable), + (("body", "caption", "col", "colgroup", "html", "tbody", "td", + "tfoot", "th", "thead", "tr"), self.endTagIgnore) + ]) + self.endTagHandler.default = self.endTagOther + + # helper methods + def clearStackToTableContext(self): + # "clear the stack back to a table context" + while self.tree.openElements[-1].name not in ("table", "html"): + #self.parser.parseError("unexpected-implied-end-tag-in-table", + # {"name": self.tree.openElements[-1].name}) + self.tree.openElements.pop() + # When the current node is <html> it's an innerHTML case + + def getCurrentTable(self): + i = -1 + while -i <= len(self.tree.openElements) and self.tree.openElements[i].name != "table": + i -= 1 + if -i > len(self.tree.openElements): + return self.tree.openElements[0] + else: + return self.tree.openElements[i] + + # processing methods + def processEOF(self): + if self.tree.openElements[-1].name != "html": + self.parser.parseError("eof-in-table") + else: + assert self.parser.innerHTML + #Stop parsing + + def processSpaceCharacters(self, token): + originalPhase = self.parser.phase + self.parser.phase = self.parser.phases["inTableText"] + self.parser.phase.originalPhase = originalPhase + self.parser.phase.characterTokens.append(token) + + def processCharacters(self, token): + #If we get here there must be at least one non-whitespace character + # Do the table magic! + self.tree.insertFromTable = True + self.parser.phases["inBody"].processCharacters(token) + self.tree.insertFromTable = False + + def startTagCaption(self, token): + self.clearStackToTableContext() + self.tree.activeFormattingElements.append(Marker) + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inCaption"] + + def startTagColgroup(self, token): + self.clearStackToTableContext() + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inColumnGroup"] + + def startTagCol(self, token): + self.startTagColgroup(impliedTagToken("colgroup", "StartTag")) + self.parser.phase.processStartTag(token) + + def startTagRowGroup(self, token): + self.clearStackToTableContext() + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inTableBody"] + + def startTagImplyTbody(self, token): + self.startTagRowGroup(impliedTagToken("tbody", "StartTag")) + self.parser.phase.processStartTag(token) + + def startTagTable(self, token): + self.parser.parseError("unexpected-start-tag-implies-end-tag", + {"startName": "table", "endName": "table"}) + self.parser.phase.processEndTag(impliedTagToken("table")) + if not self.parser.innerHTML: + self.parser.phase.processStartTag(token) + + def startTagStyleScript(self, token): + self.parser.phases["inHead"].processStartTag(token) + + def startTagInput(self, token): + if ("type" in token["data"] and + token["data"]["type"].translate(asciiUpper2Lower) == "hidden"): + self.parser.parseError("unexpected-hidden-input-in-table") + self.tree.insertElement(token) + # XXX associate with form + self.tree.openElements.pop() + else: + self.startTagOther(token) + + def startTagForm(self, token): + self.parser.parseError("unexpected-form-in-table") + self.tree.insertElement(token) + self.tree.openElements.pop() + + def startTagOther(self, token): + self.parser.parseError("unexpected-start-tag-implies-table-voodoo", {"name": token["name"]}) + if "tainted" not in self.getCurrentTable()._flags: + self.getCurrentTable()._flags.append("tainted") + # Do the table magic! + self.tree.insertFromTable = True + self.parser.phases["inBody"].processStartTag(token) + self.tree.insertFromTable = False + + def endTagTable(self, token): + if self.tree.elementInScope("table", variant="table"): + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1].name != "table": + self.parser.parseError("end-tag-too-early-named", + {"gotName": "table", + "expectedName": self.tree.openElements[-1].name}) + while self.tree.openElements[-1].name != "table": + self.tree.openElements.pop() + self.tree.openElements.pop() + self.parser.resetInsertionMode() + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def endTagIgnore(self, token): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag-implies-table-voodoo", {"name": token["name"]}) + if "tainted" not in self.getCurrentTable()._flags: + self.getCurrentTable()._flags.append("tainted") + # Do the table magic! + self.tree.insertFromTable = True + self.parser.phases["inBody"].processEndTag(token) + self.tree.insertFromTable = False + +class InTableTextPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.originalPhase = None + self.characterTokens = [] + + def flushCharacters(self): + data = "".join([item["data"] for item in self.characterTokens]) + if any([item not in spaceCharacters for item in data]): + token = {"type":tokenTypes["Characters"], "data":data} + self.originalPhase.processCharacters(token) + elif data: + self.tree.insertText(data) + self.characterTokens = [] + + def processComment(self, token): + self.flushCharacters() + self.phase = self.originalPhase + self.phase.processComment(token) + + def processEOF(self): + self.flushCharacters() + self.phase = self.originalPhase + self.phase.processEOF() + + def processCharacters(self, token): + self.characterTokens.append(token) + + def processSpaceCharacters(self, token): + #pretty sure we should never reach here + self.characterTokens.append(token) +# assert False + + def processStartTag(self, token): + self.flushCharacters() + self.phase = self.originalPhase + self.phase.processStartTag(token) + + def processEndTag(self, token): + self.flushCharacters() + self.phase = self.originalPhase + self.phase.processEndTag(token) + + +class InCaptionPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-caption + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = utils.MethodDispatcher([ + ("html", self.startTagHtml), + (("caption", "col", "colgroup", "tbody", "td", "tfoot", "th", + "thead", "tr"), self.startTagTableElement) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = utils.MethodDispatcher([ + ("caption", self.endTagCaption), + ("table", self.endTagTable), + (("body", "col", "colgroup", "html", "tbody", "td", "tfoot", "th", + "thead", "tr"), self.endTagIgnore) + ]) + self.endTagHandler.default = self.endTagOther + + def ignoreEndTagCaption(self): + return not self.tree.elementInScope("caption", variant="table") + + def processEOF(self): + self.parser.phases["inBody"].processEOF() + + def processCharacters(self, token): + self.parser.phases["inBody"].processCharacters(token) + + def startTagTableElement(self, token): + self.parser.parseError() + #XXX Have to duplicate logic here to find out if the tag is ignored + ignoreEndTag = self.ignoreEndTagCaption() + self.parser.phase.processEndTag(impliedTagToken("caption")) + if not ignoreEndTag: + self.parser.phase.processStartTag(token) + + def startTagOther(self, token): + self.parser.phases["inBody"].processStartTag(token) + + def endTagCaption(self, token): + if not self.ignoreEndTagCaption(): + # AT this code is quite similar to endTagTable in "InTable" + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1].name != "caption": + self.parser.parseError("expected-one-end-tag-but-got-another", + {"gotName": "caption", + "expectedName": self.tree.openElements[-1].name}) + while self.tree.openElements[-1].name != "caption": + self.tree.openElements.pop() + self.tree.openElements.pop() + self.tree.clearActiveFormattingElements() + self.parser.phase = self.parser.phases["inTable"] + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def endTagTable(self, token): + self.parser.parseError() + ignoreEndTag = self.ignoreEndTagCaption() + self.parser.phase.processEndTag(impliedTagToken("caption")) + if not ignoreEndTag: + self.parser.phase.processEndTag(token) + + def endTagIgnore(self, token): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def endTagOther(self, token): + self.parser.phases["inBody"].processEndTag(token) + + +class InColumnGroupPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-column + + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("col", self.startTagCol) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = utils.MethodDispatcher([ + ("colgroup", self.endTagColgroup), + ("col", self.endTagCol) + ]) + self.endTagHandler.default = self.endTagOther + + def ignoreEndTagColgroup(self): + return self.tree.openElements[-1].name == "html" + + def processEOF(self): + if self.tree.openElements[-1].name == "html": + assert self.parser.innerHTML + return + else: + ignoreEndTag = self.ignoreEndTagColgroup() + self.endTagColgroup("colgroup") + if not ignoreEndTag: + self.parser.phase.processEOF() + + def processCharacters(self, token): + ignoreEndTag = self.ignoreEndTagColgroup() + self.endTagColgroup(impliedTagToken("colgroup")) + if not ignoreEndTag: + self.parser.phase.processCharacters(token) + + def startTagCol(self, token): + self.tree.insertElement(token) + self.tree.openElements.pop() + + def startTagOther(self, token): + ignoreEndTag = self.ignoreEndTagColgroup() + self.endTagColgroup("colgroup") + if not ignoreEndTag: + self.parser.phase.processStartTag(token) + + def endTagColgroup(self, token): + if self.ignoreEndTagColgroup(): + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + else: + self.tree.openElements.pop() + self.parser.phase = self.parser.phases["inTable"] + + def endTagCol(self, token): + self.parser.parseError("no-end-tag", {"name": "col"}) + + def endTagOther(self, token): + ignoreEndTag = self.ignoreEndTagColgroup() + self.endTagColgroup("colgroup") + if not ignoreEndTag: + self.parser.phase.processEndTag(token) + + +class InTableBodyPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-table0 + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.startTagHandler = utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("tr", self.startTagTr), + (("td", "th"), self.startTagTableCell), + (("caption", "col", "colgroup", "tbody", "tfoot", "thead"), + self.startTagTableOther) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = utils.MethodDispatcher([ + (("tbody", "tfoot", "thead"), self.endTagTableRowGroup), + ("table", self.endTagTable), + (("body", "caption", "col", "colgroup", "html", "td", "th", + "tr"), self.endTagIgnore) + ]) + self.endTagHandler.default = self.endTagOther + + # helper methods + def clearStackToTableBodyContext(self): + while self.tree.openElements[-1].name not in ("tbody", "tfoot", + "thead", "html"): + #self.parser.parseError("unexpected-implied-end-tag-in-table", + # {"name": self.tree.openElements[-1].name}) + self.tree.openElements.pop() + if self.tree.openElements[-1].name == "html": + assert self.parser.innerHTML + + # the rest + def processEOF(self): + self.parser.phases["inTable"].processEOF() + + def processSpaceCharacters(self, token): + self.parser.phases["inTable"].processSpaceCharacters(token) + + def processCharacters(self, token): + self.parser.phases["inTable"].processCharacters(token) + + def startTagTr(self, token): + self.clearStackToTableBodyContext() + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inRow"] + + def startTagTableCell(self, token): + self.parser.parseError("unexpected-cell-in-table-body", + {"name": token["name"]}) + self.startTagTr(impliedTagToken("tr", "StartTag")) + self.parser.phase.processStartTag(token) + + def startTagTableOther(self, token): + # XXX AT Any ideas on how to share this with endTagTable? + if (self.tree.elementInScope("tbody", variant="table") or + self.tree.elementInScope("thead", variant="table") or + self.tree.elementInScope("tfoot", variant="table")): + self.clearStackToTableBodyContext() + self.endTagTableRowGroup( + impliedTagToken(self.tree.openElements[-1].name)) + self.parser.phase.processStartTag(token) + else: + # innerHTML case + self.parser.parseError() + + def startTagOther(self, token): + self.parser.phases["inTable"].processStartTag(token) + + def endTagTableRowGroup(self, token): + if self.tree.elementInScope(token["name"], variant="table"): + self.clearStackToTableBodyContext() + self.tree.openElements.pop() + self.parser.phase = self.parser.phases["inTable"] + else: + self.parser.parseError("unexpected-end-tag-in-table-body", + {"name": token["name"]}) + + def endTagTable(self, token): + if (self.tree.elementInScope("tbody", variant="table") or + self.tree.elementInScope("thead", variant="table") or + self.tree.elementInScope("tfoot", variant="table")): + self.clearStackToTableBodyContext() + self.endTagTableRowGroup( + impliedTagToken(self.tree.openElements[-1].name)) + self.parser.phase.processEndTag(token) + else: + # innerHTML case + self.parser.parseError() + + def endTagIgnore(self, token): + self.parser.parseError("unexpected-end-tag-in-table-body", + {"name": token["name"]}) + + def endTagOther(self, token): + self.parser.phases["inTable"].processEndTag(token) + + +class InRowPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-row + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.startTagHandler = utils.MethodDispatcher([ + ("html", self.startTagHtml), + (("td", "th"), self.startTagTableCell), + (("caption", "col", "colgroup", "tbody", "tfoot", "thead", + "tr"), self.startTagTableOther) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = utils.MethodDispatcher([ + ("tr", self.endTagTr), + ("table", self.endTagTable), + (("tbody", "tfoot", "thead"), self.endTagTableRowGroup), + (("body", "caption", "col", "colgroup", "html", "td", "th"), + self.endTagIgnore) + ]) + self.endTagHandler.default = self.endTagOther + + # helper methods (XXX unify this with other table helper methods) + def clearStackToTableRowContext(self): + while self.tree.openElements[-1].name not in ("tr", "html"): + self.parser.parseError("unexpected-implied-end-tag-in-table-row", + {"name": self.tree.openElements[-1].name}) + self.tree.openElements.pop() + + def ignoreEndTagTr(self): + return not self.tree.elementInScope("tr", variant="table") + + # the rest + def processEOF(self): + self.parser.phases["inTable"].processEOF() + + def processSpaceCharacters(self, token): + self.parser.phases["inTable"].processSpaceCharacters(token) + + def processCharacters(self, token): + self.parser.phases["inTable"].processCharacters(token) + + def startTagTableCell(self, token): + self.clearStackToTableRowContext() + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inCell"] + self.tree.activeFormattingElements.append(Marker) + + def startTagTableOther(self, token): + ignoreEndTag = self.ignoreEndTagTr() + self.endTagTr("tr") + # XXX how are we sure it's always ignored in the innerHTML case? + if not ignoreEndTag: + self.parser.phase.processStartTag(token) + + def startTagOther(self, token): + self.parser.phases["inTable"].processStartTag(token) + + def endTagTr(self, token): + if not self.ignoreEndTagTr(): + self.clearStackToTableRowContext() + self.tree.openElements.pop() + self.parser.phase = self.parser.phases["inTableBody"] + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def endTagTable(self, token): + ignoreEndTag = self.ignoreEndTagTr() + self.endTagTr("tr") + # Reprocess the current tag if the tr end tag was not ignored + # XXX how are we sure it's always ignored in the innerHTML case? + if not ignoreEndTag: + self.parser.phase.processEndTag(token) + + def endTagTableRowGroup(self, token): + if self.tree.elementInScope(token["name"], variant="table"): + self.endTagTr("tr") + self.parser.phase.processEndTag(token) + else: + # innerHTML case + self.parser.parseError() + + def endTagIgnore(self, token): + self.parser.parseError("unexpected-end-tag-in-table-row", + {"name": token["name"]}) + + def endTagOther(self, token): + self.parser.phases["inTable"].processEndTag(token) + +class InCellPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-cell + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.startTagHandler = utils.MethodDispatcher([ + ("html", self.startTagHtml), + (("caption", "col", "colgroup", "tbody", "td", "tfoot", "th", + "thead", "tr"), self.startTagTableOther) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = utils.MethodDispatcher([ + (("td", "th"), self.endTagTableCell), + (("body", "caption", "col", "colgroup", "html"), self.endTagIgnore), + (("table", "tbody", "tfoot", "thead", "tr"), self.endTagImply) + ]) + self.endTagHandler.default = self.endTagOther + + # helper + def closeCell(self): + if self.tree.elementInScope("td", variant="table"): + self.endTagTableCell(impliedTagToken("td")) + elif self.tree.elementInScope("th", variant="table"): + self.endTagTableCell(impliedTagToken("th")) + + # the rest + def processEOF(self): + self.parser.phases["inBody"].processEOF() + + def processCharacters(self, token): + self.parser.phases["inBody"].processCharacters(token) + + def startTagTableOther(self, token): + if (self.tree.elementInScope("td", variant="table") or + self.tree.elementInScope("th", variant="table")): + self.closeCell() + self.parser.phase.processStartTag(token) + else: + # innerHTML case + self.parser.parseError() + + def startTagOther(self, token): + self.parser.phases["inBody"].processStartTag(token) + # Optimize this for subsequent invocations. Can't do this initially + # because self.phases doesn't really exist at that point. + self.startTagHandler.default =\ + self.parser.phases["inBody"].processStartTag + + def endTagTableCell(self, token): + if self.tree.elementInScope(token["name"], variant="table"): + self.tree.generateImpliedEndTags(token["name"]) + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError("unexpected-cell-end-tag", + {"name": token["name"]}) + while True: + node = self.tree.openElements.pop() + if node.name == token["name"]: + break + else: + self.tree.openElements.pop() + self.tree.clearActiveFormattingElements() + self.parser.phase = self.parser.phases["inRow"] + else: + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def endTagIgnore(self, token): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def endTagImply(self, token): + if self.tree.elementInScope(token["name"], variant="table"): + self.closeCell() + self.parser.phase.processEndTag(token) + else: + # sometimes innerHTML case + self.parser.parseError() + + def endTagOther(self, token): + self.parser.phases["inBody"].processEndTag(token) + # Optimize this for subsequent invocations. Can't do this initially + # because self.phases doesn't really exist at that point. + self.endTagHandler.default = self.parser.phases["inBody"].processEndTag + + +class InSelectPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("option", self.startTagOption), + ("optgroup", self.startTagOptgroup), + ("select", self.startTagSelect), + (("input", "keygen", "textarea"), self.startTagInput) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = utils.MethodDispatcher([ + ("option", self.endTagOption), + ("optgroup", self.endTagOptgroup), + ("select", self.endTagSelect), + (("caption", "table", "tbody", "tfoot", "thead", "tr", "td", + "th"), self.endTagTableElements) + ]) + self.endTagHandler.default = self.endTagOther + + # http://www.whatwg.org/specs/web-apps/current-work/#in-select + def processEOF(self): + if self.tree.openElements[-1].name != "html": + self.parser.parseError("eof-in-select") + else: + assert self.parser.innerHTML + + def processCharacters(self, token): + self.tree.insertText(token["data"]) + + def startTagOption(self, token): + # We need to imply </option> if <option> is the current node. + if self.tree.openElements[-1].name == "option": + self.tree.openElements.pop() + self.tree.insertElement(token) + + def startTagOptgroup(self, token): + if self.tree.openElements[-1].name == "option": + self.tree.openElements.pop() + if self.tree.openElements[-1].name == "optgroup": + self.tree.openElements.pop() + self.tree.insertElement(token) + + def startTagSelect(self, token): + self.parser.parseError("unexpected-select-in-select") + self.endTagSelect("select") + + def startTagInput(self, token): + self.parser.parseError("unexpected-input-in-select") + if self.tree.elementInScope("select", variant="table"): + self.endTagSelect("select") + self.parser.phase.processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("unexpected-start-tag-in-select", + {"name": token["name"]}) + + def endTagOption(self, token): + if self.tree.openElements[-1].name == "option": + self.tree.openElements.pop() + else: + self.parser.parseError("unexpected-end-tag-in-select", + {"name": "option"}) + + def endTagOptgroup(self, token): + # </optgroup> implicitly closes <option> + if (self.tree.openElements[-1].name == "option" and + self.tree.openElements[-2].name == "optgroup"): + self.tree.openElements.pop() + # It also closes </optgroup> + if self.tree.openElements[-1].name == "optgroup": + self.tree.openElements.pop() + # But nothing else + else: + self.parser.parseError("unexpected-end-tag-in-select", + {"name": "optgroup"}) + + def endTagSelect(self, token): + if self.tree.elementInScope("select", variant="table"): + node = self.tree.openElements.pop() + while node.name != "select": + node = self.tree.openElements.pop() + self.parser.resetInsertionMode() + else: + # innerHTML case + self.parser.parseError() + + def endTagTableElements(self, token): + self.parser.parseError("unexpected-end-tag-in-select", + {"name": token["name"]}) + if self.tree.elementInScope(token["name"], variant="table"): + self.endTagSelect("select") + self.parser.phase.processEndTag(token) + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag-in-select", + {"name": token["name"]}) + + +class InSelectInTablePhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = utils.MethodDispatcher([ + (("caption", "table", "tbody", "tfoot", "thead", "tr", "td", "th"), + self.startTagTable) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = utils.MethodDispatcher([ + (("caption", "table", "tbody", "tfoot", "thead", "tr", "td", "th"), + self.endTagTable) + ]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + self.parser.phases["inSelect"].processEOF() + + def processCharacters(self, token): + self.parser.phases["inSelect"].processCharacters(token) + + def startTagTable(self, token): + self.parser.parseError("unexpected-table-element-start-tag-in-select-in-table", {"name": token["name"]}) + self.endTagOther(impliedTagToken("select")) + self.parser.phase.processStartTag(token) + + def startTagOther(self, token): + self.parser.phases["inSelect"].processStartTag(token) + + def endTagTable(self, token): + self.parser.parseError("unexpected-table-element-end-tag-in-select-in-table", {"name": token["name"]}) + if self.tree.elementInScope(token["name"], variant="table"): + self.endTagOther(impliedTagToken("select")) + self.parser.phase.processEndTag(token) + + def endTagOther(self, token): + self.parser.phases["inSelect"].processEndTag(token) + + +class InForeignContentPhase(Phase): + breakoutElements = frozenset(["b", "big", "blockquote", "body", "br", + "center", "code", "dd", "div", "dl", "dt", + "em", "embed", "font", "h1", "h2", "h3", + "h4", "h5", "h6", "head", "hr", "i", "img", + "li", "listing", "menu", "meta", "nobr", + "ol", "p", "pre", "ruby", "s", "small", + "span", "strong", "strike", "sub", "sup", + "table", "tt", "u", "ul", "var"]) + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + def nonHTMLElementInScope(self): + for element in self.tree.openElements[::-1]: + if element.namespace == self.tree.defaultNamespace: + return self.tree.elementInScope(element) + assert False + for item in self.tree.openElements[::-1]: + if item.namespace == self.tree.defaultNamespace: + return True + elif item.nameTuple in scopingElements: + return False + return False + + def adjustSVGTagNames(self, token): + replacements = {"altglyph":"altGlyph", + "altglyphdef":"altGlyphDef", + "altglyphitem":"altGlyphItem", + "animatecolor":"animateColor", + "animatemotion":"animateMotion", + "animatetransform":"animateTransform", + "clippath":"clipPath", + "feblend":"feBlend", + "fecolormatrix":"feColorMatrix", + "fecomponenttransfer":"feComponentTransfer", + "fecomposite":"feComposite", + "feconvolvematrix":"feConvolveMatrix", + "fediffuselighting":"feDiffuseLighting", + "fedisplacementmap":"feDisplacementMap", + "fedistantlight":"feDistantLight", + "feflood":"feFlood", + "fefunca":"feFuncA", + "fefuncb":"feFuncB", + "fefuncg":"feFuncG", + "fefuncr":"feFuncR", + "fegaussianblur":"feGaussianBlur", + "feimage":"feImage", + "femerge":"feMerge", + "femergenode":"feMergeNode", + "femorphology":"feMorphology", + "feoffset":"feOffset", + "fepointlight":"fePointLight", + "fespecularlighting":"feSpecularLighting", + "fespotlight":"feSpotLight", + "fetile":"feTile", + "feturbulence":"feTurbulence", + "foreignobject":"foreignObject", + "glyphref":"glyphRef", + "lineargradient":"linearGradient", + "radialgradient":"radialGradient", + "textpath":"textPath"} + + if token["name"] in replacements: + token["name"] = replacements[token["name"]] + + def processCharacters(self, token): + self.parser.framesetOK = False + Phase.processCharacters(self, token) + + def processEOF(self): + pass + + def processStartTag(self, token): + currentNode = self.tree.openElements[-1] + if (currentNode.namespace == self.tree.defaultNamespace or + (currentNode.namespace == namespaces["mathml"] and + token["name"] not in frozenset(["mglyph", "malignmark"]) and + currentNode.name in frozenset(["mi", "mo", "mn", + "ms", "mtext"])) or + (currentNode.namespace == namespaces["mathml"] and + currentNode.name == "annotation-xml" and + token["name"] == "svg") or + (currentNode.namespace == namespaces["svg"] and + currentNode.name in frozenset(["foreignObject", + "desc", "title"]) + )): + assert self.parser.secondaryPhase != self + self.parser.secondaryPhase.processStartTag(token) + if self.parser.phase == self and self.nonHTMLElementInScope(): + self.parser.phase = self.parser.secondaryPhase + elif token["name"] in self.breakoutElements: + self.parser.parseError("unexpected-html-element-in-foreign-content", + token["name"]) + while (self.tree.openElements[-1].namespace != + self.tree.defaultNamespace): + self.tree.openElements.pop() + self.parser.phase = self.parser.secondaryPhase + self.parser.phase.processStartTag(token) + else: + if currentNode.namespace == namespaces["mathml"]: + self.parser.adjustMathMLAttributes(token) + elif currentNode.namespace == namespaces["svg"]: + self.adjustSVGTagNames(token) + self.parser.adjustSVGAttributes(token) + self.parser.adjustForeignAttributes(token) + token["namespace"] = currentNode.namespace + self.tree.insertElement(token) + if token["selfClosing"]: + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def processEndTag(self, token): + self.adjustSVGTagNames(token) + self.parser.secondaryPhase.processEndTag(token) + if self.parser.phase == self and self.nonHTMLElementInScope(): + self.parser.phase = self.parser.secondaryPhase + +class AfterBodyPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = utils.MethodDispatcher([ + ("html", self.startTagHtml) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = utils.MethodDispatcher([("html", self.endTagHtml)]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + #Stop parsing + pass + + def processComment(self, token): + # This is needed because data is to be appended to the <html> element + # here and not to whatever is currently open. + self.tree.insertComment(token, self.tree.openElements[0]) + + def processCharacters(self, token): + self.parser.parseError("unexpected-char-after-body") + self.parser.phase = self.parser.phases["inBody"] + self.parser.phase.processCharacters(token) + + def startTagHtml(self, token): + self.parser.phases["inBody"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("unexpected-start-tag-after-body", + {"name": token["name"]}) + self.parser.phase = self.parser.phases["inBody"] + self.parser.phase.processStartTag(token) + + def endTagHtml(self,name): + if self.parser.innerHTML: + self.parser.parseError("unexpected-end-tag-after-body-innerhtml") + else: + self.parser.phase = self.parser.phases["afterAfterBody"] + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag-after-body", + {"name": token["name"]}) + self.parser.phase = self.parser.phases["inBody"] + self.parser.phase.processEndTag(token) + +class InFramesetPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-frameset + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("frameset", self.startTagFrameset), + ("frame", self.startTagFrame), + ("noframes", self.startTagNoframes) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = utils.MethodDispatcher([ + ("frameset", self.endTagFrameset), + ("noframes", self.endTagNoframes) + ]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + if self.tree.openElements[-1].name != "html": + self.parser.parseError("eof-in-frameset") + else: + assert self.parser.innerHTML + + def processCharacters(self, token): + self.parser.parseError("unexpected-char-in-frameset") + + def startTagFrameset(self, token): + self.tree.insertElement(token) + + def startTagFrame(self, token): + self.tree.insertElement(token) + self.tree.openElements.pop() + + def startTagNoframes(self, token): + self.parser.phases["inBody"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("unexpected-start-tag-in-frameset", + {"name": token["name"]}) + + def endTagFrameset(self, token): + if self.tree.openElements[-1].name == "html": + # innerHTML case + self.parser.parseError("unexpected-frameset-in-frameset-innerhtml") + else: + self.tree.openElements.pop() + if (not self.parser.innerHTML and + self.tree.openElements[-1].name != "frameset"): + # If we're not in innerHTML mode and the the current node is not a + # "frameset" element (anymore) then switch. + self.parser.phase = self.parser.phases["afterFrameset"] + + def endTagNoframes(self, token): + self.parser.phases["inBody"].processEndTag(token) + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag-in-frameset", + {"name": token["name"]}) + + +class AfterFramesetPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#after3 + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("noframes", self.startTagNoframes) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = utils.MethodDispatcher([ + ("html", self.endTagHtml) + ]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + #Stop parsing + pass + + def processCharacters(self, token): + self.parser.parseError("unexpected-char-after-frameset") + + def startTagNoframes(self, token): + self.parser.phases["inHead"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("unexpected-start-tag-after-frameset", + {"name": token["name"]}) + + def endTagHtml(self, token): + self.parser.phase = self.parser.phases["afterAfterFrameset"] + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag-after-frameset", + {"name": token["name"]}) + + +class AfterAfterBodyPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = utils.MethodDispatcher([ + ("html", self.startTagHtml) + ]) + self.startTagHandler.default = self.startTagOther + + def processEOF(self): + pass + + def processComment(self, token): + self.tree.insertComment(token, self.tree.document) + + def processSpaceCharacters(self, token): + self.parser.phases["inBody"].processSpaceCharacters(token) + + def processCharacters(self, token): + self.parser.parseError("expected-eof-but-got-char") + self.parser.phase = self.parser.phases["inBody"] + self.parser.phase.processCharacters(token) + + def startTagHtml(self, token): + self.parser.phases["inBody"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("expected-eof-but-got-start-tag", + {"name": token["name"]}) + self.parser.phase = self.parser.phases["inBody"] + self.parser.phase.processStartTag(token) + + def processEndTag(self, token): + self.parser.parseError("expected-eof-but-got-end-tag", + {"name": token["name"]}) + self.parser.phase = self.parser.phases["inBody"] + self.parser.phase.processEndTag(token) + +class AfterAfterFramesetPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("noframes", self.startTagNoFrames) + ]) + self.startTagHandler.default = self.startTagOther + + def processEOF(self): + pass + + def processComment(self, token): + self.tree.insertComment(token, self.tree.document) + + def processSpaceCharacters(self, token): + self.parser.phases["inBody"].processSpaceCharacters(token) + + def processCharacters(self, token): + self.parser.parseError("expected-eof-but-got-char") + self.parser.phase = self.parser.phases["inBody"] + self.parser.phase.processCharacters(token) + + def startTagHtml(self, token): + self.parser.phases["inBody"].processStartTag(token) + + def startTagNoFrames(self, token): + self.parser.phases["inHead"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("expected-eof-but-got-start-tag", + {"name": token["name"]}) + self.parser.phase = self.parser.phases["inBody"] + self.parser.phase.processStartTag(token) + + def processEndTag(self, token): + self.parser.parseError("expected-eof-but-got-end-tag", + {"name": token["name"]}) + self.parser.phase = self.parser.phases["inBody"] + self.parser.phase.processEndTag(token) + +def impliedTagToken(name, type="EndTag", attributes = None, + selfClosing = False): + if attributes is None: + attributes = {} + return {"type":tokenTypes[type], "name":name, "data":attributes, + "selfClosing":selfClosing} + +class ParseError(Exception): + """Error in parsed document""" + pass diff --git a/src/html5lib/ihatexml.py b/src/html5lib/ihatexml.py new file mode 100644 index 0000000000..dd78563908 --- /dev/null +++ b/src/html5lib/ihatexml.py @@ -0,0 +1,177 @@ +import re + +baseChar = """[#x0041-#x005A] | [#x0061-#x007A] | [#x00C0-#x00D6] | [#x00D8-#x00F6] | [#x00F8-#x00FF] | [#x0100-#x0131] | [#x0134-#x013E] | [#x0141-#x0148] | [#x014A-#x017E] | [#x0180-#x01C3] | [#x01CD-#x01F0] | [#x01F4-#x01F5] | [#x01FA-#x0217] | [#x0250-#x02A8] | [#x02BB-#x02C1] | #x0386 | [#x0388-#x038A] | #x038C | [#x038E-#x03A1] | [#x03A3-#x03CE] | [#x03D0-#x03D6] | #x03DA | #x03DC | #x03DE | #x03E0 | [#x03E2-#x03F3] | [#x0401-#x040C] | [#x040E-#x044F] | [#x0451-#x045C] | [#x045E-#x0481] | [#x0490-#x04C4] | [#x04C7-#x04C8] | [#x04CB-#x04CC] | [#x04D0-#x04EB] | [#x04EE-#x04F5] | [#x04F8-#x04F9] | [#x0531-#x0556] | #x0559 | [#x0561-#x0586] | [#x05D0-#x05EA] | [#x05F0-#x05F2] | [#x0621-#x063A] | [#x0641-#x064A] | [#x0671-#x06B7] | [#x06BA-#x06BE] | [#x06C0-#x06CE] | [#x06D0-#x06D3] | #x06D5 | [#x06E5-#x06E6] | [#x0905-#x0939] | #x093D | [#x0958-#x0961] | [#x0985-#x098C] | [#x098F-#x0990] | [#x0993-#x09A8] | [#x09AA-#x09B0] | #x09B2 | [#x09B6-#x09B9] | [#x09DC-#x09DD] | [#x09DF-#x09E1] | [#x09F0-#x09F1] | [#x0A05-#x0A0A] | [#x0A0F-#x0A10] | [#x0A13-#x0A28] | [#x0A2A-#x0A30] | [#x0A32-#x0A33] | [#x0A35-#x0A36] | [#x0A38-#x0A39] | [#x0A59-#x0A5C] | #x0A5E | [#x0A72-#x0A74] | [#x0A85-#x0A8B] | #x0A8D | [#x0A8F-#x0A91] | [#x0A93-#x0AA8] | [#x0AAA-#x0AB0] | [#x0AB2-#x0AB3] | [#x0AB5-#x0AB9] | #x0ABD | #x0AE0 | [#x0B05-#x0B0C] | [#x0B0F-#x0B10] | [#x0B13-#x0B28] | [#x0B2A-#x0B30] | [#x0B32-#x0B33] | [#x0B36-#x0B39] | #x0B3D | [#x0B5C-#x0B5D] | [#x0B5F-#x0B61] | [#x0B85-#x0B8A] | [#x0B8E-#x0B90] | [#x0B92-#x0B95] | [#x0B99-#x0B9A] | #x0B9C | [#x0B9E-#x0B9F] | [#x0BA3-#x0BA4] | [#x0BA8-#x0BAA] | [#x0BAE-#x0BB5] | [#x0BB7-#x0BB9] | [#x0C05-#x0C0C] | [#x0C0E-#x0C10] | [#x0C12-#x0C28] | [#x0C2A-#x0C33] | [#x0C35-#x0C39] | [#x0C60-#x0C61] | [#x0C85-#x0C8C] | [#x0C8E-#x0C90] | [#x0C92-#x0CA8] | [#x0CAA-#x0CB3] | [#x0CB5-#x0CB9] | #x0CDE | [#x0CE0-#x0CE1] | [#x0D05-#x0D0C] | [#x0D0E-#x0D10] | [#x0D12-#x0D28] | [#x0D2A-#x0D39] | [#x0D60-#x0D61] | [#x0E01-#x0E2E] | #x0E30 | [#x0E32-#x0E33] | [#x0E40-#x0E45] | [#x0E81-#x0E82] | #x0E84 | [#x0E87-#x0E88] | #x0E8A | #x0E8D | [#x0E94-#x0E97] | [#x0E99-#x0E9F] | [#x0EA1-#x0EA3] | #x0EA5 | #x0EA7 | [#x0EAA-#x0EAB] | [#x0EAD-#x0EAE] | #x0EB0 | [#x0EB2-#x0EB3] | #x0EBD | [#x0EC0-#x0EC4] | [#x0F40-#x0F47] | [#x0F49-#x0F69] | [#x10A0-#x10C5] | [#x10D0-#x10F6] | #x1100 | [#x1102-#x1103] | [#x1105-#x1107] | #x1109 | [#x110B-#x110C] | [#x110E-#x1112] | #x113C | #x113E | #x1140 | #x114C | #x114E | #x1150 | [#x1154-#x1155] | #x1159 | [#x115F-#x1161] | #x1163 | #x1165 | #x1167 | #x1169 | [#x116D-#x116E] | [#x1172-#x1173] | #x1175 | #x119E | #x11A8 | #x11AB | [#x11AE-#x11AF] | [#x11B7-#x11B8] | #x11BA | [#x11BC-#x11C2] | #x11EB | #x11F0 | #x11F9 | [#x1E00-#x1E9B] | [#x1EA0-#x1EF9] | [#x1F00-#x1F15] | [#x1F18-#x1F1D] | [#x1F20-#x1F45] | [#x1F48-#x1F4D] | [#x1F50-#x1F57] | #x1F59 | #x1F5B | #x1F5D | [#x1F5F-#x1F7D] | [#x1F80-#x1FB4] | [#x1FB6-#x1FBC] | #x1FBE | [#x1FC2-#x1FC4] | [#x1FC6-#x1FCC] | [#x1FD0-#x1FD3] | [#x1FD6-#x1FDB] | [#x1FE0-#x1FEC] | [#x1FF2-#x1FF4] | [#x1FF6-#x1FFC] | #x2126 | [#x212A-#x212B] | #x212E | [#x2180-#x2182] | [#x3041-#x3094] | [#x30A1-#x30FA] | [#x3105-#x312C] | [#xAC00-#xD7A3]""" + +ideographic = """[#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]""" + +combiningCharacter = """[#x0300-#x0345] | [#x0360-#x0361] | [#x0483-#x0486] | [#x0591-#x05A1] | [#x05A3-#x05B9] | [#x05BB-#x05BD] | #x05BF | [#x05C1-#x05C2] | #x05C4 | [#x064B-#x0652] | #x0670 | [#x06D6-#x06DC] | [#x06DD-#x06DF] | [#x06E0-#x06E4] | [#x06E7-#x06E8] | [#x06EA-#x06ED] | [#x0901-#x0903] | #x093C | [#x093E-#x094C] | #x094D | [#x0951-#x0954] | [#x0962-#x0963] | [#x0981-#x0983] | #x09BC | #x09BE | #x09BF | [#x09C0-#x09C4] | [#x09C7-#x09C8] | [#x09CB-#x09CD] | #x09D7 | [#x09E2-#x09E3] | #x0A02 | #x0A3C | #x0A3E | #x0A3F | [#x0A40-#x0A42] | [#x0A47-#x0A48] | [#x0A4B-#x0A4D] | [#x0A70-#x0A71] | [#x0A81-#x0A83] | #x0ABC | [#x0ABE-#x0AC5] | [#x0AC7-#x0AC9] | [#x0ACB-#x0ACD] | [#x0B01-#x0B03] | #x0B3C | [#x0B3E-#x0B43] | [#x0B47-#x0B48] | [#x0B4B-#x0B4D] | [#x0B56-#x0B57] | [#x0B82-#x0B83] | [#x0BBE-#x0BC2] | [#x0BC6-#x0BC8] | [#x0BCA-#x0BCD] | #x0BD7 | [#x0C01-#x0C03] | [#x0C3E-#x0C44] | [#x0C46-#x0C48] | [#x0C4A-#x0C4D] | [#x0C55-#x0C56] | [#x0C82-#x0C83] | [#x0CBE-#x0CC4] | [#x0CC6-#x0CC8] | [#x0CCA-#x0CCD] | [#x0CD5-#x0CD6] | [#x0D02-#x0D03] | [#x0D3E-#x0D43] | [#x0D46-#x0D48] | [#x0D4A-#x0D4D] | #x0D57 | #x0E31 | [#x0E34-#x0E3A] | [#x0E47-#x0E4E] | #x0EB1 | [#x0EB4-#x0EB9] | [#x0EBB-#x0EBC] | [#x0EC8-#x0ECD] | [#x0F18-#x0F19] | #x0F35 | #x0F37 | #x0F39 | #x0F3E | #x0F3F | [#x0F71-#x0F84] | [#x0F86-#x0F8B] | [#x0F90-#x0F95] | #x0F97 | [#x0F99-#x0FAD] | [#x0FB1-#x0FB7] | #x0FB9 | [#x20D0-#x20DC] | #x20E1 | [#x302A-#x302F] | #x3099 | #x309A""" + +digit = """[#x0030-#x0039] | [#x0660-#x0669] | [#x06F0-#x06F9] | [#x0966-#x096F] | [#x09E6-#x09EF] | [#x0A66-#x0A6F] | [#x0AE6-#x0AEF] | [#x0B66-#x0B6F] | [#x0BE7-#x0BEF] | [#x0C66-#x0C6F] | [#x0CE6-#x0CEF] | [#x0D66-#x0D6F] | [#x0E50-#x0E59] | [#x0ED0-#x0ED9] | [#x0F20-#x0F29]""" + +extender = """#x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] | [#x309D-#x309E] | [#x30FC-#x30FE]""" + +letter = " | ".join([baseChar, ideographic]) + +#Without the +name = " | ".join([letter, digit, ".", "-", "_", combiningCharacter, + extender]) +nameFirst = " | ".join([letter, "_"]) + +reChar = re.compile(r"#x([\d|A-F]{4,4})") +reCharRange = re.compile(r"\[#x([\d|A-F]{4,4})-#x([\d|A-F]{4,4})\]") + +def charStringToList(chars): + charRanges = [item.strip() for item in chars.split(" | ")] + rv = [] + for item in charRanges: + foundMatch = False + for regexp in (reChar, reCharRange): + match = regexp.match(item) + if match is not None: + rv.append([hexToInt(item) for item in match.groups()]) + if len(rv[-1]) == 1: + rv[-1] = rv[-1]*2 + foundMatch = True + break + if not foundMatch: + assert len(item) == 1 + + rv.append([ord(item)] * 2) + rv = normaliseCharList(rv) + return rv + +def normaliseCharList(charList): + charList = sorted(charList) + for item in charList: + assert item[1] >= item[0] + rv = [] + i = 0 + while i < len(charList): + j = 1 + rv.append(charList[i]) + while i + j < len(charList) and charList[i+j][0] <= rv[-1][1] + 1: + rv[-1][1] = charList[i+j][1] + j += 1 + i += j + return rv + +#We don't really support characters above the BMP :( +max_unicode = int("FFFF", 16) + +def missingRanges(charList): + rv = [] + if charList[0] != 0: + rv.append([0, charList[0][0] - 1]) + for i, item in enumerate(charList[:-1]): + rv.append([item[1]+1, charList[i+1][0] - 1]) + if charList[-1][1] != max_unicode: + rv.append([charList[-1][1] + 1, max_unicode]) + return rv + +def listToRegexpStr(charList): + rv = [] + for item in charList: + if item[0] == item[1]: + rv.append(escapeRegexp(unichr(item[0]))) + else: + rv.append(escapeRegexp(unichr(item[0])) + "-" + + escapeRegexp(unichr(item[1]))) + return "[%s]"%"".join(rv) + +def hexToInt(hex_str): + return int(hex_str, 16) + +def escapeRegexp(string): + specialCharacters = (".", "^", "$", "*", "+", "?", "{", "}", + "[", "]", "|", "(", ")", "-") + for char in specialCharacters: + string = string.replace(char, "\\" + char) + if char in string: + print string + + return string + +#output from the above +nonXmlNameBMPRegexp = re.compile(u'[\x00-,/:-@\\[-\\^`\\{-\xb6\xb8-\xbf\xd7\xf7\u0132-\u0133\u013f-\u0140\u0149\u017f\u01c4-\u01cc\u01f1-\u01f3\u01f6-\u01f9\u0218-\u024f\u02a9-\u02ba\u02c2-\u02cf\u02d2-\u02ff\u0346-\u035f\u0362-\u0385\u038b\u038d\u03a2\u03cf\u03d7-\u03d9\u03db\u03dd\u03df\u03e1\u03f4-\u0400\u040d\u0450\u045d\u0482\u0487-\u048f\u04c5-\u04c6\u04c9-\u04ca\u04cd-\u04cf\u04ec-\u04ed\u04f6-\u04f7\u04fa-\u0530\u0557-\u0558\u055a-\u0560\u0587-\u0590\u05a2\u05ba\u05be\u05c0\u05c3\u05c5-\u05cf\u05eb-\u05ef\u05f3-\u0620\u063b-\u063f\u0653-\u065f\u066a-\u066f\u06b8-\u06b9\u06bf\u06cf\u06d4\u06e9\u06ee-\u06ef\u06fa-\u0900\u0904\u093a-\u093b\u094e-\u0950\u0955-\u0957\u0964-\u0965\u0970-\u0980\u0984\u098d-\u098e\u0991-\u0992\u09a9\u09b1\u09b3-\u09b5\u09ba-\u09bb\u09bd\u09c5-\u09c6\u09c9-\u09ca\u09ce-\u09d6\u09d8-\u09db\u09de\u09e4-\u09e5\u09f2-\u0a01\u0a03-\u0a04\u0a0b-\u0a0e\u0a11-\u0a12\u0a29\u0a31\u0a34\u0a37\u0a3a-\u0a3b\u0a3d\u0a43-\u0a46\u0a49-\u0a4a\u0a4e-\u0a58\u0a5d\u0a5f-\u0a65\u0a75-\u0a80\u0a84\u0a8c\u0a8e\u0a92\u0aa9\u0ab1\u0ab4\u0aba-\u0abb\u0ac6\u0aca\u0ace-\u0adf\u0ae1-\u0ae5\u0af0-\u0b00\u0b04\u0b0d-\u0b0e\u0b11-\u0b12\u0b29\u0b31\u0b34-\u0b35\u0b3a-\u0b3b\u0b44-\u0b46\u0b49-\u0b4a\u0b4e-\u0b55\u0b58-\u0b5b\u0b5e\u0b62-\u0b65\u0b70-\u0b81\u0b84\u0b8b-\u0b8d\u0b91\u0b96-\u0b98\u0b9b\u0b9d\u0ba0-\u0ba2\u0ba5-\u0ba7\u0bab-\u0bad\u0bb6\u0bba-\u0bbd\u0bc3-\u0bc5\u0bc9\u0bce-\u0bd6\u0bd8-\u0be6\u0bf0-\u0c00\u0c04\u0c0d\u0c11\u0c29\u0c34\u0c3a-\u0c3d\u0c45\u0c49\u0c4e-\u0c54\u0c57-\u0c5f\u0c62-\u0c65\u0c70-\u0c81\u0c84\u0c8d\u0c91\u0ca9\u0cb4\u0cba-\u0cbd\u0cc5\u0cc9\u0cce-\u0cd4\u0cd7-\u0cdd\u0cdf\u0ce2-\u0ce5\u0cf0-\u0d01\u0d04\u0d0d\u0d11\u0d29\u0d3a-\u0d3d\u0d44-\u0d45\u0d49\u0d4e-\u0d56\u0d58-\u0d5f\u0d62-\u0d65\u0d70-\u0e00\u0e2f\u0e3b-\u0e3f\u0e4f\u0e5a-\u0e80\u0e83\u0e85-\u0e86\u0e89\u0e8b-\u0e8c\u0e8e-\u0e93\u0e98\u0ea0\u0ea4\u0ea6\u0ea8-\u0ea9\u0eac\u0eaf\u0eba\u0ebe-\u0ebf\u0ec5\u0ec7\u0ece-\u0ecf\u0eda-\u0f17\u0f1a-\u0f1f\u0f2a-\u0f34\u0f36\u0f38\u0f3a-\u0f3d\u0f48\u0f6a-\u0f70\u0f85\u0f8c-\u0f8f\u0f96\u0f98\u0fae-\u0fb0\u0fb8\u0fba-\u109f\u10c6-\u10cf\u10f7-\u10ff\u1101\u1104\u1108\u110a\u110d\u1113-\u113b\u113d\u113f\u1141-\u114b\u114d\u114f\u1151-\u1153\u1156-\u1158\u115a-\u115e\u1162\u1164\u1166\u1168\u116a-\u116c\u116f-\u1171\u1174\u1176-\u119d\u119f-\u11a7\u11a9-\u11aa\u11ac-\u11ad\u11b0-\u11b6\u11b9\u11bb\u11c3-\u11ea\u11ec-\u11ef\u11f1-\u11f8\u11fa-\u1dff\u1e9c-\u1e9f\u1efa-\u1eff\u1f16-\u1f17\u1f1e-\u1f1f\u1f46-\u1f47\u1f4e-\u1f4f\u1f58\u1f5a\u1f5c\u1f5e\u1f7e-\u1f7f\u1fb5\u1fbd\u1fbf-\u1fc1\u1fc5\u1fcd-\u1fcf\u1fd4-\u1fd5\u1fdc-\u1fdf\u1fed-\u1ff1\u1ff5\u1ffd-\u20cf\u20dd-\u20e0\u20e2-\u2125\u2127-\u2129\u212c-\u212d\u212f-\u217f\u2183-\u3004\u3006\u3008-\u3020\u3030\u3036-\u3040\u3095-\u3098\u309b-\u309c\u309f-\u30a0\u30fb\u30ff-\u3104\u312d-\u4dff\u9fa6-\uabff\ud7a4-\uffff]') + +nonXmlNameFirstBMPRegexp = re.compile(u'[\x00-@\\[-\\^`\\{-\xbf\xd7\xf7\u0132-\u0133\u013f-\u0140\u0149\u017f\u01c4-\u01cc\u01f1-\u01f3\u01f6-\u01f9\u0218-\u024f\u02a9-\u02ba\u02c2-\u0385\u0387\u038b\u038d\u03a2\u03cf\u03d7-\u03d9\u03db\u03dd\u03df\u03e1\u03f4-\u0400\u040d\u0450\u045d\u0482-\u048f\u04c5-\u04c6\u04c9-\u04ca\u04cd-\u04cf\u04ec-\u04ed\u04f6-\u04f7\u04fa-\u0530\u0557-\u0558\u055a-\u0560\u0587-\u05cf\u05eb-\u05ef\u05f3-\u0620\u063b-\u0640\u064b-\u0670\u06b8-\u06b9\u06bf\u06cf\u06d4\u06d6-\u06e4\u06e7-\u0904\u093a-\u093c\u093e-\u0957\u0962-\u0984\u098d-\u098e\u0991-\u0992\u09a9\u09b1\u09b3-\u09b5\u09ba-\u09db\u09de\u09e2-\u09ef\u09f2-\u0a04\u0a0b-\u0a0e\u0a11-\u0a12\u0a29\u0a31\u0a34\u0a37\u0a3a-\u0a58\u0a5d\u0a5f-\u0a71\u0a75-\u0a84\u0a8c\u0a8e\u0a92\u0aa9\u0ab1\u0ab4\u0aba-\u0abc\u0abe-\u0adf\u0ae1-\u0b04\u0b0d-\u0b0e\u0b11-\u0b12\u0b29\u0b31\u0b34-\u0b35\u0b3a-\u0b3c\u0b3e-\u0b5b\u0b5e\u0b62-\u0b84\u0b8b-\u0b8d\u0b91\u0b96-\u0b98\u0b9b\u0b9d\u0ba0-\u0ba2\u0ba5-\u0ba7\u0bab-\u0bad\u0bb6\u0bba-\u0c04\u0c0d\u0c11\u0c29\u0c34\u0c3a-\u0c5f\u0c62-\u0c84\u0c8d\u0c91\u0ca9\u0cb4\u0cba-\u0cdd\u0cdf\u0ce2-\u0d04\u0d0d\u0d11\u0d29\u0d3a-\u0d5f\u0d62-\u0e00\u0e2f\u0e31\u0e34-\u0e3f\u0e46-\u0e80\u0e83\u0e85-\u0e86\u0e89\u0e8b-\u0e8c\u0e8e-\u0e93\u0e98\u0ea0\u0ea4\u0ea6\u0ea8-\u0ea9\u0eac\u0eaf\u0eb1\u0eb4-\u0ebc\u0ebe-\u0ebf\u0ec5-\u0f3f\u0f48\u0f6a-\u109f\u10c6-\u10cf\u10f7-\u10ff\u1101\u1104\u1108\u110a\u110d\u1113-\u113b\u113d\u113f\u1141-\u114b\u114d\u114f\u1151-\u1153\u1156-\u1158\u115a-\u115e\u1162\u1164\u1166\u1168\u116a-\u116c\u116f-\u1171\u1174\u1176-\u119d\u119f-\u11a7\u11a9-\u11aa\u11ac-\u11ad\u11b0-\u11b6\u11b9\u11bb\u11c3-\u11ea\u11ec-\u11ef\u11f1-\u11f8\u11fa-\u1dff\u1e9c-\u1e9f\u1efa-\u1eff\u1f16-\u1f17\u1f1e-\u1f1f\u1f46-\u1f47\u1f4e-\u1f4f\u1f58\u1f5a\u1f5c\u1f5e\u1f7e-\u1f7f\u1fb5\u1fbd\u1fbf-\u1fc1\u1fc5\u1fcd-\u1fcf\u1fd4-\u1fd5\u1fdc-\u1fdf\u1fed-\u1ff1\u1ff5\u1ffd-\u2125\u2127-\u2129\u212c-\u212d\u212f-\u217f\u2183-\u3006\u3008-\u3020\u302a-\u3040\u3095-\u30a0\u30fb-\u3104\u312d-\u4dff\u9fa6-\uabff\ud7a4-\uffff]') + +class InfosetFilter(object): + replacementRegexp = re.compile(r"U[\dA-F]{5,5}") + def __init__(self, replaceChars = None, + dropXmlnsLocalName = False, + dropXmlnsAttrNs = False, + preventDoubleDashComments = False, + preventDashAtCommentEnd = False, + replaceFormFeedCharacters = True): + + self.dropXmlnsLocalName = dropXmlnsLocalName + self.dropXmlnsAttrNs = dropXmlnsAttrNs + + self.preventDoubleDashComments = preventDoubleDashComments + self.preventDashAtCommentEnd = preventDashAtCommentEnd + + self.replaceFormFeedCharacters = replaceFormFeedCharacters + + self.replaceCache = {} + + def coerceAttribute(self, name, namespace=None): + if self.dropXmlnsLocalName and name.startswith("xmlns:"): + #Need a datalosswarning here + return None + elif (self.dropXmlnsAttrNs and + namespace == "http://www.w3.org/2000/xmlns/"): + return None + else: + return self.toXmlName(name) + + def coerceElement(self, name, namespace=None): + return self.toXmlName(name) + + def coerceComment(self, data): + if self.preventDoubleDashComments: + while "--" in data: + data = data.replace("--", "- -") + return data + + def coerceCharacters(self, data): + if self.replaceFormFeedCharacters: + data = data.replace("\x0C", " ") + #Other non-xml characters + return data + + def toXmlName(self, name): + nameFirst = name[0] + nameRest = name[1:] + m = nonXmlNameFirstBMPRegexp.match(nameFirst) + if m: + nameFirstOutput = self.getReplacementCharacter(nameFirst) + else: + nameFirstOutput = nameFirst + + nameRestOutput = nameRest + replaceChars = set(nonXmlNameBMPRegexp.findall(nameRest)) + for char in replaceChars: + replacement = self.getReplacementCharacter(char) + nameRestOutput = nameRestOutput.replace(char, replacement) + return nameFirstOutput + nameRestOutput + + def getReplacementCharacter(self, char): + if char in self.replaceCache: + replacement = self.replaceCache[char] + else: + replacement = self.escapeChar(char) + return replacement + + def fromXmlName(self, name): + for item in set(self.replacementRegexp.findall(name)): + name = name.replace(item, self.unescapeChar(item)) + return name + + def escapeChar(self, char): + replacement = "U" + hex(ord(char))[2:].upper().rjust(5, "0") + self.replaceCache[char] = replacement + return replacement + + def unescapeChar(self, charcode): + return unichr(int(charcode[1:], 16)) diff --git a/src/html5lib/inputstream.py b/src/html5lib/inputstream.py new file mode 100644 index 0000000000..8e2a3896ce --- /dev/null +++ b/src/html5lib/inputstream.py @@ -0,0 +1,794 @@ +import codecs +import re +import types +import sys + +from constants import EOF, spaceCharacters, asciiLetters, asciiUppercase +from constants import encodings, ReparseException + +#Non-unicode versions of constants for use in the pre-parser +spaceCharactersBytes = frozenset([str(item) for item in spaceCharacters]) +asciiLettersBytes = frozenset([str(item) for item in asciiLetters]) +asciiUppercaseBytes = frozenset([str(item) for item in asciiUppercase]) +spacesAngleBrackets = spaceCharactersBytes | frozenset([">", "<"]) + +invalid_unicode_re = re.compile(u"[\u0001-\u0008\u000B\u000E-\u001F\u007F-\u009F\uD800-\uDFFF\uFDD0-\uFDEF\uFFFE\uFFFF\U0001FFFE\U0001FFFF\U0002FFFE\U0002FFFF\U0003FFFE\U0003FFFF\U0004FFFE\U0004FFFF\U0005FFFE\U0005FFFF\U0006FFFE\U0006FFFF\U0007FFFE\U0007FFFF\U0008FFFE\U0008FFFF\U0009FFFE\U0009FFFF\U000AFFFE\U000AFFFF\U000BFFFE\U000BFFFF\U000CFFFE\U000CFFFF\U000DFFFE\U000DFFFF\U000EFFFE\U000EFFFF\U000FFFFE\U000FFFFF\U0010FFFE\U0010FFFF]") + +non_bmp_invalid_codepoints = set([0x1FFFE, 0x1FFFF, 0x2FFFE, 0x2FFFF, 0x3FFFE, + 0x3FFFF, 0x4FFFE, 0x4FFFF, 0x5FFFE, 0x5FFFF, + 0x6FFFE, 0x6FFFF, 0x7FFFE, 0x7FFFF, 0x8FFFE, + 0x8FFFF, 0x9FFFE, 0x9FFFF, 0xAFFFE, 0xAFFFF, + 0xBFFFE, 0xBFFFF, 0xCFFFE, 0xCFFFF, 0xDFFFE, + 0xDFFFF, 0xEFFFE, 0xEFFFF, 0xFFFFE, 0xFFFFF, + 0x10FFFE, 0x10FFFF]) + +ascii_punctuation_re = re.compile(ur"[\u0009-\u000D\u0020-\u002F\u003A-\u0040\u005B-\u0060\u007B-\u007E]") + +# Cache for charsUntil() +charsUntilRegEx = {} + +class BufferedStream: + """Buffering for streams that do not have buffering of their own + + The buffer is implemented as a list of chunks on the assumption that + joining many strings will be slow since it is O(n**2) + """ + + def __init__(self, stream): + self.stream = stream + self.buffer = [] + self.position = [-1,0] #chunk number, offset + + def tell(self): + pos = 0 + for chunk in self.buffer[:self.position[0]]: + pos += len(chunk) + pos += self.position[1] + return pos + + def seek(self, pos): + assert pos < self._bufferedBytes() + offset = pos + i = 0 + while len(self.buffer[i]) < offset: + offset -= pos + i += 1 + self.position = [i, offset] + + def read(self, bytes): + if not self.buffer: + return self._readStream(bytes) + elif (self.position[0] == len(self.buffer) and + self.position[1] == len(self.buffer[-1])): + return self._readStream(bytes) + else: + return self._readFromBuffer(bytes) + + def _bufferedBytes(self): + return sum([len(item) for item in self.buffer]) + + def _readStream(self, bytes): + data = self.stream.read(bytes) + self.buffer.append(data) + self.position[0] += 1 + self.position[1] = len(data) + return data + + def _readFromBuffer(self, bytes): + remainingBytes = bytes + rv = [] + bufferIndex = self.position[0] + bufferOffset = self.position[1] + while bufferIndex < len(self.buffer) and remainingBytes != 0: + assert remainingBytes > 0 + bufferedData = self.buffer[bufferIndex] + + if remainingBytes <= len(bufferedData) - bufferOffset: + bytesToRead = remainingBytes + self.position = [bufferIndex, bufferOffset + bytesToRead] + else: + bytesToRead = len(bufferedData) - bufferOffset + self.position = [bufferIndex, len(bufferedData)] + bufferIndex += 1 + data = rv.append(bufferedData[bufferOffset: + bufferOffset + bytesToRead]) + remainingBytes -= bytesToRead + + bufferOffset = 0 + + if remainingBytes: + rv.append(self._readStream(remainingBytes)) + + return "".join(rv) + + + +class HTMLInputStream: + """Provides a unicode stream of characters to the HTMLTokenizer. + + This class takes care of character encoding and removing or replacing + incorrect byte-sequences and also provides column and line tracking. + + """ + + _defaultChunkSize = 10240 + + def __init__(self, source, encoding=None, parseMeta=True, chardet=True): + """Initialises the HTMLInputStream. + + HTMLInputStream(source, [encoding]) -> Normalized stream from source + for use by html5lib. + + source can be either a file-object, local filename or a string. + + The optional encoding parameter must be a string that indicates + the encoding. If specified, that encoding will be used, + regardless of any BOM or later declaration (such as in a meta + element) + + parseMeta - Look for a <meta> element containing encoding information + + """ + + #Craziness + if len(u"\U0010FFFF") == 1: + self.reportCharacterErrors = self.characterErrorsUCS4 + else: + self.reportCharacterErrors = self.characterErrorsUCS2 + + # List of where new lines occur + self.newLines = [0] + + self.charEncoding = (codecName(encoding), "certain") + + # Raw Stream - for unicode objects this will encode to utf-8 and set + # self.charEncoding as appropriate + self.rawStream = self.openStream(source) + + # Encoding Information + #Number of bytes to use when looking for a meta element with + #encoding information + self.numBytesMeta = 512 + #Number of bytes to use when using detecting encoding using chardet + self.numBytesChardet = 100 + #Encoding to use if no other information can be found + self.defaultEncoding = "windows-1252" + + #Detect encoding iff no explicit "transport level" encoding is supplied + if (self.charEncoding[0] is None): + self.charEncoding = self.detectEncoding(parseMeta, chardet) + + + self.reset() + + def reset(self): + self.dataStream = codecs.getreader(self.charEncoding[0])(self.rawStream, + 'replace') + + self.chunk = u"" + self.chunkSize = 0 + self.chunkOffset = 0 + self.errors = [] + + # number of (complete) lines in previous chunks + self.prevNumLines = 0 + # number of columns in the last line of the previous chunk + self.prevNumCols = 0 + + #Flag to indicate we may have a CR LF broken across a data chunk + self._lastChunkEndsWithCR = False + + def openStream(self, source): + """Produces a file object from source. + + source can be either a file object, local filename or a string. + + """ + # Already a file object + if hasattr(source, 'read'): + stream = source + else: + # Otherwise treat source as a string and convert to a file object + if isinstance(source, unicode): + source = source.encode('utf-8') + self.charEncoding = ("utf-8", "certain") + import cStringIO + stream = cStringIO.StringIO(str(source)) + + if (not(hasattr(stream, "tell") and hasattr(stream, "seek")) or + stream is sys.stdin): + stream = BufferedStream(stream) + + return stream + + def detectEncoding(self, parseMeta=True, chardet=True): + #First look for a BOM + #This will also read past the BOM if present + encoding = self.detectBOM() + confidence = "certain" + #If there is no BOM need to look for meta elements with encoding + #information + if encoding is None and parseMeta: + encoding = self.detectEncodingMeta() + confidence = "tentative" + #Guess with chardet, if avaliable + if encoding is None and chardet: + confidence = "tentative" + try: + from chardet.universaldetector import UniversalDetector + buffers = [] + detector = UniversalDetector() + while not detector.done: + buffer = self.rawStream.read(self.numBytesChardet) + if not buffer: + break + buffers.append(buffer) + detector.feed(buffer) + detector.close() + encoding = detector.result['encoding'] + self.rawStream.seek(0) + except ImportError: + pass + # If all else fails use the default encoding + if encoding is None: + confidence="tentative" + encoding = self.defaultEncoding + + #Substitute for equivalent encodings: + encodingSub = {"iso-8859-1":"windows-1252"} + + if encoding.lower() in encodingSub: + encoding = encodingSub[encoding.lower()] + + return encoding, confidence + + def changeEncoding(self, newEncoding): + newEncoding = codecName(newEncoding) + if newEncoding in ("utf-16", "utf-16-be", "utf-16-le"): + newEncoding = "utf-8" + if newEncoding is None: + return + elif newEncoding == self.charEncoding[0]: + self.charEncoding = (self.charEncoding[0], "certain") + else: + self.rawStream.seek(0) + self.reset() + self.charEncoding = (newEncoding, "certain") + raise ReparseException, "Encoding changed from %s to %s"%(self.charEncoding[0], newEncoding) + + def detectBOM(self): + """Attempts to detect at BOM at the start of the stream. If + an encoding can be determined from the BOM return the name of the + encoding otherwise return None""" + bomDict = { + codecs.BOM_UTF8: 'utf-8', + codecs.BOM_UTF16_LE: 'utf-16-le', codecs.BOM_UTF16_BE: 'utf-16-be', + codecs.BOM_UTF32_LE: 'utf-32-le', codecs.BOM_UTF32_BE: 'utf-32-be' + } + + # Go to beginning of file and read in 4 bytes + string = self.rawStream.read(4) + + # Try detecting the BOM using bytes from the string + encoding = bomDict.get(string[:3]) # UTF-8 + seek = 3 + if not encoding: + # Need to detect UTF-32 before UTF-16 + encoding = bomDict.get(string) # UTF-32 + seek = 4 + if not encoding: + encoding = bomDict.get(string[:2]) # UTF-16 + seek = 2 + + # Set the read position past the BOM if one was found, otherwise + # set it to the start of the stream + self.rawStream.seek(encoding and seek or 0) + + return encoding + + def detectEncodingMeta(self): + """Report the encoding declared by the meta element + """ + buffer = self.rawStream.read(self.numBytesMeta) + parser = EncodingParser(buffer) + self.rawStream.seek(0) + encoding = parser.getEncoding() + + if encoding in ("utf-16", "utf-16-be", "utf-16-le"): + encoding = "utf-8" + + return encoding + + def _position(self, offset): + chunk = self.chunk + nLines = chunk.count(u'\n', 0, offset) + positionLine = self.prevNumLines + nLines + lastLinePos = chunk.rfind(u'\n', 0, offset) + if lastLinePos == -1: + positionColumn = self.prevNumCols + offset + else: + positionColumn = offset - (lastLinePos + 1) + return (positionLine, positionColumn) + + def position(self): + """Returns (line, col) of the current position in the stream.""" + line, col = self._position(self.chunkOffset) + return (line+1, col) + + def char(self): + """ Read one character from the stream or queue if available. Return + EOF when EOF is reached. + """ + # Read a new chunk from the input stream if necessary + if self.chunkOffset >= self.chunkSize: + if not self.readChunk(): + return EOF + + chunkOffset = self.chunkOffset + char = self.chunk[chunkOffset] + self.chunkOffset = chunkOffset + 1 + + return char + + def readChunk(self, chunkSize=None): + if chunkSize is None: + chunkSize = self._defaultChunkSize + + self.prevNumLines, self.prevNumCols = self._position(self.chunkSize) + + self.chunk = u"" + self.chunkSize = 0 + self.chunkOffset = 0 + + data = self.dataStream.read(chunkSize) + + if not data: + return False + + self.reportCharacterErrors(data) + + data = data.replace(u"\u0000", u"\ufffd") + #Check for CR LF broken across chunks + if (self._lastChunkEndsWithCR and data[0] == u"\n"): + data = data[1:] + # Stop if the chunk is now empty + if not data: + return False + self._lastChunkEndsWithCR = data[-1] == u"\r" + data = data.replace(u"\r\n", u"\n") + data = data.replace(u"\r", u"\n") + + self.chunk = data + self.chunkSize = len(data) + + return True + + def characterErrorsUCS4(self, data): + for i in xrange(data.count(u"\u0000")): + self.errors.append("null-character") + for i in xrange(len(invalid_unicode_re.findall(data))): + self.errors.append("invalid-codepoint") + + def characterErrorsUCS2(self, data): + #Someone picked the wrong compile option + #You lose + for i in xrange(data.count(u"\u0000")): + self.errors.append("null-character") + skip = False + import sys + for match in invalid_unicode_re.finditer(data): + if skip: + continue + codepoint = ord(match.group()) + pos = match.start() + #Pretty sure there should be endianness issues here + if (codepoint >= 0xD800 and codepoint <= 0xDBFF and + pos < len(data) - 1 and + ord(data[pos + 1]) >= 0xDC00 and + ord(data[pos + 1]) <= 0xDFFF): + #We have a surrogate pair! + #From a perl manpage + char_val = (0x10000 + (codepoint - 0xD800) * 0x400 + + (ord(data[pos + 1]) - 0xDC00)) + if char_val in non_bmp_invalid_codepoints: + self.errors.append("invalid-codepoint") + skip = True + elif (codepoint >= 0xD800 and codepoint <= 0xDFFF and + pos == len(data) - 1): + self.errors.append("invalid-codepoint") + else: + skip = False + self.errors.append("invalid-codepoint") + #This is still wrong if it is possible for a surrogate pair to break a + #chunk boundary + + def charsUntil(self, characters, opposite = False): + """ Returns a string of characters from the stream up to but not + including any character in 'characters' or EOF. 'characters' must be + a container that supports the 'in' method and iteration over its + characters. + """ + + # Use a cache of regexps to find the required characters + try: + chars = charsUntilRegEx[(characters, opposite)] + except KeyError: + if __debug__: + for c in characters: + assert(ord(c) < 128) + regex = u"".join([u"\\x%02x" % ord(c) for c in characters]) + if not opposite: + regex = u"^%s" % regex + chars = charsUntilRegEx[(characters, opposite)] = re.compile(u"[%s]+" % regex) + + rv = [] + + while True: + # Find the longest matching prefix + m = chars.match(self.chunk, self.chunkOffset) + if m is None: + # If nothing matched, and it wasn't because we ran out of chunk, + # then stop + if self.chunkOffset != self.chunkSize: + break + else: + end = m.end() + # If not the whole chunk matched, return everything + # up to the part that didn't match + if end != self.chunkSize: + rv.append(self.chunk[self.chunkOffset:end]) + self.chunkOffset = end + break + # If the whole remainder of the chunk matched, + # use it all and read the next chunk + rv.append(self.chunk[self.chunkOffset:]) + if not self.readChunk(): + # Reached EOF + break + + r = u"".join(rv) + return r + + def charsUntilEOF(self): + """ Returns a string of characters from the stream up to EOF.""" + + rv = [] + + while True: + rv.append(self.chunk[self.chunkOffset:]) + if not self.readChunk(): + # Reached EOF + break + + r = u"".join(rv) + return r + + def unget(self, char): + # Only one character is allowed to be ungotten at once - it must + # be consumed again before any further call to unget + + if char is not None: + if self.chunkOffset == 0: + # unget is called quite rarely, so it's a good idea to do + # more work here if it saves a bit of work in the frequently + # called char and charsUntil. + # So, just prepend the ungotten character onto the current + # chunk: + self.chunk = char + self.chunk + self.chunkSize += 1 + else: + self.chunkOffset -= 1 + assert self.chunk[self.chunkOffset] == char + +class EncodingBytes(str): + """String-like object with an associated position and various extra methods + If the position is ever greater than the string length then an exception is + raised""" + def __new__(self, value): + return str.__new__(self, value.lower()) + + def __init__(self, value): + self._position=-1 + + def __iter__(self): + return self + + def next(self): + p = self._position = self._position + 1 + if p >= len(self): + raise StopIteration + elif p < 0: + raise TypeError + return self[p] + + def previous(self): + p = self._position + if p >= len(self): + raise StopIteration + elif p < 0: + raise TypeError + self._position = p = p - 1 + return self[p] + + def setPosition(self, position): + if self._position >= len(self): + raise StopIteration + self._position = position + + def getPosition(self): + if self._position >= len(self): + raise StopIteration + if self._position >= 0: + return self._position + else: + return None + + position = property(getPosition, setPosition) + + def getCurrentByte(self): + return self[self.position] + + currentByte = property(getCurrentByte) + + def skip(self, chars=spaceCharactersBytes): + """Skip past a list of characters""" + p = self.position # use property for the error-checking + while p < len(self): + c = self[p] + if c not in chars: + self._position = p + return c + p += 1 + self._position = p + return None + + def skipUntil(self, chars): + p = self.position + while p < len(self): + c = self[p] + if c in chars: + self._position = p + return c + p += 1 + self._position = p + return None + + def matchBytes(self, bytes): + """Look for a sequence of bytes at the start of a string. If the bytes + are found return True and advance the position to the byte after the + match. Otherwise return False and leave the position alone""" + p = self.position + data = self[p:p+len(bytes)] + rv = data.startswith(bytes) + if rv: + self.position += len(bytes) + return rv + + def jumpTo(self, bytes): + """Look for the next sequence of bytes matching a given sequence. If + a match is found advance the position to the last byte of the match""" + newPosition = self[self.position:].find(bytes) + if newPosition > -1: + # XXX: This is ugly, but I can't see a nicer way to fix this. + if self._position == -1: + self._position = 0 + self._position += (newPosition + len(bytes)-1) + return True + else: + raise StopIteration + +class EncodingParser(object): + """Mini parser for detecting character encoding from meta elements""" + + def __init__(self, data): + """string - the data to work on for encoding detection""" + self.data = EncodingBytes(data) + self.encoding = None + + def getEncoding(self): + methodDispatch = ( + ("<!--",self.handleComment), + ("<meta",self.handleMeta), + ("</",self.handlePossibleEndTag), + ("<!",self.handleOther), + ("<?",self.handleOther), + ("<",self.handlePossibleStartTag)) + for byte in self.data: + keepParsing = True + for key, method in methodDispatch: + if self.data.matchBytes(key): + try: + keepParsing = method() + break + except StopIteration: + keepParsing=False + break + if not keepParsing: + break + + return self.encoding + + def handleComment(self): + """Skip over comments""" + return self.data.jumpTo("-->") + + def handleMeta(self): + if self.data.currentByte not in spaceCharactersBytes: + #if we have <meta not followed by a space so just keep going + return True + #We have a valid meta element we want to search for attributes + while True: + #Try to find the next attribute after the current position + attr = self.getAttribute() + if attr is None: + return True + else: + if attr[0] == "charset": + tentativeEncoding = attr[1] + codec = codecName(tentativeEncoding) + if codec is not None: + self.encoding = codec + return False + elif attr[0] == "content": + contentParser = ContentAttrParser(EncodingBytes(attr[1])) + tentativeEncoding = contentParser.parse() + codec = codecName(tentativeEncoding) + if codec is not None: + self.encoding = codec + return False + + def handlePossibleStartTag(self): + return self.handlePossibleTag(False) + + def handlePossibleEndTag(self): + self.data.next() + return self.handlePossibleTag(True) + + def handlePossibleTag(self, endTag): + data = self.data + if data.currentByte not in asciiLettersBytes: + #If the next byte is not an ascii letter either ignore this + #fragment (possible start tag case) or treat it according to + #handleOther + if endTag: + data.previous() + self.handleOther() + return True + + c = data.skipUntil(spacesAngleBrackets) + if c == "<": + #return to the first step in the overall "two step" algorithm + #reprocessing the < byte + data.previous() + else: + #Read all attributes + attr = self.getAttribute() + while attr is not None: + attr = self.getAttribute() + return True + + def handleOther(self): + return self.data.jumpTo(">") + + def getAttribute(self): + """Return a name,value pair for the next attribute in the stream, + if one is found, or None""" + data = self.data + # Step 1 (skip chars) + c = data.skip(spaceCharactersBytes | frozenset("/")) + # Step 2 + if c in (">", None): + return None + # Step 3 + attrName = [] + attrValue = [] + #Step 4 attribute name + while True: + if c == "=" and attrName: + break + elif c in spaceCharactersBytes: + #Step 6! + c = data.skip() + c = data.next() + break + elif c in ("/", ">"): + return "".join(attrName), "" + elif c in asciiUppercaseBytes: + attrName.append(c.lower()) + elif c == None: + return None + else: + attrName.append(c) + #Step 5 + c = data.next() + #Step 7 + if c != "=": + data.previous() + return "".join(attrName), "" + #Step 8 + data.next() + #Step 9 + c = data.skip() + #Step 10 + if c in ("'", '"'): + #10.1 + quoteChar = c + while True: + #10.2 + c = data.next() + #10.3 + if c == quoteChar: + data.next() + return "".join(attrName), "".join(attrValue) + #10.4 + elif c in asciiUppercaseBytes: + attrValue.append(c.lower()) + #10.5 + else: + attrValue.append(c) + elif c == ">": + return "".join(attrName), "" + elif c in asciiUppercaseBytes: + attrValue.append(c.lower()) + elif c is None: + return None + else: + attrValue.append(c) + # Step 11 + while True: + c = data.next() + if c in spacesAngleBrackets: + return "".join(attrName), "".join(attrValue) + elif c in asciiUppercaseBytes: + attrValue.append(c.lower()) + elif c is None: + return None + else: + attrValue.append(c) + + +class ContentAttrParser(object): + def __init__(self, data): + self.data = data + def parse(self): + try: + #Check if the attr name is charset + #otherwise return + self.data.jumpTo("charset") + self.data.position += 1 + self.data.skip() + if not self.data.currentByte == "=": + #If there is no = sign keep looking for attrs + return None + self.data.position += 1 + self.data.skip() + #Look for an encoding between matching quote marks + if self.data.currentByte in ('"', "'"): + quoteMark = self.data.currentByte + self.data.position += 1 + oldPosition = self.data.position + if self.data.jumpTo(quoteMark): + return self.data[oldPosition:self.data.position] + else: + return None + else: + #Unquoted value + oldPosition = self.data.position + try: + self.data.skipUntil(spaceCharactersBytes) + return self.data[oldPosition:self.data.position] + except StopIteration: + #Return the whole remaining value + return self.data[oldPosition:] + except StopIteration: + return None + + +def codecName(encoding): + """Return the python codec name corresponding to an encoding or None if the + string doesn't correspond to a valid encoding.""" + if (encoding is not None and type(encoding) in types.StringTypes): + canonicalName = ascii_punctuation_re.sub("", encoding).lower() + return encodings.get(canonicalName, None) + else: + return None diff --git a/src/html5lib/sanitizer.py b/src/html5lib/sanitizer.py new file mode 100644 index 0000000000..d0f994600b --- /dev/null +++ b/src/html5lib/sanitizer.py @@ -0,0 +1,230 @@ +import re +from xml.sax.saxutils import escape, unescape + +from tokenizer import HTMLTokenizer +from constants import tokenTypes + +class HTMLSanitizerMixin(object): + """ sanitization of XHTML+MathML+SVG and of inline style attributes.""" + + acceptable_elements = ['a', 'abbr', 'acronym', 'address', 'area', 'b', + 'big', 'blockquote', 'br', 'button', 'caption', 'center', 'cite', + 'code', 'col', 'colgroup', 'dd', 'del', 'dfn', 'dir', 'div', 'dl', 'dt', + 'em', 'fieldset', 'font', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', + 'hr', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'map', + 'menu', 'ol', 'optgroup', 'option', 'p', 'pre', 'q', 's', 'samp', + 'select', 'small', 'span', 'strike', 'strong', 'sub', 'sup', 'table', + 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'tr', 'tt', 'u', + 'ul', 'var'] + + mathml_elements = ['maction', 'math', 'merror', 'mfrac', 'mi', + 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', + 'mprescripts', 'mroot', 'mrow', 'mspace', 'msqrt', 'mstyle', 'msub', + 'msubsup', 'msup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', + 'munderover', 'none'] + + svg_elements = ['a', 'animate', 'animateColor', 'animateMotion', + 'animateTransform', 'circle', 'defs', 'desc', 'ellipse', 'font-face', + 'font-face-name', 'font-face-src', 'g', 'glyph', 'hkern', + 'linearGradient', 'line', 'marker', 'metadata', 'missing-glyph', + 'mpath', 'path', 'polygon', 'polyline', 'radialGradient', 'rect', + 'set', 'stop', 'svg', 'switch', 'text', 'title', 'tspan', 'use'] + + acceptable_attributes = ['abbr', 'accept', 'accept-charset', 'accesskey', + 'action', 'align', 'alt', 'axis', 'border', 'cellpadding', + 'cellspacing', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', + 'clear', 'cols', 'colspan', 'color', 'compact', 'coords', 'datetime', + 'dir', 'disabled', 'enctype', 'for', 'frame', 'headers', 'height', + 'href', 'hreflang', 'hspace', 'id', 'ismap', 'label', 'lang', + 'longdesc', 'maxlength', 'media', 'method', 'multiple', 'name', + 'nohref', 'noshade', 'nowrap', 'prompt', 'readonly', 'rel', 'rev', + 'rows', 'rowspan', 'rules', 'scope', 'selected', 'shape', 'size', + 'span', 'src', 'start', 'style', 'summary', 'tabindex', 'target', + 'title', 'type', 'usemap', 'valign', 'value', 'vspace', 'width', + 'xml:lang'] + + mathml_attributes = ['actiontype', 'align', 'columnalign', 'columnalign', + 'columnalign', 'columnlines', 'columnspacing', 'columnspan', 'depth', + 'display', 'displaystyle', 'equalcolumns', 'equalrows', 'fence', + 'fontstyle', 'fontweight', 'frame', 'height', 'linethickness', 'lspace', + 'mathbackground', 'mathcolor', 'mathvariant', 'mathvariant', 'maxsize', + 'minsize', 'other', 'rowalign', 'rowalign', 'rowalign', 'rowlines', + 'rowspacing', 'rowspan', 'rspace', 'scriptlevel', 'selection', + 'separator', 'stretchy', 'width', 'width', 'xlink:href', 'xlink:show', + 'xlink:type', 'xmlns', 'xmlns:xlink'] + + svg_attributes = ['accent-height', 'accumulate', 'additive', 'alphabetic', + 'arabic-form', 'ascent', 'attributeName', 'attributeType', + 'baseProfile', 'bbox', 'begin', 'by', 'calcMode', 'cap-height', + 'class', 'color', 'color-rendering', 'content', 'cx', 'cy', 'd', 'dx', + 'dy', 'descent', 'display', 'dur', 'end', 'fill', 'fill-opacity', + 'fill-rule', 'font-family', 'font-size', 'font-stretch', 'font-style', + 'font-variant', 'font-weight', 'from', 'fx', 'fy', 'g1', 'g2', + 'glyph-name', 'gradientUnits', 'hanging', 'height', 'horiz-adv-x', + 'horiz-origin-x', 'id', 'ideographic', 'k', 'keyPoints', + 'keySplines', 'keyTimes', 'lang', 'marker-end', 'marker-mid', + 'marker-start', 'markerHeight', 'markerUnits', 'markerWidth', + 'mathematical', 'max', 'min', 'name', 'offset', 'opacity', 'orient', + 'origin', 'overline-position', 'overline-thickness', 'panose-1', + 'path', 'pathLength', 'points', 'preserveAspectRatio', 'r', 'refX', + 'refY', 'repeatCount', 'repeatDur', 'requiredExtensions', + 'requiredFeatures', 'restart', 'rotate', 'rx', 'ry', 'slope', + 'stemh', 'stemv', 'stop-color', 'stop-opacity', + 'strikethrough-position', 'strikethrough-thickness', 'stroke', + 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', + 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', + 'stroke-width', 'systemLanguage', 'target', 'text-anchor', 'to', + 'transform', 'type', 'u1', 'u2', 'underline-position', + 'underline-thickness', 'unicode', 'unicode-range', 'units-per-em', + 'values', 'version', 'viewBox', 'visibility', 'width', 'widths', 'x', + 'x-height', 'x1', 'x2', 'xlink:actuate', 'xlink:arcrole', + 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', + 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'xmlns', + 'xmlns:xlink', 'y', 'y1', 'y2', 'zoomAndPan'] + + attr_val_is_uri = ['href', 'src', 'cite', 'action', 'longdesc', + 'xlink:href', 'xml:base'] + + svg_attr_val_allows_ref = ['clip-path', 'color-profile', 'cursor', 'fill', + 'filter', 'marker', 'marker-start', 'marker-mid', 'marker-end', 'mask', 'stroke'] + + svg_allow_local_href = ['altGlyph', 'animate', 'animateColor', 'animateMotion', + 'animateTransform', 'cursor', 'feImage', 'filter', 'linearGradient', 'pattern', + 'radialGradient', 'textpath', 'tref', 'set', 'use'] + + acceptable_css_properties = ['azimuth', 'background-color', + 'border-bottom-color', 'border-collapse', 'border-color', + 'border-left-color', 'border-right-color', 'border-top-color', 'clear', + 'color', 'cursor', 'direction', 'display', 'elevation', 'float', 'font', + 'font-family', 'font-size', 'font-style', 'font-variant', 'font-weight', + 'height', 'letter-spacing', 'line-height', 'overflow', 'pause', + 'pause-after', 'pause-before', 'pitch', 'pitch-range', 'richness', + 'speak', 'speak-header', 'speak-numeral', 'speak-punctuation', + 'speech-rate', 'stress', 'text-align', 'text-decoration', 'text-indent', + 'unicode-bidi', 'vertical-align', 'voice-family', 'volume', + 'white-space', 'width'] + + acceptable_css_keywords = ['auto', 'aqua', 'black', 'block', 'blue', + 'bold', 'both', 'bottom', 'brown', 'center', 'collapse', 'dashed', + 'dotted', 'fuchsia', 'gray', 'green', '!important', 'italic', 'left', + 'lime', 'maroon', 'medium', 'none', 'navy', 'normal', 'nowrap', 'olive', + 'pointer', 'purple', 'red', 'right', 'solid', 'silver', 'teal', 'top', + 'transparent', 'underline', 'white', 'yellow'] + + acceptable_svg_properties = [ 'fill', 'fill-opacity', 'fill-rule', + 'stroke', 'stroke-width', 'stroke-linecap', 'stroke-linejoin', + 'stroke-opacity'] + + acceptable_protocols = [ 'ed2k', 'ftp', 'http', 'https', 'irc', + 'mailto', 'news', 'gopher', 'nntp', 'telnet', 'webcal', + 'xmpp', 'callto', 'feed', 'urn', 'aim', 'rsync', 'tag', + 'ssh', 'sftp', 'rtsp', 'afs' ] + + # subclasses may define their own versions of these constants + allowed_elements = acceptable_elements + mathml_elements + svg_elements + allowed_attributes = acceptable_attributes + mathml_attributes + svg_attributes + allowed_css_properties = acceptable_css_properties + allowed_css_keywords = acceptable_css_keywords + allowed_svg_properties = acceptable_svg_properties + allowed_protocols = acceptable_protocols + + # Sanitize the +html+, escaping all elements not in ALLOWED_ELEMENTS, and + # stripping out all # attributes not in ALLOWED_ATTRIBUTES. Style + # attributes are parsed, and a restricted set, # specified by + # ALLOWED_CSS_PROPERTIES and ALLOWED_CSS_KEYWORDS, are allowed through. + # attributes in ATTR_VAL_IS_URI are scanned, and only URI schemes specified + # in ALLOWED_PROTOCOLS are allowed. + # + # sanitize_html('<script> do_nasty_stuff() </script>') + # => <script> do_nasty_stuff() </script> + # sanitize_html('<a href="javascript: sucker();">Click here for $100</a>') + # => <a>Click here for $100</a> + def sanitize_token(self, token): + if token["type"] in (tokenTypes["StartTag"], tokenTypes["EndTag"], + tokenTypes["EmptyTag"]): + if token["name"] in self.allowed_elements: + if token.has_key("data"): + attrs = dict([(name,val) for name,val in + token["data"][::-1] + if name in self.allowed_attributes]) + for attr in self.attr_val_is_uri: + if not attrs.has_key(attr): + continue + val_unescaped = re.sub("[`\000-\040\177-\240\s]+", '', + unescape(attrs[attr])).lower() + #remove replacement characters from unescaped characters + val_unescaped = val_unescaped.replace(u"\ufffd", "") + if (re.match("^[a-z0-9][-+.a-z0-9]*:",val_unescaped) and + (val_unescaped.split(':')[0] not in + self.allowed_protocols)): + del attrs[attr] + for attr in self.svg_attr_val_allows_ref: + if attr in attrs: + attrs[attr] = re.sub(r'url\s*\(\s*[^#\s][^)]+?\)', + ' ', + unescape(attrs[attr])) + if (token["name"] in self.svg_allow_local_href and + 'xlink:href' in attrs and re.search('^\s*[^#\s].*', + attrs['xlink:href'])): + del attrs['xlink:href'] + if attrs.has_key('style'): + attrs['style'] = self.sanitize_css(attrs['style']) + token["data"] = [[name,val] for name,val in attrs.items()] + return token + else: + if token["type"] == tokenTypes["EndTag"]: + token["data"] = "</%s>" % token["name"] + elif token["data"]: + attrs = ''.join([' %s="%s"' % (k,escape(v)) for k,v in token["data"]]) + token["data"] = "<%s%s>" % (token["name"],attrs) + else: + token["data"] = "<%s>" % token["name"] + if token["selfClosing"]: + token["data"]=token["data"][:-1] + "/>" + token["type"] = tokenTypes["Characters"] + del token["name"] + return token + elif token["type"] == tokenTypes["Comment"]: + pass + else: + return token + + def sanitize_css(self, style): + # disallow urls + style=re.compile('url\s*\(\s*[^\s)]+?\s*\)\s*').sub(' ',style) + + # gauntlet + if not re.match("""^([:,;#%.\sa-zA-Z0-9!]|\w-\w|'[\s\w]+'|"[\s\w]+"|\([\d,\s]+\))*$""", style): return '' + if not re.match("^\s*([-\w]+\s*:[^:;]*(;\s*|$))*$", style): return '' + + clean = [] + for prop,value in re.findall("([-\w]+)\s*:\s*([^:;]*)",style): + if not value: continue + if prop.lower() in self.allowed_css_properties: + clean.append(prop + ': ' + value + ';') + elif prop.split('-')[0].lower() in ['background','border','margin', + 'padding']: + for keyword in value.split(): + if not keyword in self.acceptable_css_keywords and \ + not re.match("^(#[0-9a-f]+|rgb\(\d+%?,\d*%?,?\d*%?\)?|\d{0,2}\.?\d{0,2}(cm|em|ex|in|mm|pc|pt|px|%|,|\))?)$",keyword): + break + else: + clean.append(prop + ': ' + value + ';') + elif prop.lower() in self.allowed_svg_properties: + clean.append(prop + ': ' + value + ';') + + return ' '.join(clean) + +class HTMLSanitizer(HTMLTokenizer, HTMLSanitizerMixin): + def __init__(self, stream, encoding=None, parseMeta=True, useChardet=True, + lowercaseElementName=False, lowercaseAttrName=False): + #Change case matching defaults as we only output lowercase html anyway + #This solution doesn't seem ideal... + HTMLTokenizer.__init__(self, stream, encoding, parseMeta, useChardet, + lowercaseElementName, lowercaseAttrName) + + def __iter__(self): + for token in HTMLTokenizer.__iter__(self): + token = self.sanitize_token(token) + if token: + yield token diff --git a/src/html5lib/serializer/__init__.py b/src/html5lib/serializer/__init__.py new file mode 100644 index 0000000000..1b746655d6 --- /dev/null +++ b/src/html5lib/serializer/__init__.py @@ -0,0 +1,17 @@ + +from html5lib import treewalkers + +from htmlserializer import HTMLSerializer +from xhtmlserializer import XHTMLSerializer + +def serialize(input, tree="simpletree", format="html", encoding=None, + **serializer_opts): + # XXX: Should we cache this? + walker = treewalkers.getTreeWalker(tree) + if format == "html": + s = HTMLSerializer(**serializer_opts) + elif format == "xhtml": + s = XHTMLSerializer(**serializer_opts) + else: + raise ValueError, "type must be either html or xhtml" + return s.render(walker(input), encoding) diff --git a/src/html5lib/serializer/htmlserializer.py b/src/html5lib/serializer/htmlserializer.py new file mode 100644 index 0000000000..a95072a897 --- /dev/null +++ b/src/html5lib/serializer/htmlserializer.py @@ -0,0 +1,234 @@ +try: + frozenset +except NameError: + # Import from the sets module for python 2.3 + from sets import ImmutableSet as frozenset + +import gettext +_ = gettext.gettext + +from html5lib.constants import voidElements, booleanAttributes, spaceCharacters +from html5lib.constants import rcdataElements + +from xml.sax.saxutils import escape + +spaceCharacters = u"".join(spaceCharacters) + +try: + from codecs import register_error, xmlcharrefreplace_errors +except ImportError: + unicode_encode_errors = "strict" +else: + unicode_encode_errors = "htmlentityreplace" + + from html5lib.constants import entities + + encode_entity_map = {} + for k, v in entities.items(): + if v != "&" and encode_entity_map.get(v) != k.lower(): + # prefer < over < and similarly for &, >, etc. + encode_entity_map[v] = k + + def htmlentityreplace_errors(exc): + if isinstance(exc, (UnicodeEncodeError, UnicodeTranslateError)): + res = [] + for c in exc.object[exc.start:exc.end]: + e = encode_entity_map.get(c) + if e: + res.append("&") + res.append(e) + if not e.endswith(";"): + res.append(";") + else: + res.append(c.encode(exc.encoding, "xmlcharrefreplace")) + return (u"".join(res), exc.end) + else: + return xmlcharrefreplace_errors(exc) + + register_error(unicode_encode_errors, htmlentityreplace_errors) + + del register_error + +def encode(text, encoding): + return text.encode(encoding, unicode_encode_errors) + +class HTMLSerializer(object): + + quote_attr_values = False + quote_char = '"' + use_best_quote_char = True + minimize_boolean_attributes = True + + use_trailing_solidus = False + space_before_trailing_solidus = True + escape_lt_in_attrs = False + escape_rcdata = False + + inject_meta_charset = True + strip_whitespace = False + sanitize = False + omit_optional_tags = True + + options = ("quote_attr_values", "quote_char", "use_best_quote_char", + "minimize_boolean_attributes", "use_trailing_solidus", + "space_before_trailing_solidus", "omit_optional_tags", + "strip_whitespace", "inject_meta_charset", "escape_lt_in_attrs", + "escape_rcdata", 'use_trailing_solidus', "sanitize") + + def __init__(self, **kwargs): + if kwargs.has_key('quote_char'): + self.use_best_quote_char = False + for attr in self.options: + setattr(self, attr, kwargs.get(attr, getattr(self, attr))) + self.errors = [] + self.strict = False + + def serialize(self, treewalker, encoding=None): + in_cdata = False + self.errors = [] + if encoding and self.inject_meta_charset: + from html5lib.filters.inject_meta_charset import Filter + treewalker = Filter(treewalker, encoding) + # XXX: WhitespaceFilter should be used before OptionalTagFilter + # for maximum efficiently of this latter filter + if self.strip_whitespace: + from html5lib.filters.whitespace import Filter + treewalker = Filter(treewalker) + if self.sanitize: + from html5lib.filters.sanitizer import Filter + treewalker = Filter(treewalker) + if self.omit_optional_tags: + from html5lib.filters.optionaltags import Filter + treewalker = Filter(treewalker) + for token in treewalker: + type = token["type"] + if type == "Doctype": + doctype = u"<!DOCTYPE %s" % token["name"] + + if token["publicId"]: + doctype += u' PUBLIC "%s"' % token["publicId"] + elif token["systemId"]: + doctype += u" SYSTEM" + if token["systemId"]: + if token["systemId"].find(u'"') >= 0: + if token["systemId"].find(u"'") >= 0: + self.serializeError(_("System identifer contains both single and double quote characters")) + quote_char = u"'" + else: + quote_char = u'"' + doctype += u" %s%s%s" % (quote_char, token["systemId"], quote_char) + + doctype += u">" + + if encoding: + yield doctype.encode(encoding) + else: + yield doctype + + elif type in ("Characters", "SpaceCharacters"): + if type == "SpaceCharacters" or in_cdata: + if in_cdata and token["data"].find("</") >= 0: + self.serializeError(_("Unexpected </ in CDATA")) + if encoding: + yield token["data"].encode(encoding, "strict") + else: + yield token["data"] + elif encoding: + yield encode(escape(token["data"]), encoding) + else: + yield escape(token["data"]) + + elif type in ("StartTag", "EmptyTag"): + name = token["name"] + if name in rcdataElements and not self.escape_rcdata: + in_cdata = True + elif in_cdata: + self.serializeError(_("Unexpected child element of a CDATA element")) + attrs = token["data"] + if hasattr(attrs, "items"): + attrs = attrs.items() + attrs.sort() + attributes = [] + for k,v in attrs: + if encoding: + k = k.encode(encoding, "strict") + attributes.append(' ') + + attributes.append(k) + if not self.minimize_boolean_attributes or \ + (k not in booleanAttributes.get(name, tuple()) \ + and k not in booleanAttributes.get("", tuple())): + attributes.append("=") + if self.quote_attr_values or not v: + quote_attr = True + else: + quote_attr = reduce(lambda x,y: x or (y in v), + spaceCharacters + ">\"'=", False) + v = v.replace("&", "&") + if self.escape_lt_in_attrs: v = v.replace("<", "<") + if encoding: + v = encode(v, encoding) + if quote_attr: + quote_char = self.quote_char + if self.use_best_quote_char: + if "'" in v and '"' not in v: + quote_char = '"' + elif '"' in v and "'" not in v: + quote_char = "'" + if quote_char == "'": + v = v.replace("'", "'") + else: + v = v.replace('"', """) + attributes.append(quote_char) + attributes.append(v) + attributes.append(quote_char) + else: + attributes.append(v) + if name in voidElements and self.use_trailing_solidus: + if self.space_before_trailing_solidus: + attributes.append(" /") + else: + attributes.append("/") + if encoding: + yield "<%s%s>" % (name.encode(encoding, "strict"), "".join(attributes)) + else: + yield u"<%s%s>" % (name, u"".join(attributes)) + + elif type == "EndTag": + name = token["name"] + if name in rcdataElements: + in_cdata = False + elif in_cdata: + self.serializeError(_("Unexpected child element of a CDATA element")) + end_tag = u"</%s>" % name + if encoding: + end_tag = end_tag.encode(encoding, "strict") + yield end_tag + + elif type == "Comment": + data = token["data"] + if data.find("--") >= 0: + self.serializeError(_("Comment contains --")) + comment = u"<!--%s-->" % token["data"] + if encoding: + comment = comment.encode(encoding, unicode_encode_errors) + yield comment + + else: + self.serializeError(token["data"]) + + def render(self, treewalker, encoding=None): + if encoding: + return "".join(list(self.serialize(treewalker, encoding))) + else: + return u"".join(list(self.serialize(treewalker))) + + def serializeError(self, data="XXX ERROR MESSAGE NEEDED"): + # XXX The idea is to make data mandatory. + self.errors.append(data) + if self.strict: + raise SerializeError + +def SerializeError(Exception): + """Error in serialized tree""" + pass diff --git a/src/html5lib/serializer/xhtmlserializer.py b/src/html5lib/serializer/xhtmlserializer.py new file mode 100644 index 0000000000..7fdce47ba9 --- /dev/null +++ b/src/html5lib/serializer/xhtmlserializer.py @@ -0,0 +1,9 @@ +from htmlserializer import HTMLSerializer + +class XHTMLSerializer(HTMLSerializer): + quote_attr_values = True + minimize_boolean_attributes = False + use_trailing_solidus = True + escape_lt_in_attrs = True + omit_optional_tags = False + escape_rcdata = True diff --git a/src/html5lib/tokenizer.py b/src/html5lib/tokenizer.py new file mode 100644 index 0000000000..d7c4b5f6c0 --- /dev/null +++ b/src/html5lib/tokenizer.py @@ -0,0 +1,1586 @@ +try: + frozenset +except NameError: + # Import from the sets module for python 2.3 + from sets import Set as set + from sets import ImmutableSet as frozenset +try: + from collections import deque +except ImportError: + from utils import deque + +from constants import spaceCharacters +from constants import entitiesWindows1252, entities +from constants import asciiLowercase, asciiLetters, asciiUpper2Lower +from constants import digits, hexDigits, EOF +from constants import tokenTypes, tagTokenTypes +from constants import replacementCharacters + +from inputstream import HTMLInputStream + +# Group entities by their first character, for faster lookups +entitiesByFirstChar = {} +for e in entities: + entitiesByFirstChar.setdefault(e[0], []).append(e) + +class HTMLTokenizer: + """ This class takes care of tokenizing HTML. + + * self.currentToken + Holds the token that is currently being processed. + + * self.state + Holds a reference to the method to be invoked... XXX + + * self.stream + Points to HTMLInputStream object. + """ + + # XXX need to fix documentation + + def __init__(self, stream, encoding=None, parseMeta=True, useChardet=True, + lowercaseElementName=True, lowercaseAttrName=True): + + self.stream = HTMLInputStream(stream, encoding, parseMeta, useChardet) + + #Perform case conversions? + self.lowercaseElementName = lowercaseElementName + self.lowercaseAttrName = lowercaseAttrName + + # Setup the initial tokenizer state + self.escapeFlag = False + self.lastFourChars = [] + self.state = self.dataState + self.escape = False + + # The current token being created + self.currentToken = None + + def __iter__(self): + """ This is where the magic happens. + + We do our usually processing through the states and when we have a token + to return we yield the token which pauses processing until the next token + is requested. + """ + self.tokenQueue = deque([]) + # Start processing. When EOF is reached self.state will return False + # instead of True and the loop will terminate. + while self.state(): + while self.stream.errors: + yield {"type": tokenTypes["ParseError"], "data": self.stream.errors.pop(0)} + while self.tokenQueue: + yield self.tokenQueue.popleft() + + def consumeNumberEntity(self, isHex): + """This function returns either U+FFFD or the character based on the + decimal or hexadecimal representation. It also discards ";" if present. + If not present self.tokenQueue.append({"type": tokenTypes["ParseError"]}) is invoked. + """ + + allowed = digits + radix = 10 + if isHex: + allowed = hexDigits + radix = 16 + + charStack = [] + + # Consume all the characters that are in range while making sure we + # don't hit an EOF. + c = self.stream.char() + while c in allowed and c is not EOF: + charStack.append(c) + c = self.stream.char() + + # Convert the set of characters consumed to an int. + charAsInt = int("".join(charStack), radix) + + # Certain characters get replaced with others + if charAsInt in replacementCharacters: + char = replacementCharacters[charAsInt] + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "illegal-codepoint-for-numeric-entity", + "datavars": {"charAsInt": charAsInt}}) + elif ((0xD800 <= charAsInt <= 0xDFFF) or + (charAsInt > 0x10FFFF)): + char = u"\uFFFD" + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "illegal-codepoint-for-numeric-entity", + "datavars": {"charAsInt": charAsInt}}) + else: + #Should speed up this check somehow (e.g. move the set to a constant) + if ((0x0001 <= charAsInt <= 0x0008) or + (0x000E <= charAsInt <= 0x001F) or + (0x007F <= charAsInt <= 0x009F) or + (0xFDD0 <= charAsInt <= 0xFDEF) or + charAsInt in frozenset([0x000B, 0xFFFE, 0xFFFF, 0x1FFFE, + 0x1FFFF, 0x2FFFE, 0x2FFFF, 0x3FFFE, + 0x3FFFF, 0x4FFFE, 0x4FFFF, 0x5FFFE, + 0x5FFFF, 0x6FFFE, 0x6FFFF, 0x7FFFE, + 0x7FFFF, 0x8FFFE, 0x8FFFF, 0x9FFFE, + 0x9FFFF, 0xAFFFE, 0xAFFFF, 0xBFFFE, + 0xBFFFF, 0xCFFFE, 0xCFFFF, 0xDFFFE, + 0xDFFFF, 0xEFFFE, 0xEFFFF, 0xFFFFE, + 0xFFFFF, 0x10FFFE, 0x10FFFF])): + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": + "illegal-codepoint-for-numeric-entity", + "datavars": {"charAsInt": charAsInt}}) + try: + # Try/except needed as UCS-2 Python builds' unichar only works + # within the BMP. + char = unichr(charAsInt) + except ValueError: + char = eval("u'\\U%08x'" % charAsInt) + + # Discard the ; if present. Otherwise, put it back on the queue and + # invoke parseError on parser. + if c != u";": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "numeric-entity-without-semicolon"}) + self.stream.unget(c) + + return char + + def consumeEntity(self, allowedChar=None, fromAttribute=False): + # Initialise to the default output for when no entity is matched + output = u"&" + + charStack = [self.stream.char()] + if (charStack[0] in spaceCharacters or charStack[0] in (EOF, u"<", u"&") + or (allowedChar is not None and allowedChar == charStack[0])): + self.stream.unget(charStack[0]) + + elif charStack[0] == u"#": + # Read the next character to see if it's hex or decimal + hex = False + charStack.append(self.stream.char()) + if charStack[-1] in (u"x", u"X"): + hex = True + charStack.append(self.stream.char()) + + # charStack[-1] should be the first digit + if (hex and charStack[-1] in hexDigits) \ + or (not hex and charStack[-1] in digits): + # At least one digit found, so consume the whole number + self.stream.unget(charStack[-1]) + output = self.consumeNumberEntity(hex) + else: + # No digits found + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "expected-numeric-entity"}) + self.stream.unget(charStack.pop()) + output = u"&" + u"".join(charStack) + + else: + # At this point in the process might have named entity. Entities + # are stored in the global variable "entities". + # + # Consume characters and compare to these to a substring of the + # entity names in the list until the substring no longer matches. + filteredEntityList = entitiesByFirstChar.get(charStack[0], []) + + def entitiesStartingWith(name): + return [e for e in filteredEntityList if e.startswith(name)] + + while charStack[-1] is not EOF and\ + entitiesStartingWith("".join(charStack)): + charStack.append(self.stream.char()) + + # At this point we have a string that starts with some characters + # that may match an entity + entityName = None + + # Try to find the longest entity the string will match to take care + # of ¬i for instance. + for entityLength in xrange(len(charStack)-1, 1, -1): + possibleEntityName = "".join(charStack[:entityLength]) + if possibleEntityName in entities: + entityName = possibleEntityName + break + + if entityName is not None: + if entityName[-1] != ";": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "named-entity-without-semicolon"}) + if entityName[-1] != ";" and fromAttribute and \ + (charStack[entityLength] in asciiLetters + or charStack[entityLength] in digits): + self.stream.unget(charStack.pop()) + output = u"&" + u"".join(charStack) + else: + output = entities[entityName] + self.stream.unget(charStack.pop()) + output += u"".join(charStack[entityLength:]) + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-named-entity"}) + self.stream.unget(charStack.pop()) + output = u"&" + u"".join(charStack) + + if fromAttribute: + self.currentToken["data"][-1][1] += output + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": output}) + + def processEntityInAttribute(self, allowedChar): + """This method replaces the need for "entityInAttributeValueState". + """ + self.consumeEntity(allowedChar=allowedChar, fromAttribute=True) + + def emitCurrentToken(self): + """This method is a generic handler for emitting the tags. It also sets + the state to "data" because that's what's needed after a token has been + emitted. + """ + token = self.currentToken + # Add token to the queue to be yielded + if (token["type"] in tagTokenTypes): + if self.lowercaseElementName: + token["name"] = token["name"].translate(asciiUpper2Lower) + if token["type"] == tokenTypes["EndTag"]: + if token["data"]: + self.tokenQueue.append({"type":tokenTypes["ParseError"], + "data":"attributes-in-end-tag"}) + if token["selfClosing"]: + self.tokenQueue.append({"type":tokenTypes["ParseError"], + "data":"self-closing-flag-on-end-tag"}) + self.tokenQueue.append(token) + self.state = self.dataState + + + # Below are the various tokenizer states worked out. + + def dataState(self): + data = self.stream.char() + if data == "&": + self.state = self.entityDataState + elif data == "<": + self.state = self.tagOpenState + elif data is EOF: + # Tokenization ends. + return False + elif data in spaceCharacters: + # Directly after emitting a token you switch back to the "data + # state". At that point spaceCharacters are important so they are + # emitted separately. + self.tokenQueue.append({"type": tokenTypes["SpaceCharacters"], "data": + data + self.stream.charsUntil(spaceCharacters, True)}) + # No need to update lastFourChars here, since the first space will + # have already been appended to lastFourChars and will have broken + # any <!-- or --> sequences + else: + chars = self.stream.charsUntil((u"&", u"<")) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + chars}) + return True + + def entityDataState(self): + self.consumeEntity() + self.state = self.dataState + return True + + def rcdataState(self): + data = self.stream.char() + if data == "&": + self.state = self.characterReferenceInRcdata + elif data == "<": + self.state = self.rcdataLessThanSignState + elif data == EOF: + # Tokenization ends. + return False + elif data in spaceCharacters: + # Directly after emitting a token you switch back to the "data + # state". At that point spaceCharacters are important so they are + # emitted separately. + self.tokenQueue.append({"type": tokenTypes["SpaceCharacters"], "data": + data + self.stream.charsUntil(spaceCharacters, True)}) + # No need to update lastFourChars here, since the first space will + # have already been appended to lastFourChars and will have broken + # any <!-- or --> sequences + else: + chars = self.stream.charsUntil((u"&", u"<")) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + chars}) + return True + + def characterReferenceInRcdata(self): + self.consumeEntity() + self.state = self.rcdataState + return True + + def rawtextState(self): + data = self.stream.char() + if data == "<": + self.state = self.rawtextLessThanSignState + elif data == EOF: + # Tokenization ends. + return False + else: + chars = self.stream.charsUntil((u"<")) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + chars}) + return True + + def scriptDataState(self): + data = self.stream.char() + if data == "<": + self.state = self.scriptDataLessThanSignState + elif data == EOF: + # Tokenization ends. + return False + else: + chars = self.stream.charsUntil((u"<")) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + chars}) + return True + + def plaintextState(self): + data = self.stream.char() + if data == EOF: + # Tokenization ends. + return False + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + self.stream.charsUntilEOF()}) + return True + + def tagOpenState(self): + data = self.stream.char() + if data == u"!": + self.state = self.markupDeclarationOpenState + elif data == u"/": + self.state = self.closeTagOpenState + elif data in asciiLetters: + self.currentToken = {"type": tokenTypes["StartTag"], + "name": data, "data": [], + "selfClosing": False, + "selfClosingAcknowledged": False} + self.state = self.tagNameState + elif data == u">": + # XXX In theory it could be something besides a tag name. But + # do we really care? + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-tag-name-but-got-right-bracket"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"<>"}) + self.state = self.dataState + elif data == u"?": + # XXX In theory it could be something besides a tag name. But + # do we really care? + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-tag-name-but-got-question-mark"}) + self.stream.unget(data) + self.state = self.bogusCommentState + else: + # XXX + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-tag-name"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"<"}) + self.stream.unget(data) + self.state = self.dataState + return True + + def closeTagOpenState(self): + data = self.stream.char() + if data in asciiLetters: + self.currentToken = {"type": tokenTypes["EndTag"], "name": data, + "data": [], "selfClosing":False} + self.state = self.tagNameState + elif data == u">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-closing-tag-but-got-right-bracket"}) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-closing-tag-but-got-eof"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"</"}) + self.state = self.dataState + else: + # XXX data can be _'_... + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-closing-tag-but-got-char", + "datavars": {"data": data}}) + self.stream.unget(data) + self.state = self.bogusCommentState + return True + + def tagNameState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeAttributeNameState + elif data == u">": + self.emitCurrentToken() + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-tag-name"}) + self.state = self.dataState + elif data == u"/": + self.state = self.selfClosingStartTagState + else: + self.currentToken["name"] += data + # (Don't use charsUntil here, because tag names are + # very short and it's faster to not do anything fancy) + return True + + def rcdataLessThanSignState(self): + data = self.stream.char() + if data == "/": + self.temporaryBuffer = "" + self.state = self.rcdataEndTagOpenState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"<"}) + self.stream.unget(data) + self.state = self.rcdataState + return True + + def rcdataEndTagOpenState(self): + data = self.stream.char() + if data in asciiLetters: + self.temporaryBuffer += data + self.state = self.rcdataEndTagNameState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"</"}) + self.stream.unget(data) + self.state = self.rcdataState + return True + + def rcdataEndTagNameState(self): + appropriate = self.currentToken and self.currentToken["name"].lower() == self.temporaryBuffer.lower() + data = self.stream.char() + if data in spaceCharacters and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing":False} + self.state = self.beforeAttributeNameState + elif data == "/" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing":False} + self.state = self.selfClosingStartTagState + elif data == ">" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing":False} + self.emitCurrentToken() + self.state = self.dataState + elif data in asciiLetters: + self.temporaryBuffer += data + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": u"</" + self.temporaryBuffer}) + self.stream.unget(data) + self.state = self.rcdataState + return True + + def rawtextLessThanSignState(self): + data = self.stream.char() + if data == "/": + self.temporaryBuffer = "" + self.state = self.rawtextEndTagOpenState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"<"}) + self.stream.unget(data) + self.state = self.rawtextState + return True + + def rawtextEndTagOpenState(self): + data = self.stream.char() + if data in asciiLetters: + self.temporaryBuffer += data + self.state = self.rawtextEndTagNameState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"</"}) + self.stream.unget(data) + self.state = self.rawtextState + return True + + def rawtextEndTagNameState(self): + appropriate = self.currentToken and self.currentToken["name"].lower() == self.temporaryBuffer.lower() + data = self.stream.char() + if data in spaceCharacters and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing":False} + self.state = self.beforeAttributeNameState + elif data == "/" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing":False} + self.state = self.selfClosingStartTagState + elif data == ">" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing":False} + self.emitCurrentToken() + self.state = self.dataState + elif data in asciiLetters: + self.temporaryBuffer += data + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": u"</" + self.temporaryBuffer}) + self.stream.unget(data) + self.state = self.rawtextState + return True + + def scriptDataLessThanSignState(self): + data = self.stream.char() + if data == "/": + self.temporaryBuffer = "" + self.state = self.scriptDataEndTagOpenState + elif data == "!": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"<!"}) + self.state = self.scriptDataEscapeStartState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"<"}) + self.stream.unget(data) + self.state = self.scriptDataState + return True + + def scriptDataEndTagOpenState(self): + data = self.stream.char() + if data in asciiLetters: + self.temporaryBuffer += data + self.state = self.scriptDataEndTagNameState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"</"}) + self.stream.unget(data) + self.state = self.scriptDataState + return True + + def scriptDataEndTagNameState(self): + appropriate = self.currentToken and self.currentToken["name"].lower() == self.temporaryBuffer.lower() + data = self.stream.char() + if data in spaceCharacters and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing":False} + self.state = self.beforeAttributeNameState + elif data == "/" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing":False} + self.state = self.selfClosingStartTagState + elif data == ">" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing":False} + self.emitCurrentToken() + self.state = self.dataState + elif data in asciiLetters: + self.temporaryBuffer += data + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": u"</" + self.temporaryBuffer}) + self.stream.unget(data) + self.state = self.scriptDataState + return True + + def scriptDataEscapeStartState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"-"}) + self.state = self.scriptDataEscapeStartDashState + else: + self.stream.unget(data) + self.state = self.scriptDataState + return True + + def scriptDataEscapeStartDashState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"-"}) + self.state = self.scriptDataEscapedDashDashState + else: + self.stream.unget(data) + self.state = self.scriptDataState + return True + + def scriptDataEscapedState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"-"}) + self.state = self.scriptDataEscapedDashState + elif data == "<": + self.state = self.scriptDataEscapedLessThanSignState + elif data == EOF: + self.state = self.dataState + else: + chars = self.stream.charsUntil((u"<-")) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + chars}) + return True + + def scriptDataEscapedDashState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"-"}) + self.state = self.scriptDataEscapedDashDashState + elif data == "<": + self.state = self.scriptDataEscapedLessThanSignState + elif data == EOF: + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.state = self.scriptDataEscapedState + return True + + def scriptDataEscapedDashDashState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"-"}) + elif data == "<": + self.state = self.scriptDataEscapedLessThanSignState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u">"}) + self.state = self.scriptDataState + elif data == EOF: + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.state = self.scriptDataEscapedState + return True + + def scriptDataEscapedLessThanSignState(self): + data = self.stream.char() + if data == "/": + self.temporaryBuffer = "" + self.state = self.scriptDataEscapedEndTagOpenState + elif data in asciiLetters: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"<" + data}) + self.temporaryBuffer = data + self.state = self.scriptDataDoubleEscapeStartState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"<"}) + self.stream.unget(data) + self.state = self.scriptDataEscapedState + return True + + def scriptDataEscapedEndTagOpenState(self): + data = self.stream.char() + if data in asciiLetters: + self.temporaryBuffer = data + self.state = self.scriptDataEscapedEndTagNameState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"</"}) + self.stream.unget(data) + self.state = self.scriptDataEscapedState + return True + + def scriptDataEscapedEndTagNameState(self): + appropriate = self.currentToken and self.currentToken["name"].lower() == self.temporaryBuffer.lower() + data = self.stream.char() + if data in spaceCharacters and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing":False} + self.state = self.beforeAttributeNameState + elif data == "/" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing":False} + self.state = self.selfClosingStartTagState + elif data == ">" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing":False} + self.emitCurrentToken() + self.state = self.dataState + elif data in asciiLetters: + self.temporaryBuffer += data + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": u"</" + self.temporaryBuffer}) + self.stream.unget(data) + self.state = self.scriptDataEscapedState + return True + + def scriptDataDoubleEscapeStartState(self): + data = self.stream.char() + if data in (spaceCharacters | frozenset(("/", ">"))): + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + if self.temporaryBuffer.lower() == "script": + self.state = self.scriptDataDoubleEscapedState + else: + self.state = self.scriptDataEscapedState + elif data in asciiLetters: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.temporaryBuffer += data + else: + self.stream.unget(data) + self.state = self.scriptDataEscapedState + return True + + def scriptDataDoubleEscapedState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"-"}) + self.state = self.scriptDataDoubleEscapedDashState + elif data == "<": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"<"}) + self.state = self.scriptDataDoubleEscapedLessThanSignState + elif data == EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-script-in-script"}) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + return True + + def scriptDataDoubleEscapedDashState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"-"}) + self.state = self.scriptDataDoubleEscapedDashDashState + elif data == "<": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"<"}) + self.state = self.scriptDataDoubleEscapedLessThanSignState + elif data == EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-script-in-script"}) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.state = self.scriptDataDoubleEscapedState + return True + + def scriptDataDoubleEscapedDashState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"-"}) + elif data == "<": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"<"}) + self.state = self.scriptDataDoubleEscapedLessThanSignState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u">"}) + self.state = self.scriptDataState + elif data == EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-script-in-script"}) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.state = self.scriptDataDoubleEscapedState + return True + + def scriptDataDoubleEscapedLessThanSignState(self): + data = self.stream.char() + if data == "/": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"/"}) + self.temporaryBuffer = "" + self.state = self.scriptDataDoubleEscapeEndState + else: + self.stream.unget(data) + self.state = self.scriptDataDoubleEscapedState + return True + + def scriptDataDoubleEscapeEndState(self): + data = self.stream.char() + if data in (spaceCharacters | frozenset(("/", ">"))): + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + if self.temporaryBuffer.lower() == "script": + self.state = self.scriptDataEscapedState + else: + self.state = self.scriptDataDoubleEscapedState + elif data in asciiLetters: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.temporaryBuffer += data + else: + self.stream.unget(data) + self.state = self.scriptDataDoubleEscapedState + return True + + def beforeAttributeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + self.stream.charsUntil(spaceCharacters, True) + elif data in asciiLetters: + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + elif data == u">": + self.emitCurrentToken() + elif data == u"/": + self.state = self.selfClosingStartTagState + elif data in (u"'", u'"', u"=", u"<"): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "invalid-character-in-attribute-name"}) + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-attribute-name-but-got-eof"}) + self.state = self.dataState + else: + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + return True + + def attributeNameState(self): + data = self.stream.char() + leavingThisState = True + emitToken = False + if data == u"=": + self.state = self.beforeAttributeValueState + elif data in asciiLetters: + self.currentToken["data"][-1][0] += data +\ + self.stream.charsUntil(asciiLetters, True) + leavingThisState = False + elif data == u">": + # XXX If we emit here the attributes are converted to a dict + # without being checked and when the code below runs we error + # because data is a dict not a list + emitToken = True + elif data in spaceCharacters: + self.state = self.afterAttributeNameState + elif data == u"/": + self.state = self.selfClosingStartTagState + elif data in (u"'", u'"', u"<"): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "invalid-character-in-attribute-name"}) + self.currentToken["data"][-1][0] += data + leavingThisState = False + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-attribute-name"}) + self.state = self.dataState + emitToken = True + else: + self.currentToken["data"][-1][0] += data + leavingThisState = False + + if leavingThisState: + # Attributes are not dropped at this stage. That happens when the + # start tag token is emitted so values can still be safely appended + # to attributes, but we do want to report the parse error in time. + if self.lowercaseAttrName: + self.currentToken["data"][-1][0] = ( + self.currentToken["data"][-1][0].translate(asciiUpper2Lower)) + for name, value in self.currentToken["data"][:-1]: + if self.currentToken["data"][-1][0] == name: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "duplicate-attribute"}) + break + # XXX Fix for above XXX + if emitToken: + self.emitCurrentToken() + return True + + def afterAttributeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + self.stream.charsUntil(spaceCharacters, True) + elif data == u"=": + self.state = self.beforeAttributeValueState + elif data == u">": + self.emitCurrentToken() + elif data in asciiLetters: + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + elif data == u"/": + self.state = self.selfClosingStartTagState + elif data in (u"'", u'"', u"<"): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "invalid-character-after-attribute-name"}) + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-end-of-tag-but-got-eof"}) + self.emitCurrentToken() + else: + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + return True + + def beforeAttributeValueState(self): + data = self.stream.char() + if data in spaceCharacters: + self.stream.charsUntil(spaceCharacters, True) + elif data == u"\"": + self.state = self.attributeValueDoubleQuotedState + elif data == u"&": + self.state = self.attributeValueUnQuotedState + self.stream.unget(data); + elif data == u"'": + self.state = self.attributeValueSingleQuotedState + elif data == u">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-attribute-value-but-got-right-bracket"}) + self.emitCurrentToken() + elif data in (u"=", u"<", u"`"): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "equals-in-unquoted-attribute-value"}) + self.currentToken["data"][-1][1] += data + self.state = self.attributeValueUnQuotedState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-attribute-value-but-got-eof"}) + self.emitCurrentToken() + else: + self.currentToken["data"][-1][1] += data + self.state = self.attributeValueUnQuotedState + return True + + def attributeValueDoubleQuotedState(self): + data = self.stream.char() + if data == "\"": + self.state = self.afterAttributeValueState + elif data == u"&": + self.processEntityInAttribute(u'"') + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-attribute-value-double-quote"}) + self.emitCurrentToken() + else: + self.currentToken["data"][-1][1] += data +\ + self.stream.charsUntil(("\"", u"&")) + return True + + def attributeValueSingleQuotedState(self): + data = self.stream.char() + if data == "'": + self.state = self.afterAttributeValueState + elif data == u"&": + self.processEntityInAttribute(u"'") + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-attribute-value-single-quote"}) + self.emitCurrentToken() + else: + self.currentToken["data"][-1][1] += data +\ + self.stream.charsUntil(("'", u"&")) + return True + + def attributeValueUnQuotedState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeAttributeNameState + elif data == u"&": + self.processEntityInAttribute(">") + elif data == u">": + self.emitCurrentToken() + elif data in (u'"', u"'", u"=", u"<", u"`"): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-character-in-unquoted-attribute-value"}) + self.currentToken["data"][-1][1] += data + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-attribute-value-no-quotes"}) + self.emitCurrentToken() + else: + self.currentToken["data"][-1][1] += data + self.stream.charsUntil( + frozenset((u"&", u">", u'"', u"'", u"=", u"<", u"`")) | spaceCharacters) + return True + + def afterAttributeValueState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeAttributeNameState + elif data == u">": + self.emitCurrentToken() + elif data == u"/": + self.state = self.selfClosingStartTagState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-EOF-after-attribute-value"}) + self.emitCurrentToken() + self.stream.unget(data) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-character-after-attribute-value"}) + self.stream.unget(data) + self.state = self.beforeAttributeNameState + return True + + def selfClosingStartTagState(self): + data = self.stream.char() + if data == ">": + self.currentToken["selfClosing"] = True + self.emitCurrentToken() + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": + "unexpected-EOF-after-solidus-in-tag"}) + self.stream.unget(data) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-character-after-soldius-in-tag"}) + self.stream.unget(data) + self.state = self.beforeAttributeNameState + return True + + def bogusCommentState(self): + # Make a new comment token and give it as value all the characters + # until the first > or EOF (charsUntil checks for EOF automatically) + # and emit it. + self.tokenQueue.append( + {"type": tokenTypes["Comment"], "data": self.stream.charsUntil(u">")}) + + # Eat the character directly after the bogus comment which is either a + # ">" or an EOF. + self.stream.char() + self.state = self.dataState + return True + + def bogusCommentContinuationState(self): + # Like bogusCommentState, but the caller must create the comment token + # and this state just adds more characters to it + self.currentToken["data"] += self.stream.charsUntil(u">") + self.tokenQueue.append(self.currentToken) + + # Eat the character directly after the bogus comment which is either a + # ">" or an EOF. + self.stream.char() + self.state = self.dataState + return True + + def markupDeclarationOpenState(self): + charStack = [self.stream.char()] + if charStack[-1] == u"-": + charStack.append(self.stream.char()) + if charStack[-1] == u"-": + self.currentToken = {"type": tokenTypes["Comment"], "data": u""} + self.state = self.commentStartState + return True + elif charStack[-1] in (u'd', u'D'): + matched = True + for expected in ((u'o', u'O'), (u'c', u'C'), (u't', u'T'), + (u'y', u'Y'), (u'p', u'P'), (u'e', u'E')): + charStack.append(self.stream.char()) + if charStack[-1] not in expected: + matched = False + break + if matched: + self.currentToken = {"type": tokenTypes["Doctype"], + "name": u"", + "publicId": None, "systemId": None, + "correct": True} + self.state = self.doctypeState + return True + + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-dashes-or-doctype"}) + # charStack[:-2] consists of 'safe' characters ('-', 'd', 'o', etc) + # so they can be copied directly into the bogus comment data, and only + # the last character might be '>' or EOF and needs to be ungetted + self.stream.unget(charStack.pop()) + self.currentToken = {"type": tokenTypes["Comment"], + "data": u"".join(charStack)} + self.state = self.bogusCommentContinuationState + return True + + def commentStartState(self): + data = self.stream.char() + if data == "-": + self.state = self.commentStartDashState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "incorrect-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["data"] += data + self.stream.charsUntil(u"-") + self.state = self.commentState + return True + + def commentStartDashState(self): + data = self.stream.char() + if data == "-": + self.state = self.commentEndState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "incorrect-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["data"] += "-" + data + self.stream.charsUntil(u"-") + self.state = self.commentState + return True + + + def commentState(self): + data = self.stream.char() + if data == u"-": + self.state = self.commentEndDashState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["data"] += data + self.stream.charsUntil(u"-") + return True + + def commentEndDashState(self): + data = self.stream.char() + if data == u"-": + self.state = self.commentEndState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment-end-dash"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["data"] += u"-" + data +\ + self.stream.charsUntil(u"-") + # Consume the next character which is either a "-" or an EOF as + # well so if there's a "-" directly after the "-" we go nicely to + # the "comment end state" without emitting a ParseError() there. + self.stream.char() + return True + + def commentEndState(self): + data = self.stream.char() + if data == u">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == u"-": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-dash-after-double-dash-in-comment"}) + self.currentToken["data"] += data + elif data in spaceCharacters: + self.currentToken["data"] += "--" + data + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-space-after-double-dash-in-comment"}) + self.state = self.commentEndSpaceState + elif data == "!": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-bang-after-double-dash-in-comment"}) + self.state = self.commentEndBangState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment-double-dash"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + # XXX + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-comment"}) + self.currentToken["data"] += u"--" + data + self.state = self.commentState + return True + + def commentEndBangState(self): + data = self.stream.char() + if data == u">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == u"-": + self.currentToken["data"] += "--!" + self.state = self.commentEndDashState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment-end-bang-state"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["data"] += u"--!" + data + self.state = self.commentState + return True + + def commentEndSpaceState(self): + data = self.stream.char() + if data == u">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == u"-": + self.state = self.commentEndDashState + elif data in spaceCharacters: + self.currentToken["data"] += data + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment-end-space-state"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["data"] += data + self.state = self.commentState + return True + + def doctypeState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeDoctypeNameState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-doctype-name-but-got-eof"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "need-space-after-doctype"}) + self.stream.unget(data) + self.state = self.beforeDoctypeNameState + return True + + def beforeDoctypeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == u">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-doctype-name-but-got-right-bracket"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-doctype-name-but-got-eof"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["name"] = data + self.state = self.doctypeNameState + return True + + def doctypeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + self.currentToken["name"] = self.currentToken["name"].translate(asciiUpper2Lower) + self.state = self.afterDoctypeNameState + elif data == u">": + self.currentToken["name"] = self.currentToken["name"].translate(asciiUpper2Lower) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype-name"}) + self.currentToken["correct"] = False + self.currentToken["name"] = self.currentToken["name"].translate(asciiUpper2Lower) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["name"] += data + return True + + def afterDoctypeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == u">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.currentToken["correct"] = False + self.stream.unget(data) + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + if data in (u"p", u"P"): + matched = True + for expected in ((u"u", u"U"), (u"b", u"B"), (u"l", u"L"), + (u"i", u"I"), (u"c", u"C")): + data = self.stream.char() + if data not in expected: + matched = False + break + if matched: + self.state = self.afterDoctypePublicKeywordState + return True + elif data in (u"s", u"S"): + matched = True + for expected in ((u"y", u"Y"), (u"s", u"S"), (u"t", u"T"), + (u"e", u"E"), (u"m", u"M")): + data = self.stream.char() + if data not in expected: + matched = False + break + if matched: + self.state = self.afterDoctypeSystemKeywordState + return True + + # All the characters read before the current 'data' will be + # [a-zA-Z], so they're garbage in the bogus doctype and can be + # discarded; only the latest character might be '>' or EOF + # and needs to be ungetted + self.stream.unget(data) + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-space-or-right-bracket-in-doctype", "datavars": + {"data": data}}) + self.currentToken["correct"] = False + self.state = self.bogusDoctypeState + + return True + + def afterDoctypePublicKeywordState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeDoctypePublicIdentifierState + elif data in ("'", '"'): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.stream.unget(data) + self.state = self.beforeDoctypePublicIdentifierState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.stream.unget(data) + self.state = self.beforeDoctypePublicIdentifierState + return True + + def beforeDoctypePublicIdentifierState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == "\"": + self.currentToken["publicId"] = u"" + self.state = self.doctypePublicIdentifierDoubleQuotedState + elif data == "'": + self.currentToken["publicId"] = u"" + self.state = self.doctypePublicIdentifierSingleQuotedState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.state = self.bogusDoctypeState + return True + + def doctypePublicIdentifierDoubleQuotedState(self): + data = self.stream.char() + if data == "\"": + self.state = self.afterDoctypePublicIdentifierState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["publicId"] += data + return True + + def doctypePublicIdentifierSingleQuotedState(self): + data = self.stream.char() + if data == "'": + self.state = self.afterDoctypePublicIdentifierState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["publicId"] += data + return True + + def afterDoctypePublicIdentifierState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.betweenDoctypePublicAndSystemIdentifiersState + elif data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == '"': + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["systemId"] = u"" + self.state = self.doctypeSystemIdentifierDoubleQuotedState + elif data == "'": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["systemId"] = u"" + self.state = self.doctypeSystemIdentifierSingleQuotedState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.state = self.bogusDoctypeState + return True + + def betweenDoctypePublicAndSystemIdentifiersState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == '"': + self.currentToken["systemId"] = u"" + self.state = self.doctypeSystemIdentifierDoubleQuotedState + elif data == "'": + self.currentToken["systemId"] = u"" + self.state = self.doctypeSystemIdentifierSingleQuotedState + elif data == EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.state = self.bogusDoctypeState + return True + + def afterDoctypeSystemKeywordState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeDoctypeSystemIdentifierState + elif data in ("'", '"'): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.stream.unget(data) + self.state = self.beforeDoctypeSystemIdentifierState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.stream.unget(data) + self.state = self.beforeDoctypeSystemIdentifierState + return True + + def beforeDoctypeSystemIdentifierState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == "\"": + self.currentToken["systemId"] = u"" + self.state = self.doctypeSystemIdentifierDoubleQuotedState + elif data == "'": + self.currentToken["systemId"] = u"" + self.state = self.doctypeSystemIdentifierSingleQuotedState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.state = self.bogusDoctypeState + return True + + def doctypeSystemIdentifierDoubleQuotedState(self): + data = self.stream.char() + if data == "\"": + self.state = self.afterDoctypeSystemIdentifierState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["systemId"] += data + return True + + def doctypeSystemIdentifierSingleQuotedState(self): + data = self.stream.char() + if data == "'": + self.state = self.afterDoctypeSystemIdentifierState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["systemId"] += data + return True + + def afterDoctypeSystemIdentifierState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.state = self.bogusDoctypeState + return True + + def bogusDoctypeState(self): + data = self.stream.char() + if data == u">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + # XXX EMIT + self.stream.unget(data) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + pass + return True diff --git a/src/html5lib/tokenizer_old.py b/src/html5lib/tokenizer_old.py new file mode 100644 index 0000000000..2d5262ca2a --- /dev/null +++ b/src/html5lib/tokenizer_old.py @@ -0,0 +1,1212 @@ +try: + frozenset +except NameError: + # Import from the sets module for python 2.3 + from sets import Set as set + from sets import ImmutableSet as frozenset +try: + from collections import deque +except ImportError: + from utils import deque + +from constants import contentModelFlags, spaceCharacters +from constants import entitiesWindows1252, entities +from constants import asciiLowercase, asciiLetters, asciiUpper2Lower +from constants import digits, hexDigits, EOF +from constants import tokenTypes, tagTokenTypes + +from inputstream import HTMLInputStream + +# Group entities by their first character, for faster lookups +entitiesByFirstChar = {} +for e in entities: + entitiesByFirstChar.setdefault(e[0], []).append(e) + +class HTMLTokenizer: + """ This class takes care of tokenizing HTML. + + * self.currentToken + Holds the token that is currently being processed. + + * self.state + Holds a reference to the method to be invoked... XXX + + * self.states + Holds a mapping between states and methods that implement the state. + + * self.stream + Points to HTMLInputStream object. + """ + + # XXX need to fix documentation + + def __init__(self, stream, encoding=None, parseMeta=True, useChardet=True, + lowercaseElementName=True, lowercaseAttrName=True): + self.stream = HTMLInputStream(stream, encoding, parseMeta, useChardet) + + #Perform case conversions? + self.lowercaseElementName = lowercaseElementName + self.lowercaseAttrName = lowercaseAttrName + + self.states = { + "data":self.dataState, + "entityData":self.entityDataState, + "tagOpen":self.tagOpenState, + "closeTagOpen":self.closeTagOpenState, + "tagName":self.tagNameState, + "beforeAttributeName":self.beforeAttributeNameState, + "attributeName":self.attributeNameState, + "afterAttributeName":self.afterAttributeNameState, + "beforeAttributeValue":self.beforeAttributeValueState, + "attributeValueDoubleQuoted":self.attributeValueDoubleQuotedState, + "attributeValueSingleQuoted":self.attributeValueSingleQuotedState, + "attributeValueUnQuoted":self.attributeValueUnQuotedState, + "afterAttributeValue":self.afterAttributeValueState, + "selfClosingStartTag":self.selfClosingStartTagState, + "bogusComment":self.bogusCommentState, + "bogusCommentContinuation":self.bogusCommentContinuationState, + "markupDeclarationOpen":self.markupDeclarationOpenState, + "commentStart":self.commentStartState, + "commentStartDash":self.commentStartDashState, + "comment":self.commentState, + "commentEndDash":self.commentEndDashState, + "commentEnd":self.commentEndState, + "commentEndBang":self.commentEndBangState, + "commentEndSpace":self.commentEndSpaceState, + "doctype":self.doctypeState, + "beforeDoctypeName":self.beforeDoctypeNameState, + "doctypeName":self.doctypeNameState, + "afterDoctypeName":self.afterDoctypeNameState, + "beforeDoctypePublicIdentifier":self.beforeDoctypePublicIdentifierState, + "doctypePublicIdentifierDoubleQuoted":self.doctypePublicIdentifierDoubleQuotedState, + "doctypePublicIdentifierSingleQuoted":self.doctypePublicIdentifierSingleQuotedState, + "afterDoctypePublicIdentifier":self.afterDoctypePublicIdentifierState, + "beforeDoctypeSystemIdentifier":self.beforeDoctypeSystemIdentifierState, + "doctypeSystemIdentifierDoubleQuoted":self.doctypeSystemIdentifierDoubleQuotedState, + "doctypeSystemIdentifierSingleQuoted":self.doctypeSystemIdentifierSingleQuotedState, + "afterDoctypeSystemIdentifier":self.afterDoctypeSystemIdentifierState, + "bogusDoctype":self.bogusDoctypeState + } + + # Setup the initial tokenizer state + self.contentModelFlag = contentModelFlags["PCDATA"] + self.escapeFlag = False + self.lastFourChars = [] + self.state = self.dataState + self.escape = False + + # The current token being created + self.currentToken = None + + def __iter__(self): + """ This is where the magic happens. + + We do our usually processing through the states and when we have a token + to return we yield the token which pauses processing until the next token + is requested. + """ + self.tokenQueue = deque([]) + # Start processing. When EOF is reached self.state will return False + # instead of True and the loop will terminate. + while self.state(): + while self.stream.errors: + yield {"type": tokenTypes["ParseError"], "data": self.stream.errors.pop(0)} + while self.tokenQueue: + yield self.tokenQueue.popleft() + + def consumeNumberEntity(self, isHex): + """This function returns either U+FFFD or the character based on the + decimal or hexadecimal representation. It also discards ";" if present. + If not present self.tokenQueue.append({"type": tokenTypes["ParseError"]}) is invoked. + """ + + allowed = digits + radix = 10 + if isHex: + allowed = hexDigits + radix = 16 + + charStack = [] + + # Consume all the characters that are in range while making sure we + # don't hit an EOF. + c = self.stream.char() + while c in allowed and c is not EOF: + charStack.append(c) + c = self.stream.char() + + # Convert the set of characters consumed to an int. + charAsInt = int("".join(charStack), radix) + + if charAsInt == 13: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "incorrect-cr-newline-entity"}) + charAsInt = 10 + elif 127 < charAsInt < 160: + # If the integer is between 127 and 160 (so 128 and bigger and 159 + # and smaller) we need to do the "windows trick". + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "illegal-windows-1252-entity"}) + + charAsInt = entitiesWindows1252[charAsInt - 128] + + # Certain characters get replaced with U+FFFD + if ((charAsInt <= 0x0008) or (charAsInt == 0x000B) or (0x000E <= charAsInt <= 0x001F) + or (0x007F <= charAsInt <= 0x009F) + or (0xD800 <= charAsInt <= 0xDFFF) or (0xFDD0 <= charAsInt <= 0xFDEF) + or (charAsInt & 0xFFFE == 0xFFFE) # catch all U+?FFFE and U+?FFFF, where ? is 0..10 + or (0x10FFFF < charAsInt)): + char = u"\uFFFD" + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "illegal-codepoint-for-numeric-entity", + "datavars": {"charAsInt": charAsInt}}) + else: + try: + # XXX We should have a separate function that does "int" to + # "unicodestring" conversion since this doesn't always work + # according to hsivonen. Also, unichr has a limitation of 65535 + char = unichr(charAsInt) + except: + try: + char = eval("u'\\U%08x'" % charAsInt) + except: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "cant-convert-numeric-entity", + "datavars": {"charAsInt": charAsInt}}) + + # Discard the ; if present. Otherwise, put it back on the queue and + # invoke parseError on parser. + if c != u";": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "numeric-entity-without-semicolon"}) + self.stream.unget(c) + + return char + + def consumeEntity(self, allowedChar=None, fromAttribute=False): + # Initialise to the default output for when no entity is matched + output = u"&" + + charStack = [self.stream.char()] + if charStack[0] in spaceCharacters or charStack[0] in (EOF, u"<", u"&") \ + or (allowedChar is not None and allowedChar == charStack[0]): + self.stream.unget(charStack[0]) + + elif charStack[0] == u"#": + # Read the next character to see if it's hex or decimal + hex = False + charStack.append(self.stream.char()) + if charStack[-1] in (u"x", u"X"): + hex = True + charStack.append(self.stream.char()) + + # charStack[-1] should be the first digit + if (hex and charStack[-1] in hexDigits) \ + or (not hex and charStack[-1] in digits): + # At least one digit found, so consume the whole number + self.stream.unget(charStack[-1]) + output = self.consumeNumberEntity(hex) + else: + # No digits found + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "expected-numeric-entity"}) + self.stream.unget(charStack.pop()) + output = u"&" + u"".join(charStack) + + else: + # At this point in the process might have named entity. Entities + # are stored in the global variable "entities". + # + # Consume characters and compare to these to a substring of the + # entity names in the list until the substring no longer matches. + filteredEntityList = entitiesByFirstChar.get(charStack[0], []) + + def entitiesStartingWith(name): + return [e for e in filteredEntityList if e.startswith(name)] + + while charStack[-1] is not EOF and\ + entitiesStartingWith("".join(charStack)): + charStack.append(self.stream.char()) + + # At this point we have a string that starts with some characters + # that may match an entity + entityName = None + + # Try to find the longest entity the string will match to take care + # of ¬i for instance. + for entityLength in xrange(len(charStack)-1, 1, -1): + possibleEntityName = "".join(charStack[:entityLength]) + if possibleEntityName in entities: + entityName = possibleEntityName + break + + if entityName is not None: + if entityName[-1] != ";": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "named-entity-without-semicolon"}) + if entityName[-1] != ";" and fromAttribute and \ + (charStack[entityLength] in asciiLetters + or charStack[entityLength] in digits): + self.stream.unget(charStack.pop()) + output = u"&" + u"".join(charStack) + else: + output = entities[entityName] + self.stream.unget(charStack.pop()) + output += u"".join(charStack[entityLength:]) + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-named-entity"}) + self.stream.unget(charStack.pop()) + output = u"&" + u"".join(charStack) + + if fromAttribute: + self.currentToken["data"][-1][1] += output + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": output}) + + def processEntityInAttribute(self, allowedChar): + """This method replaces the need for "entityInAttributeValueState". + """ + self.consumeEntity(allowedChar=allowedChar, fromAttribute=True) + + def emitCurrentToken(self): + """This method is a generic handler for emitting the tags. It also sets + the state to "data" because that's what's needed after a token has been + emitted. + """ + token = self.currentToken + # Add token to the queue to be yielded + if (token["type"] in tagTokenTypes): + if self.lowercaseElementName: + token["name"] = token["name"].translate(asciiUpper2Lower) + if token["type"] == tokenTypes["EndTag"]: + if token["data"]: + self.tokenQueue.append({"type":tokenTypes["ParseError"], + "data":"attributes-in-end-tag"}) + if token["selfClosing"]: + self.tokenQueue.append({"type":tokenTypes["ParseError"], + "data":"self-closing-flag-on-end-tag"}) + self.tokenQueue.append(token) + self.state = self.dataState + + + # Below are the various tokenizer states worked out. + + def dataState(self): + #XXX - consider splitting this state based on the content model flag + data = self.stream.char() + + # Keep a charbuffer to handle the escapeFlag + if (self.contentModelFlag in + (contentModelFlags["CDATA"], contentModelFlags["RCDATA"])): + if len(self.lastFourChars) == 4: + self.lastFourChars.pop(0) + self.lastFourChars.append(data) + + # The rest of the logic + if (data == "&" and self.contentModelFlag in + (contentModelFlags["PCDATA"], contentModelFlags["RCDATA"]) and + not self.escapeFlag): + self.state = self.states["entityData"] + elif (data == "-" and self.contentModelFlag in + (contentModelFlags["CDATA"], contentModelFlags["RCDATA"]) and + not self.escapeFlag and "".join(self.lastFourChars) == "<!--"): + self.escapeFlag = True + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data":data}) + elif (data == "<" and (self.contentModelFlag == + contentModelFlags["PCDATA"] + or (self.contentModelFlag in + (contentModelFlags["CDATA"], + contentModelFlags["RCDATA"]) and + self.escapeFlag == False))): + self.state = self.states["tagOpen"] + elif (data == ">" and self.contentModelFlag in + (contentModelFlags["CDATA"], contentModelFlags["RCDATA"]) and + self.escapeFlag and "".join(self.lastFourChars)[1:] == "-->"): + self.escapeFlag = False + self.tokenQueue.append({"type": tokenTypes["Characters"], "data":data}) + elif data is EOF: + # Tokenization ends. + return False + elif data in spaceCharacters: + # Directly after emitting a token you switch back to the "data + # state". At that point spaceCharacters are important so they are + # emitted separately. + self.tokenQueue.append({"type": tokenTypes["SpaceCharacters"], "data": + data + self.stream.charsUntil(spaceCharacters, True)}) + # No need to update lastFourChars here, since the first space will + # have already been appended to lastFourChars and will have broken + # any <!-- or --> sequences + else: + if (self.contentModelFlag in + (contentModelFlags["CDATA"], contentModelFlags["RCDATA"])): + chars = self.stream.charsUntil((u"&", u"<", u">", u"-")) + self.lastFourChars += chars[-4:] + self.lastFourChars = self.lastFourChars[-4:] + else: + chars = self.stream.charsUntil((u"&", u"<")) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + chars}) + return True + + def entityDataState(self): + self.consumeEntity() + self.state = self.states["data"] + return True + + def tagOpenState(self): + data = self.stream.char() + if self.contentModelFlag == contentModelFlags["PCDATA"]: + if data == u"!": + self.state = self.states["markupDeclarationOpen"] + elif data == u"/": + self.state = self.states["closeTagOpen"] + elif data in asciiLetters: + self.currentToken = {"type": tokenTypes["StartTag"], + "name": data, "data": [], + "selfClosing": False, + "selfClosingAcknowledged": False} + self.state = self.states["tagName"] + elif data == u">": + # XXX In theory it could be something besides a tag name. But + # do we really care? + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-tag-name-but-got-right-bracket"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"<>"}) + self.state = self.states["data"] + elif data == u"?": + # XXX In theory it could be something besides a tag name. But + # do we really care? + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-tag-name-but-got-question-mark"}) + self.stream.unget(data) + self.state = self.states["bogusComment"] + else: + # XXX + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-tag-name"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"<"}) + self.stream.unget(data) + self.state = self.states["data"] + else: + # We know the content model flag is set to either RCDATA or CDATA + # now because this state can never be entered with the PLAINTEXT + # flag. + if data == u"/": + self.state = self.states["closeTagOpen"] + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"<"}) + self.stream.unget(data) + self.state = self.states["data"] + return True + + def closeTagOpenState(self): + if (self.contentModelFlag in (contentModelFlags["RCDATA"], + contentModelFlags["CDATA"])): + + charStack = [] + if self.currentToken: + # So far we know that "</" has been consumed. We now need to know + # whether the next few characters match the name of last emitted + # start tag which also happens to be the currentToken. + matched = True + for expected in self.currentToken["name"].lower(): + charStack.append(self.stream.char()) + if charStack[-1] not in (expected, expected.upper()): + matched = False + break + + # If the tag name prefix matched, we also need to check the + # subsequent character + if matched: + charStack.append(self.stream.char()) + if charStack[-1] in (spaceCharacters | frozenset((u">", u"/", EOF))): + self.contentModelFlag = contentModelFlags["PCDATA"] + # Unget the last character, so it can be re-processed + # in the next state + self.stream.unget(charStack.pop()) + # The remaining characters in charStack are the tag name + self.currentToken = {"type": tokenTypes["EndTag"], + "name": u"".join(charStack), + "data": [], + "selfClosing":False} + self.state = self.states["tagName"] + return True + + # Didn't find the end tag. The last character in charStack could be + # anything, so it has to be re-processed in the data state + self.stream.unget(charStack.pop()) + + # The remaining characters are a prefix of the tag name, so they're + # just letters and digits, so they can be output as character + # tokens immediately + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"</" + u"".join(charStack)}) + self.state = self.states["data"] + return True + + data = self.stream.char() + if data in asciiLetters: + self.currentToken = {"type": tokenTypes["EndTag"], "name": data, + "data": [], "selfClosing":False} + self.state = self.states["tagName"] + elif data == u">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-closing-tag-but-got-right-bracket"}) + self.state = self.states["data"] + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-closing-tag-but-got-eof"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": u"</"}) + self.state = self.states["data"] + else: + # XXX data can be _'_... + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-closing-tag-but-got-char", + "datavars": {"data": data}}) + self.stream.unget(data) + self.state = self.states["bogusComment"] + return True + + def tagNameState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.states["beforeAttributeName"] + elif data == u">": + self.emitCurrentToken() + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-tag-name"}) + self.state = self.states["data"] + elif data == u"/": + self.state = self.states["selfClosingStartTag"] + else: + self.currentToken["name"] += data + # (Don't use charsUntil here, because tag names are + # very short and it's faster to not do anything fancy) + return True + + def beforeAttributeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + self.stream.charsUntil(spaceCharacters, True) + elif data in asciiLetters: + self.currentToken["data"].append([data, ""]) + self.state = self.states["attributeName"] + elif data == u">": + self.emitCurrentToken() + elif data == u"/": + self.state = self.states["selfClosingStartTag"] + elif data == u"'" or data == u'"' or data == u"=": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "invalid-character-in-attribute-name"}) + self.currentToken["data"].append([data, ""]) + self.state = self.states["attributeName"] + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-attribute-name-but-got-eof"}) + self.state = self.states["data"] + else: + self.currentToken["data"].append([data, ""]) + self.state = self.states["attributeName"] + return True + + def attributeNameState(self): + data = self.stream.char() + leavingThisState = True + emitToken = False + if data == u"=": + self.state = self.states["beforeAttributeValue"] + elif data in asciiLetters: + self.currentToken["data"][-1][0] += data +\ + self.stream.charsUntil(asciiLetters, True) + leavingThisState = False + elif data == u">": + # XXX If we emit here the attributes are converted to a dict + # without being checked and when the code below runs we error + # because data is a dict not a list + emitToken = True + elif data in spaceCharacters: + self.state = self.states["afterAttributeName"] + elif data == u"/": + self.state = self.states["selfClosingStartTag"] + elif data == u"'" or data == u'"': + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "invalid-character-in-attribute-name"}) + self.currentToken["data"][-1][0] += data + leavingThisState = False + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-attribute-name"}) + self.state = self.states["data"] + emitToken = True + else: + self.currentToken["data"][-1][0] += data + leavingThisState = False + + if leavingThisState: + # Attributes are not dropped at this stage. That happens when the + # start tag token is emitted so values can still be safely appended + # to attributes, but we do want to report the parse error in time. + if self.lowercaseAttrName: + self.currentToken["data"][-1][0] = ( + self.currentToken["data"][-1][0].translate(asciiUpper2Lower)) + for name, value in self.currentToken["data"][:-1]: + if self.currentToken["data"][-1][0] == name: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "duplicate-attribute"}) + break + # XXX Fix for above XXX + if emitToken: + self.emitCurrentToken() + return True + + def afterAttributeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + self.stream.charsUntil(spaceCharacters, True) + elif data == u"=": + self.state = self.states["beforeAttributeValue"] + elif data == u">": + self.emitCurrentToken() + elif data in asciiLetters: + self.currentToken["data"].append([data, ""]) + self.state = self.states["attributeName"] + elif data == u"/": + self.state = self.states["selfClosingStartTag"] + elif data == u"'" or data == u'"': + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "invalid-character-after-attribute-name"}) + self.currentToken["data"].append([data, ""]) + self.state = self.states["attributeName"] + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-end-of-tag-but-got-eof"}) + self.emitCurrentToken() + else: + self.currentToken["data"].append([data, ""]) + self.state = self.states["attributeName"] + return True + + def beforeAttributeValueState(self): + data = self.stream.char() + if data in spaceCharacters: + self.stream.charsUntil(spaceCharacters, True) + elif data == u"\"": + self.state = self.states["attributeValueDoubleQuoted"] + elif data == u"&": + self.state = self.states["attributeValueUnQuoted"] + self.stream.unget(data); + elif data == u"'": + self.state = self.states["attributeValueSingleQuoted"] + elif data == u">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-attribute-value-but-got-right-bracket"}) + self.emitCurrentToken() + elif data == u"=": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "equals-in-unquoted-attribute-value"}) + self.currentToken["data"][-1][1] += data + self.state = self.states["attributeValueUnQuoted"] + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-attribute-value-but-got-eof"}) + self.emitCurrentToken() + else: + self.currentToken["data"][-1][1] += data + self.state = self.states["attributeValueUnQuoted"] + return True + + def attributeValueDoubleQuotedState(self): + data = self.stream.char() + if data == "\"": + self.state = self.states["afterAttributeValue"] + elif data == u"&": + self.processEntityInAttribute(u'"') + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-attribute-value-double-quote"}) + self.emitCurrentToken() + else: + self.currentToken["data"][-1][1] += data +\ + self.stream.charsUntil(("\"", u"&")) + return True + + def attributeValueSingleQuotedState(self): + data = self.stream.char() + if data == "'": + self.state = self.states["afterAttributeValue"] + elif data == u"&": + self.processEntityInAttribute(u"'") + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-attribute-value-single-quote"}) + self.emitCurrentToken() + else: + self.currentToken["data"][-1][1] += data +\ + self.stream.charsUntil(("'", u"&")) + return True + + def attributeValueUnQuotedState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.states["beforeAttributeName"] + elif data == u"&": + self.processEntityInAttribute(None) + elif data == u">": + self.emitCurrentToken() + elif data in (u'"', u"'", u"=", u"<"): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-character-in-unquoted-attribute-value"}) + self.currentToken["data"][-1][1] += data + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-attribute-value-no-quotes"}) + self.emitCurrentToken() + else: + self.currentToken["data"][-1][1] += data + self.stream.charsUntil( \ + frozenset(("&", ">", "<", "=", "'", '"')) | spaceCharacters) + return True + + def afterAttributeValueState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.states["beforeAttributeName"] + elif data == u">": + self.emitCurrentToken() + elif data == u"/": + self.state = self.states["selfClosingStartTag"] + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-EOF-after-attribute-value"}) + self.emitCurrentToken() + self.stream.unget(data) + self.state = self.states["data"] + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-character-after-attribute-value"}) + self.stream.unget(data) + self.state = self.states["beforeAttributeName"] + return True + + def selfClosingStartTagState(self): + data = self.stream.char() + if data == ">": + self.currentToken["selfClosing"] = True + self.emitCurrentToken() + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": + "unexpected-EOF-after-solidus-in-tag"}) + self.stream.unget(data) + self.state = self.states["data"] + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-character-after-soldius-in-tag"}) + self.stream.unget(data) + self.state = self.states["beforeAttributeName"] + return True + + def bogusCommentState(self): + # Make a new comment token and give it as value all the characters + # until the first > or EOF (charsUntil checks for EOF automatically) + # and emit it. + self.tokenQueue.append( + {"type": tokenTypes["Comment"], "data": self.stream.charsUntil(u">")}) + + # Eat the character directly after the bogus comment which is either a + # ">" or an EOF. + self.stream.char() + self.state = self.states["data"] + return True + + def bogusCommentContinuationState(self): + # Like bogusCommentState, but the caller must create the comment token + # and this state just adds more characters to it + self.currentToken["data"] += self.stream.charsUntil(u">") + self.tokenQueue.append(self.currentToken) + + # Eat the character directly after the bogus comment which is either a + # ">" or an EOF. + self.stream.char() + self.state = self.states["data"] + return True + + def markupDeclarationOpenState(self): + charStack = [self.stream.char()] + if charStack[-1] == u"-": + charStack.append(self.stream.char()) + if charStack[-1] == u"-": + self.currentToken = {"type": tokenTypes["Comment"], "data": u""} + self.state = self.states["commentStart"] + return True + elif charStack[-1] in (u'd', u'D'): + matched = True + for expected in ((u'o', u'O'), (u'c', u'C'), (u't', u'T'), + (u'y', u'Y'), (u'p', u'P'), (u'e', u'E')): + charStack.append(self.stream.char()) + if charStack[-1] not in expected: + matched = False + break + if matched: + self.currentToken = {"type": tokenTypes["Doctype"], + "name": u"", + "publicId": None, "systemId": None, + "correct": True} + self.state = self.states["doctype"] + return True + + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-dashes-or-doctype"}) + # charStack[:-2] consists of 'safe' characters ('-', 'd', 'o', etc) + # so they can be copied directly into the bogus comment data, and only + # the last character might be '>' or EOF and needs to be ungetted + self.stream.unget(charStack.pop()) + self.currentToken = {"type": tokenTypes["Comment"], + "data": u"".join(charStack)} + self.state = self.states["bogusCommentContinuation"] + return True + + def commentStartState(self): + data = self.stream.char() + if data == "-": + self.state = self.states["commentStartDash"] + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "incorrect-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + else: + self.currentToken["data"] += data + self.stream.charsUntil(u"-") + self.state = self.states["comment"] + return True + + def commentStartDashState(self): + data = self.stream.char() + if data == "-": + self.state = self.states["commentEnd"] + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "incorrect-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + else: + self.currentToken["data"] += "-" + data + self.stream.charsUntil(u"-") + self.state = self.states["comment"] + return True + + + def commentState(self): + data = self.stream.char() + if data == u"-": + self.state = self.states["commentEndDash"] + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + else: + self.currentToken["data"] += data + self.stream.charsUntil(u"-") + return True + + def commentEndDashState(self): + data = self.stream.char() + if data == u"-": + self.state = self.states["commentEnd"] + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment-end-dash"}) + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + else: + self.currentToken["data"] += u"-" + data +\ + self.stream.charsUntil(u"-") + # Consume the next character which is either a "-" or an EOF as + # well so if there's a "-" directly after the "-" we go nicely to + # the "comment end state" without emitting a ParseError() there. + self.stream.char() + return True + + def commentEndState(self): + data = self.stream.char() + if data == u">": + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + elif data == u"-": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-dash-after-double-dash-in-comment"}) + self.currentToken["data"] += data + elif data in spaceCharacters: + self.currentToken["data"] += "--" + data + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-space-after-double-dash-in-comment"}) + self.state = self.states["commentEndSpace"] + elif data == "!": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-bang-after-double-dash-in-comment"}) + self.state = self.states["commentEndBang"] + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment-double-dash"}) + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + else: + # XXX + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-comment"}) + self.currentToken["data"] += u"--" + data + self.state = self.states["comment"] + return True + + def commentEndBangState(self): + data = self.stream.char() + if data == u">": + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + elif data == u"-": + self.currentToken["data"] += "--!" + self.state = self.states["commentEndDash"] + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment-end-bang-state"}) + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + else: + self.currentToken["data"] += u"--!" + data + self.state = self.states["comment"] + return True + + def commentEndSpaceState(self): + data = self.stream.char() + if data == u">": + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + elif data == u"-": + self.state = self.states["commentEndDash"] + elif data in spaceCharacters: + self.currentToken["data"] += data + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment-end-space-state"}) + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + else: + self.currentToken["data"] += data + self.state = self.states["comment"] + return True + + def doctypeState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.states["beforeDoctypeName"] + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-doctype-name-but-got-eof"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "need-space-after-doctype"}) + self.stream.unget(data) + self.state = self.states["beforeDoctypeName"] + return True + + def beforeDoctypeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == u">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-doctype-name-but-got-right-bracket"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-doctype-name-but-got-eof"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + else: + self.currentToken["name"] = data + self.state = self.states["doctypeName"] + return True + + def doctypeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + self.currentToken["name"] = self.currentToken["name"].translate(asciiUpper2Lower) + self.state = self.states["afterDoctypeName"] + elif data == u">": + self.currentToken["name"] = self.currentToken["name"].translate(asciiUpper2Lower) + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype-name"}) + self.currentToken["correct"] = False + self.currentToken["name"] = self.currentToken["name"].translate(asciiUpper2Lower) + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + else: + self.currentToken["name"] += data + return True + + def afterDoctypeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == u">": + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + elif data is EOF: + self.currentToken["correct"] = False + self.stream.unget(data) + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + else: + if data in (u"p", u"P"): + matched = True + for expected in ((u"u", u"U"), (u"b", u"B"), (u"l", u"L"), + (u"i", u"I"), (u"c", u"C")): + data = self.stream.char() + if data not in expected: + matched = False + break + if matched: + self.state = self.states["beforeDoctypePublicIdentifier"] + return True + elif data in (u"s", u"S"): + matched = True + for expected in ((u"y", u"Y"), (u"s", u"S"), (u"t", u"T"), + (u"e", u"E"), (u"m", u"M")): + data = self.stream.char() + if data not in expected: + matched = False + break + if matched: + self.state = self.states["beforeDoctypeSystemIdentifier"] + return True + + # All the characters read before the current 'data' will be + # [a-zA-Z], so they're garbage in the bogus doctype and can be + # discarded; only the latest character might be '>' or EOF + # and needs to be ungetted + self.stream.unget(data) + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-space-or-right-bracket-in-doctype", "datavars": + {"data": data}}) + self.currentToken["correct"] = False + self.state = self.states["bogusDoctype"] + + return True + + def beforeDoctypePublicIdentifierState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == "\"": + self.currentToken["publicId"] = u"" + self.state = self.states["doctypePublicIdentifierDoubleQuoted"] + elif data == "'": + self.currentToken["publicId"] = u"" + self.state = self.states["doctypePublicIdentifierSingleQuoted"] + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.state = self.states["bogusDoctype"] + return True + + def doctypePublicIdentifierDoubleQuotedState(self): + data = self.stream.char() + if data == "\"": + self.state = self.states["afterDoctypePublicIdentifier"] + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + else: + self.currentToken["publicId"] += data + return True + + def doctypePublicIdentifierSingleQuotedState(self): + data = self.stream.char() + if data == "'": + self.state = self.states["afterDoctypePublicIdentifier"] + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + else: + self.currentToken["publicId"] += data + return True + + def afterDoctypePublicIdentifierState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == "\"": + self.currentToken["systemId"] = u"" + self.state = self.states["doctypeSystemIdentifierDoubleQuoted"] + elif data == "'": + self.currentToken["systemId"] = u"" + self.state = self.states["doctypeSystemIdentifierSingleQuoted"] + elif data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.state = self.states["bogusDoctype"] + return True + + def beforeDoctypeSystemIdentifierState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == "\"": + self.currentToken["systemId"] = u"" + self.state = self.states["doctypeSystemIdentifierDoubleQuoted"] + elif data == "'": + self.currentToken["systemId"] = u"" + self.state = self.states["doctypeSystemIdentifierSingleQuoted"] + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.state = self.states["bogusDoctype"] + return True + + def doctypeSystemIdentifierDoubleQuotedState(self): + data = self.stream.char() + if data == "\"": + self.state = self.states["afterDoctypeSystemIdentifier"] + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + else: + self.currentToken["systemId"] += data + return True + + def doctypeSystemIdentifierSingleQuotedState(self): + data = self.stream.char() + if data == "'": + self.state = self.states["afterDoctypeSystemIdentifier"] + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + else: + self.currentToken["systemId"] += data + return True + + def afterDoctypeSystemIdentifierState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.state = self.states["bogusDoctype"] + return True + + def bogusDoctypeState(self): + data = self.stream.char() + if data == u">": + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + elif data is EOF: + # XXX EMIT + self.stream.unget(data) + self.tokenQueue.append(self.currentToken) + self.state = self.states["data"] + else: + pass + return True diff --git a/src/html5lib/treebuilders/__init__.py b/src/html5lib/treebuilders/__init__.py new file mode 100644 index 0000000000..403ffa5177 --- /dev/null +++ b/src/html5lib/treebuilders/__init__.py @@ -0,0 +1,92 @@ +"""A collection of modules for building different kinds of tree from +HTML documents. + +To create a treebuilder for a new type of tree, you need to do +implement several things: + +1) A set of classes for various types of elements: Document, Doctype, +Comment, Element. These must implement the interface of +_base.treebuilders.Node (although comment nodes have a different +signature for their constructor, see treebuilders.simpletree.Comment) +Textual content may also be implemented as another node type, or not, as +your tree implementation requires. + +2) A treebuilder object (called TreeBuilder by convention) that +inherits from treebuilders._base.TreeBuilder. This has 4 required attributes: +documentClass - the class to use for the bottommost node of a document +elementClass - the class to use for HTML Elements +commentClass - the class to use for comments +doctypeClass - the class to use for doctypes +It also has one required method: +getDocument - Returns the root node of the complete document tree + +3) If you wish to run the unit tests, you must also create a +testSerializer method on your treebuilder which accepts a node and +returns a string containing Node and its children serialized according +to the format used in the unittests + +The supplied simpletree module provides a python-only implementation +of a full treebuilder and is a useful reference for the semantics of +the various methods. +""" + +treeBuilderCache = {} + +def getTreeBuilder(treeType, implementation=None, **kwargs): + """Get a TreeBuilder class for various types of tree with built-in support + + treeType - the name of the tree type required (case-insensitive). Supported + values are "simpletree", "dom", "etree" and "beautifulsoup" + + "simpletree" - a built-in DOM-ish tree type with support for some + more pythonic idioms. + "dom" - A generic builder for DOM implementations, defaulting to + a xml.dom.minidom based implementation for the sake of + backwards compatibility (as releases up until 0.10 had a + builder called "dom" that was a minidom implemenation). + "etree" - A generic builder for tree implementations exposing an + elementtree-like interface (known to work with + ElementTree, cElementTree and lxml.etree). + "beautifulsoup" - Beautiful soup (if installed) + + implementation - (Currently applies to the "etree" and "dom" tree types). A + module implementing the tree type e.g. + xml.etree.ElementTree or lxml.etree.""" + + treeType = treeType.lower() + if treeType not in treeBuilderCache: + if treeType == "dom": + import dom + # XXX: Keep backwards compatibility by using minidom if no implementation is given + if implementation == None: + from xml.dom import minidom + implementation = minidom + # XXX: NEVER cache here, caching is done in the dom submodule + return dom.getDomModule(implementation, **kwargs).TreeBuilder + elif treeType == "simpletree": + import simpletree + treeBuilderCache[treeType] = simpletree.TreeBuilder + elif treeType == "beautifulsoup": + import soup + treeBuilderCache[treeType] = soup.TreeBuilder + elif treeType == "lxml": + import etree_lxml + treeBuilderCache[treeType] = etree_lxml.TreeBuilder + elif treeType == "etree": + # Come up with a sane default + if implementation == None: + try: + import xml.etree.cElementTree as ET + except ImportError: + try: + import xml.etree.ElementTree as ET + except ImportError: + try: + import cElementTree as ET + except ImportError: + import elementtree.ElementTree as ET + implementation = ET + import etree + # XXX: NEVER cache here, caching is done in the etree submodule + return etree.getETreeModule(implementation, **kwargs).TreeBuilder + return treeBuilderCache.get(treeType) diff --git a/src/html5lib/treebuilders/_base.py b/src/html5lib/treebuilders/_base.py new file mode 100644 index 0000000000..6ea58434e8 --- /dev/null +++ b/src/html5lib/treebuilders/_base.py @@ -0,0 +1,345 @@ +from html5lib.constants import scopingElements, tableInsertModeElements, namespaces +try: + frozenset +except NameError: + # Import from the sets module for python 2.3 + from sets import Set as set + from sets import ImmutableSet as frozenset + +# The scope markers are inserted when entering buttons, object elements, +# marquees, table cells, and table captions, and are used to prevent formatting +# from "leaking" into tables, buttons, object elements, and marquees. +Marker = None + +class Node(object): + def __init__(self, name): + """Node representing an item in the tree. + name - The tag name associated with the node + parent - The parent of the current node (or None for the document node) + value - The value of the current node (applies to text nodes and + comments + attributes - a dict holding name, value pairs for attributes of the node + childNodes - a list of child nodes of the current node. This must + include all elements but not necessarily other node types + _flags - A list of miscellaneous flags that can be set on the node + """ + self.name = name + self.parent = None + self.value = None + self.attributes = {} + self.childNodes = [] + self._flags = [] + + def __unicode__(self): + attributesStr = " ".join(["%s=\"%s\""%(name, value) + for name, value in + self.attributes.iteritems()]) + if attributesStr: + return "<%s %s>"%(self.name,attributesStr) + else: + return "<%s>"%(self.name) + + def __repr__(self): + return "<%s>" % (self.name) + + def appendChild(self, node): + """Insert node as a child of the current node + """ + raise NotImplementedError + + def insertText(self, data, insertBefore=None): + """Insert data as text in the current node, positioned before the + start of node insertBefore or to the end of the node's text. + """ + raise NotImplementedError + + def insertBefore(self, node, refNode): + """Insert node as a child of the current node, before refNode in the + list of child nodes. Raises ValueError if refNode is not a child of + the current node""" + raise NotImplementedError + + def removeChild(self, node): + """Remove node from the children of the current node + """ + raise NotImplementedError + + def reparentChildren(self, newParent): + """Move all the children of the current node to newParent. + This is needed so that trees that don't store text as nodes move the + text in the correct way + """ + #XXX - should this method be made more general? + for child in self.childNodes: + newParent.appendChild(child) + self.childNodes = [] + + def cloneNode(self): + """Return a shallow copy of the current node i.e. a node with the same + name and attributes but with no parent or child nodes + """ + raise NotImplementedError + + + def hasContent(self): + """Return true if the node has children or text, false otherwise + """ + raise NotImplementedError + +class TreeBuilder(object): + """Base treebuilder implementation + documentClass - the class to use for the bottommost node of a document + elementClass - the class to use for HTML Elements + commentClass - the class to use for comments + doctypeClass - the class to use for doctypes + """ + + #Document class + documentClass = None + + #The class to use for creating a node + elementClass = None + + #The class to use for creating comments + commentClass = None + + #The class to use for creating doctypes + doctypeClass = None + + #Fragment class + fragmentClass = None + + def __init__(self, namespaceHTMLElements): + if namespaceHTMLElements: + self.defaultNamespace = "http://www.w3.org/1999/xhtml" + else: + self.defaultNamespace = None + self.reset() + + def reset(self): + self.openElements = [] + self.activeFormattingElements = [] + + #XXX - rename these to headElement, formElement + self.headPointer = None + self.formPointer = None + + self.insertFromTable = False + + self.document = self.documentClass() + + def elementInScope(self, target, variant=None): + # Exit early when possible. + listElementsMap = { + None:scopingElements, + "list":scopingElements | set([(namespaces["html"], "ol"), + (namespaces["html"], "ul")]), + "table":set([(namespaces["html"], "html"), + (namespaces["html"], "table")]) + } + listElements = listElementsMap[variant] + + for node in reversed(self.openElements): + if node.name == target: + return True + elif node.nameTuple in listElements: + return False + + assert False # We should never reach this point + + def reconstructActiveFormattingElements(self): + # Within this algorithm the order of steps described in the + # specification is not quite the same as the order of steps in the + # code. It should still do the same though. + + # Step 1: stop the algorithm when there's nothing to do. + if not self.activeFormattingElements: + return + + # Step 2 and step 3: we start with the last element. So i is -1. + i = len(self.activeFormattingElements) - 1 + entry = self.activeFormattingElements[i] + if entry == Marker or entry in self.openElements: + return + + # Step 6 + while entry != Marker and entry not in self.openElements: + if i == 0: + #This will be reset to 0 below + i = -1 + break + i -= 1 + # Step 5: let entry be one earlier in the list. + entry = self.activeFormattingElements[i] + + while True: + # Step 7 + i += 1 + + # Step 8 + entry = self.activeFormattingElements[i] + clone = entry.cloneNode() #Mainly to get a new copy of the attributes + + # Step 9 + element = self.insertElement({"type":"StartTag", + "name":clone.name, + "namespace":clone.namespace, + "data":clone.attributes}) + + # Step 10 + self.activeFormattingElements[i] = element + + # Step 11 + if element == self.activeFormattingElements[-1]: + break + + def clearActiveFormattingElements(self): + entry = self.activeFormattingElements.pop() + while self.activeFormattingElements and entry != Marker: + entry = self.activeFormattingElements.pop() + + def elementInActiveFormattingElements(self, name): + """Check if an element exists between the end of the active + formatting elements and the last marker. If it does, return it, else + return false""" + + for item in self.activeFormattingElements[::-1]: + # Check for Marker first because if it's a Marker it doesn't have a + # name attribute. + if item == Marker: + break + elif item.name == name: + return item + return False + + def insertRoot(self, token): + element = self.createElement(token) + self.openElements.append(element) + self.document.appendChild(element) + + def insertDoctype(self, token): + name = token["name"] + publicId = token["publicId"] + systemId = token["systemId"] + + doctype = self.doctypeClass(name, publicId, systemId) + self.document.appendChild(doctype) + + def insertComment(self, token, parent=None): + if parent is None: + parent = self.openElements[-1] + parent.appendChild(self.commentClass(token["data"])) + + def createElement(self, token): + """Create an element but don't insert it anywhere""" + name = token["name"] + namespace = token.get("namespace", self.defaultNamespace) + element = self.elementClass(name, namespace) + element.attributes = token["data"] + return element + + def _getInsertFromTable(self): + return self._insertFromTable + + def _setInsertFromTable(self, value): + """Switch the function used to insert an element from the + normal one to the misnested table one and back again""" + self._insertFromTable = value + if value: + self.insertElement = self.insertElementTable + else: + self.insertElement = self.insertElementNormal + + insertFromTable = property(_getInsertFromTable, _setInsertFromTable) + + def insertElementNormal(self, token): + name = token["name"] + namespace = token.get("namespace", self.defaultNamespace) + element = self.elementClass(name, namespace) + element.attributes = token["data"] + self.openElements[-1].appendChild(element) + self.openElements.append(element) + return element + + def insertElementTable(self, token): + """Create an element and insert it into the tree""" + element = self.createElement(token) + if self.openElements[-1].name not in tableInsertModeElements: + return self.insertElementNormal(token) + else: + #We should be in the InTable mode. This means we want to do + #special magic element rearranging + parent, insertBefore = self.getTableMisnestedNodePosition() + if insertBefore is None: + parent.appendChild(element) + else: + parent.insertBefore(element, insertBefore) + self.openElements.append(element) + return element + + def insertText(self, data, parent=None): + """Insert text data.""" + if parent is None: + parent = self.openElements[-1] + + if (not self.insertFromTable or (self.insertFromTable and + self.openElements[-1].name + not in tableInsertModeElements)): + parent.insertText(data) + else: + # We should be in the InTable mode. This means we want to do + # special magic element rearranging + parent, insertBefore = self.getTableMisnestedNodePosition() + parent.insertText(data, insertBefore) + + def getTableMisnestedNodePosition(self): + """Get the foster parent element, and sibling to insert before + (or None) when inserting a misnested table node""" + # The foster parent element is the one which comes before the most + # recently opened table element + # XXX - this is really inelegant + lastTable=None + fosterParent = None + insertBefore = None + for elm in self.openElements[::-1]: + if elm.name == "table": + lastTable = elm + break + if lastTable: + # XXX - we should really check that this parent is actually a + # node here + if lastTable.parent: + fosterParent = lastTable.parent + insertBefore = lastTable + else: + fosterParent = self.openElements[ + self.openElements.index(lastTable) - 1] + else: + fosterParent = self.openElements[0] + return fosterParent, insertBefore + + def generateImpliedEndTags(self, exclude=None): + name = self.openElements[-1].name + # XXX td, th and tr are not actually needed + if (name in frozenset(("dd", "dt", "li", "p", "td", "th", "tr")) + and name != exclude): + self.openElements.pop() + # XXX This is not entirely what the specification says. We should + # investigate it more closely. + self.generateImpliedEndTags(exclude) + + def getDocument(self): + "Return the final tree" + return self.document + + def getFragment(self): + "Return the final fragment" + #assert self.innerHTML + fragment = self.fragmentClass() + self.openElements[0].reparentChildren(fragment) + return fragment + + def testSerializer(self, node): + """Serialize the subtree of node in the format required by unit tests + node - the node from which to start serializing""" + raise NotImplementedError diff --git a/src/html5lib/treebuilders/dom.py b/src/html5lib/treebuilders/dom.py new file mode 100644 index 0000000000..c094e1f09b --- /dev/null +++ b/src/html5lib/treebuilders/dom.py @@ -0,0 +1,286 @@ + +from xml.dom import minidom, Node, XML_NAMESPACE, XMLNS_NAMESPACE +import new +import re +import weakref + +import _base +from html5lib import constants, ihatexml +from html5lib.constants import namespaces + +moduleCache = {} + +def getDomModule(DomImplementation): + name = "_" + DomImplementation.__name__+"builder" + if name in moduleCache: + return moduleCache[name] + else: + mod = new.module(name) + objs = getDomBuilder(DomImplementation) + mod.__dict__.update(objs) + moduleCache[name] = mod + return mod + +def getDomBuilder(DomImplementation): + Dom = DomImplementation + class AttrList: + def __init__(self, element): + self.element = element + def __iter__(self): + return self.element.attributes.items().__iter__() + def __setitem__(self, name, value): + self.element.setAttribute(name, value) + def items(self): + return [(item[0], item[1]) for item in + self.element.attributes.items()] + def keys(self): + return self.element.attributes.keys() + def __getitem__(self, name): + return self.element.getAttribute(name) + + def __contains__(self, name): + if isinstance(name, tuple): + raise NotImplementedError + else: + return self.element.hasAttribute(name) + + class NodeBuilder(_base.Node): + def __init__(self, element): + _base.Node.__init__(self, element.nodeName) + self.element = element + + namespace = property(lambda self:hasattr(self.element, "namespaceURI") + and self.element.namespaceURI or None) + + def appendChild(self, node): + node.parent = self + self.element.appendChild(node.element) + + def insertText(self, data, insertBefore=None): + text = self.element.ownerDocument.createTextNode(data) + if insertBefore: + self.element.insertBefore(text, insertBefore.element) + else: + self.element.appendChild(text) + + def insertBefore(self, node, refNode): + self.element.insertBefore(node.element, refNode.element) + node.parent = self + + def removeChild(self, node): + if node.element.parentNode == self.element: + self.element.removeChild(node.element) + node.parent = None + + def reparentChildren(self, newParent): + while self.element.hasChildNodes(): + child = self.element.firstChild + self.element.removeChild(child) + newParent.element.appendChild(child) + self.childNodes = [] + + def getAttributes(self): + return AttrList(self.element) + + def setAttributes(self, attributes): + if attributes: + for name, value in attributes.items(): + if isinstance(name, tuple): + if name[0] is not None: + qualifiedName = (name[0] + ":" + name[1]) + else: + qualifiedName = name[1] + self.element.setAttributeNS(name[2], qualifiedName, + value) + else: + self.element.setAttribute( + name, value) + attributes = property(getAttributes, setAttributes) + + def cloneNode(self): + return NodeBuilder(self.element.cloneNode(False)) + + def hasContent(self): + return self.element.hasChildNodes() + + def getNameTuple(self): + if self.namespace == None: + return namespaces["html"], self.name + else: + return self.namespace, self.name + + nameTuple = property(getNameTuple) + + class TreeBuilder(_base.TreeBuilder): + def documentClass(self): + self.dom = Dom.getDOMImplementation().createDocument(None,None,None) + return weakref.proxy(self) + + def insertDoctype(self, token): + name = token["name"] + publicId = token["publicId"] + systemId = token["systemId"] + + domimpl = Dom.getDOMImplementation() + doctype = domimpl.createDocumentType(name, publicId, systemId) + self.document.appendChild(NodeBuilder(doctype)) + if Dom == minidom: + doctype.ownerDocument = self.dom + + def elementClass(self, name, namespace=None): + if namespace is None and self.defaultNamespace is None: + node = self.dom.createElement(name) + else: + node = self.dom.createElementNS(namespace, name) + + return NodeBuilder(node) + + def commentClass(self, data): + return NodeBuilder(self.dom.createComment(data)) + + def fragmentClass(self): + return NodeBuilder(self.dom.createDocumentFragment()) + + def appendChild(self, node): + self.dom.appendChild(node.element) + + def testSerializer(self, element): + return testSerializer(element) + + def getDocument(self): + return self.dom + + def getFragment(self): + return _base.TreeBuilder.getFragment(self).element + + def insertText(self, data, parent=None): + data=data + if parent <> self: + _base.TreeBuilder.insertText(self, data, parent) + else: + # HACK: allow text nodes as children of the document node + if hasattr(self.dom, '_child_node_types'): + if not Node.TEXT_NODE in self.dom._child_node_types: + self.dom._child_node_types=list(self.dom._child_node_types) + self.dom._child_node_types.append(Node.TEXT_NODE) + self.dom.appendChild(self.dom.createTextNode(data)) + + name = None + + def testSerializer(element): + element.normalize() + rv = [] + def serializeElement(element, indent=0): + if element.nodeType == Node.DOCUMENT_TYPE_NODE: + if element.name: + if element.publicId or element.systemId: + publicId = element.publicId or "" + systemId = element.systemId or "" + rv.append( """|%s<!DOCTYPE %s "%s" "%s">"""%( + ' '*indent, element.name, publicId, systemId)) + else: + rv.append("|%s<!DOCTYPE %s>"%(' '*indent, element.name)) + else: + rv.append("|%s<!DOCTYPE >"%(' '*indent,)) + elif element.nodeType == Node.DOCUMENT_NODE: + rv.append("#document") + elif element.nodeType == Node.DOCUMENT_FRAGMENT_NODE: + rv.append("#document-fragment") + elif element.nodeType == Node.COMMENT_NODE: + rv.append("|%s<!-- %s -->"%(' '*indent, element.nodeValue)) + elif element.nodeType == Node.TEXT_NODE: + rv.append("|%s\"%s\"" %(' '*indent, element.nodeValue)) + else: + if (hasattr(element, "namespaceURI") and + element.namespaceURI != None): + name = "%s %s"%(constants.prefixes[element.namespaceURI], + element.nodeName) + else: + name = element.nodeName + rv.append("|%s<%s>"%(' '*indent, name)) + if element.hasAttributes(): + i = 0 + attr = element.attributes.item(i) + while attr: + name = attr.nodeName + value = attr.value + ns = attr.namespaceURI + if ns: + name = "%s %s"%(constants.prefixes[ns], attr.localName) + else: + name = attr.nodeName + i += 1 + attr = element.attributes.item(i) + + rv.append('|%s%s="%s"' % (' '*(indent+2), name, value)) + indent += 2 + for child in element.childNodes: + serializeElement(child, indent) + serializeElement(element, 0) + + return "\n".join(rv) + + def dom2sax(node, handler, nsmap={'xml':XML_NAMESPACE}): + if node.nodeType == Node.ELEMENT_NODE: + if not nsmap: + handler.startElement(node.nodeName, node.attributes) + for child in node.childNodes: dom2sax(child, handler, nsmap) + handler.endElement(node.nodeName) + else: + attributes = dict(node.attributes.itemsNS()) + + # gather namespace declarations + prefixes = [] + for attrname in node.attributes.keys(): + attr = node.getAttributeNode(attrname) + if (attr.namespaceURI == XMLNS_NAMESPACE or + (attr.namespaceURI == None and attr.nodeName.startswith('xmlns'))): + prefix = (attr.nodeName != 'xmlns' and attr.nodeName or None) + handler.startPrefixMapping(prefix, attr.nodeValue) + prefixes.append(prefix) + nsmap = nsmap.copy() + nsmap[prefix] = attr.nodeValue + del attributes[(attr.namespaceURI, attr.nodeName)] + + # apply namespace declarations + for attrname in node.attributes.keys(): + attr = node.getAttributeNode(attrname) + if attr.namespaceURI == None and ':' in attr.nodeName: + prefix = attr.nodeName.split(':')[0] + if nsmap.has_key(prefix): + del attributes[(attr.namespaceURI, attr.nodeName)] + attributes[(nsmap[prefix],attr.nodeName)]=attr.nodeValue + + # SAX events + ns = node.namespaceURI or nsmap.get(None,None) + handler.startElementNS((ns,node.nodeName), node.nodeName, attributes) + for child in node.childNodes: dom2sax(child, handler, nsmap) + handler.endElementNS((ns, node.nodeName), node.nodeName) + for prefix in prefixes: handler.endPrefixMapping(prefix) + + elif node.nodeType in [Node.TEXT_NODE, Node.CDATA_SECTION_NODE]: + handler.characters(node.nodeValue) + + elif node.nodeType == Node.DOCUMENT_NODE: + handler.startDocument() + for child in node.childNodes: dom2sax(child, handler, nsmap) + handler.endDocument() + + elif node.nodeType == Node.DOCUMENT_FRAGMENT_NODE: + for child in node.childNodes: dom2sax(child, handler, nsmap) + + else: + # ATTRIBUTE_NODE + # ENTITY_NODE + # PROCESSING_INSTRUCTION_NODE + # COMMENT_NODE + # DOCUMENT_TYPE_NODE + # NOTATION_NODE + pass + + return locals() + +# Keep backwards compatibility with things that directly load +# classes/functions from this module +for key, value in getDomModule(minidom).__dict__.items(): + globals()[key] = value diff --git a/src/html5lib/treebuilders/etree.py b/src/html5lib/treebuilders/etree.py new file mode 100644 index 0000000000..47efface96 --- /dev/null +++ b/src/html5lib/treebuilders/etree.py @@ -0,0 +1,329 @@ +import new +import re + +import _base +from html5lib import ihatexml +from html5lib import constants +from html5lib.constants import namespaces + +tag_regexp = re.compile("{([^}]*)}(.*)") + +moduleCache = {} + +def getETreeModule(ElementTreeImplementation, fullTree=False): + name = "_" + ElementTreeImplementation.__name__+"builder" + if name in moduleCache: + return moduleCache[name] + else: + mod = new.module("_" + ElementTreeImplementation.__name__+"builder") + objs = getETreeBuilder(ElementTreeImplementation, fullTree) + mod.__dict__.update(objs) + moduleCache[name] = mod + return mod + +def getETreeBuilder(ElementTreeImplementation, fullTree=False): + ElementTree = ElementTreeImplementation + class Element(_base.Node): + def __init__(self, name, namespace=None): + self._name = name + self._namespace = namespace + self._element = ElementTree.Element(self._getETreeTag(name, + namespace)) + if namespace is None: + self.nameTuple = namespaces["html"], self._name + else: + self.nameTuple = self._namespace, self._name + self.parent = None + self._childNodes = [] + self._flags = [] + + def _getETreeTag(self, name, namespace): + if namespace is None: + etree_tag = name + else: + etree_tag = "{%s}%s"%(namespace, name) + return etree_tag + + def _setName(self, name): + self._name = name + self._element.tag = self._getETreeTag(self._name, self._namespace) + + def _getName(self): + return self._name + + name = property(_getName, _setName) + + def _setNamespace(self, namespace): + self._namespace = namespace + self._element.tag = self._getETreeTag(self._name, self._namespace) + + def _getNamespace(self): + return self._namespace + + namespace = property(_getNamespace, _setNamespace) + + def _getAttributes(self): + return self._element.attrib + + def _setAttributes(self, attributes): + #Delete existing attributes first + #XXX - there may be a better way to do this... + for key in self._element.attrib.keys(): + del self._element.attrib[key] + for key, value in attributes.iteritems(): + if isinstance(key, tuple): + name = "{%s}%s"%(key[2], key[1]) + else: + name = key + self._element.set(name, value) + + attributes = property(_getAttributes, _setAttributes) + + def _getChildNodes(self): + return self._childNodes + def _setChildNodes(self, value): + del self._element[:] + self._childNodes = [] + for element in value: + self.insertChild(element) + + childNodes = property(_getChildNodes, _setChildNodes) + + def hasContent(self): + """Return true if the node has children or text""" + return bool(self._element.text or self._element.getchildren()) + + def appendChild(self, node): + self._childNodes.append(node) + self._element.append(node._element) + node.parent = self + + def insertBefore(self, node, refNode): + index = self._element.getchildren().index(refNode._element) + self._element.insert(index, node._element) + node.parent = self + + def removeChild(self, node): + self._element.remove(node._element) + node.parent=None + + def insertText(self, data, insertBefore=None): + if not(len(self._element)): + if not self._element.text: + self._element.text = "" + self._element.text += data + elif insertBefore is None: + #Insert the text as the tail of the last child element + if not self._element[-1].tail: + self._element[-1].tail = "" + self._element[-1].tail += data + else: + #Insert the text before the specified node + children = self._element.getchildren() + index = children.index(insertBefore._element) + if index > 0: + if not self._element[index-1].tail: + self._element[index-1].tail = "" + self._element[index-1].tail += data + else: + if not self._element.text: + self._element.text = "" + self._element.text += data + + def cloneNode(self): + element = Element(self.name, self.namespace) + for name, value in self.attributes.iteritems(): + element.attributes[name] = value + return element + + def reparentChildren(self, newParent): + if newParent.childNodes: + newParent.childNodes[-1]._element.tail += self._element.text + else: + if not newParent._element.text: + newParent._element.text = "" + if self._element.text is not None: + newParent._element.text += self._element.text + self._element.text = "" + _base.Node.reparentChildren(self, newParent) + + class Comment(Element): + def __init__(self, data): + #Use the superclass constructor to set all properties on the + #wrapper element + self._element = ElementTree.Comment(data) + self.parent = None + self._childNodes = [] + self._flags = [] + + def _getData(self): + return self._element.text + + def _setData(self, value): + self._element.text = value + + data = property(_getData, _setData) + + class DocumentType(Element): + def __init__(self, name, publicId, systemId): + Element.__init__(self, "<!DOCTYPE>") + self._element.text = name + self.publicId = publicId + self.systemId = systemId + + def _getPublicId(self): + return self._element.get(u"publicId", "") + + def _setPublicId(self, value): + if value is not None: + self._element.set(u"publicId", value) + + publicId = property(_getPublicId, _setPublicId) + + def _getSystemId(self): + return self._element.get(u"systemId", "") + + def _setSystemId(self, value): + if value is not None: + self._element.set(u"systemId", value) + + systemId = property(_getSystemId, _setSystemId) + + class Document(Element): + def __init__(self): + Element.__init__(self, "<DOCUMENT_ROOT>") + + class DocumentFragment(Element): + def __init__(self): + Element.__init__(self, "<DOCUMENT_FRAGMENT>") + + def testSerializer(element): + rv = [] + finalText = None + def serializeElement(element, indent=0): + if not(hasattr(element, "tag")): + element = element.getroot() + if element.tag == "<!DOCTYPE>": + if element.get("publicId") or element.get("systemId"): + publicId = element.get("publicId") or "" + systemId = element.get("systemId") or "" + rv.append( """<!DOCTYPE %s "%s" "%s">"""%( + element.text, publicId, systemId)) + else: + rv.append("<!DOCTYPE %s>"%(element.text,)) + elif element.tag == "<DOCUMENT_ROOT>": + rv.append("#document") + if element.text: + rv.append("|%s\"%s\""%(' '*(indent+2), element.text)) + if element.tail: + finalText = element.tail + elif type(element.tag) == type(ElementTree.Comment): + rv.append("|%s<!-- %s -->"%(' '*indent, element.text)) + else: + nsmatch = tag_regexp.match(element.tag) + + if nsmatch is None: + name = element.tag + else: + ns, name = nsmatch.groups() + prefix = constants.prefixes[ns] + name = "%s %s"%(prefix, name) + rv.append("|%s<%s>"%(' '*indent, name)) + + if hasattr(element, "attrib"): + for name, value in element.attrib.iteritems(): + nsmatch = tag_regexp.match(name) + if nsmatch is not None: + ns, name = nsmatch.groups() + prefix = constants.prefixes[ns] + name = "%s %s"%(prefix, name) + rv.append('|%s%s="%s"' % (' '*(indent+2), name, value)) + if element.text: + rv.append("|%s\"%s\"" %(' '*(indent+2), element.text)) + indent += 2 + for child in element.getchildren(): + serializeElement(child, indent) + if element.tail: + rv.append("|%s\"%s\"" %(' '*(indent-2), element.tail)) + serializeElement(element, 0) + + if finalText is not None: + rv.append("|%s\"%s\""%(' '*2, finalText)) + + return "\n".join(rv) + + def tostring(element): + """Serialize an element and its child nodes to a string""" + rv = [] + finalText = None + filter = ihatexml.InfosetFilter() + def serializeElement(element): + if type(element) == type(ElementTree.ElementTree): + element = element.getroot() + + if element.tag == "<!DOCTYPE>": + if element.get("publicId") or element.get("systemId"): + publicId = element.get("publicId") or "" + systemId = element.get("systemId") or "" + rv.append( """<!DOCTYPE %s PUBLIC "%s" "%s">"""%( + element.text, publicId, systemId)) + else: + rv.append("<!DOCTYPE %s>"%(element.text,)) + elif element.tag == "<DOCUMENT_ROOT>": + if element.text: + rv.append(element.text) + if element.tail: + finalText = element.tail + + for child in element.getchildren(): + serializeElement(child) + + elif type(element.tag) == type(ElementTree.Comment): + rv.append("<!--%s-->"%(element.text,)) + else: + #This is assumed to be an ordinary element + if not element.attrib: + rv.append("<%s>"%(filter.fromXmlName(element.tag),)) + else: + attr = " ".join(["%s=\"%s\""%( + filter.fromXmlName(name), value) + for name, value in element.attrib.iteritems()]) + rv.append("<%s %s>"%(element.tag, attr)) + if element.text: + rv.append(element.text) + + for child in element.getchildren(): + serializeElement(child) + + rv.append("</%s>"%(element.tag,)) + + if element.tail: + rv.append(element.tail) + + serializeElement(element) + + if finalText is not None: + rv.append("%s\""%(' '*2, finalText)) + + return "".join(rv) + + class TreeBuilder(_base.TreeBuilder): + documentClass = Document + doctypeClass = DocumentType + elementClass = Element + commentClass = Comment + fragmentClass = DocumentFragment + + def testSerializer(self, element): + return testSerializer(element) + + def getDocument(self): + if fullTree: + return self.document._element + else: + return self.document._element.find("html") + + def getFragment(self): + return _base.TreeBuilder.getFragment(self)._element + + return locals() diff --git a/src/html5lib/treebuilders/etree_lxml.py b/src/html5lib/treebuilders/etree_lxml.py new file mode 100644 index 0000000000..80a4005108 --- /dev/null +++ b/src/html5lib/treebuilders/etree_lxml.py @@ -0,0 +1,335 @@ +import new +import warnings +import re + +import _base +from html5lib.constants import DataLossWarning +import html5lib.constants as constants +import etree as etree_builders +from html5lib import ihatexml + +try: + import lxml.etree as etree +except ImportError: + pass + +fullTree = True + +"""Module for supporting the lxml.etree library. The idea here is to use as much +of the native library as possible, without using fragile hacks like custom element +names that break between releases. The downside of this is that we cannot represent +all possible trees; specifically the following are known to cause problems: + +Text or comments as siblings of the root element +Docypes with no name + +When any of these things occur, we emit a DataLossWarning +""" + +class DocumentType(object): + def __init__(self, name, publicId, systemId): + self.name = name + self.publicId = publicId + self.systemId = systemId + +class Document(object): + def __init__(self): + self._elementTree = None + self._childNodes = [] + + def appendChild(self, element): + self._elementTree.getroot().addnext(element._element) + + def _getChildNodes(self): + return self._childNodes + + childNodes = property(_getChildNodes) + +def testSerializer(element): + rv = [] + finalText = None + filter = ihatexml.InfosetFilter() + def serializeElement(element, indent=0): + if not hasattr(element, "tag"): + if hasattr(element, "getroot"): + #Full tree case + rv.append("#document") + if element.docinfo.internalDTD: + if not (element.docinfo.public_id or + element.docinfo.system_url): + dtd_str = "<!DOCTYPE %s>"%element.docinfo.root_name + else: + dtd_str = """<!DOCTYPE %s "%s" "%s">"""%( + element.docinfo.root_name, + element.docinfo.public_id, + element.docinfo.system_url) + rv.append("|%s%s"%(' '*(indent+2), dtd_str)) + next_element = element.getroot() + while next_element.getprevious() is not None: + next_element = next_element.getprevious() + while next_element is not None: + serializeElement(next_element, indent+2) + next_element = next_element.getnext() + elif isinstance(element, basestring): + #Text in a fragment + rv.append("|%s\"%s\""%(' '*indent, element)) + else: + #Fragment case + rv.append("#document-fragment") + for next_element in element: + serializeElement(next_element, indent+2) + elif type(element.tag) == type(etree.Comment): + rv.append("|%s<!-- %s -->"%(' '*indent, element.text)) + else: + nsmatch = etree_builders.tag_regexp.match(element.tag) + if nsmatch is not None: + ns = nsmatch.group(1) + tag = nsmatch.group(2) + prefix = constants.prefixes[ns] + rv.append("|%s<%s %s>"%(' '*indent, prefix, + filter.fromXmlName(tag))) + else: + rv.append("|%s<%s>"%(' '*indent, + filter.fromXmlName(element.tag))) + + if hasattr(element, "attrib"): + for name, value in element.attrib.iteritems(): + nsmatch = etree_builders.tag_regexp.match(name) + if nsmatch: + ns = nsmatch.group(1) + name = nsmatch.group(2) + prefix = constants.prefixes[ns] + rv.append('|%s%s %s="%s"' % (' '*(indent+2), + prefix, + filter.fromXmlName(name), + value)) + else: + rv.append('|%s%s="%s"' % (' '*(indent+2), + filter.fromXmlName(name), + value)) + if element.text: + rv.append("|%s\"%s\"" %(' '*(indent+2), element.text)) + indent += 2 + for child in element.getchildren(): + serializeElement(child, indent) + if hasattr(element, "tail") and element.tail: + rv.append("|%s\"%s\"" %(' '*(indent-2), element.tail)) + serializeElement(element, 0) + + if finalText is not None: + rv.append("|%s\"%s\""%(' '*2, finalText)) + + return "\n".join(rv) + +def tostring(element): + """Serialize an element and its child nodes to a string""" + rv = [] + finalText = None + def serializeElement(element): + if not hasattr(element, "tag"): + if element.docinfo.internalDTD: + if element.docinfo.doctype: + dtd_str = element.docinfo.doctype + else: + dtd_str = "<!DOCTYPE %s>"%element.docinfo.root_name + rv.append(dtd_str) + serializeElement(element.getroot()) + + elif type(element.tag) == type(etree.Comment): + rv.append("<!--%s-->"%(element.text,)) + + else: + #This is assumed to be an ordinary element + if not element.attrib: + rv.append("<%s>"%(element.tag,)) + else: + attr = " ".join(["%s=\"%s\""%(name, value) + for name, value in element.attrib.iteritems()]) + rv.append("<%s %s>"%(element.tag, attr)) + if element.text: + rv.append(element.text) + + for child in element.getchildren(): + serializeElement(child) + + rv.append("</%s>"%(element.tag,)) + + if hasattr(element, "tail") and element.tail: + rv.append(element.tail) + + serializeElement(element) + + if finalText is not None: + rv.append("%s\""%(' '*2, finalText)) + + return "".join(rv) + + +class TreeBuilder(_base.TreeBuilder): + documentClass = Document + doctypeClass = DocumentType + elementClass = None + commentClass = None + fragmentClass = Document + + def __init__(self, namespaceHTMLElements, fullTree = False): + builder = etree_builders.getETreeModule(etree, fullTree=fullTree) + filter = self.filter = ihatexml.InfosetFilter() + self.namespaceHTMLElements = namespaceHTMLElements + + class Attributes(dict): + def __init__(self, element, value={}): + self._element = element + dict.__init__(self, value) + for key, value in self.iteritems(): + if isinstance(key, tuple): + name = "{%s}%s"%(key[2], filter.coerceAttribute(key[1])) + else: + name = filter.coerceAttribute(key) + self._element._element.attrib[name] = value + + def __setitem__(self, key, value): + dict.__setitem__(self, key, value) + if isinstance(key, tuple): + name = "{%s}%s"%(key[2], filter.coerceAttribute(key[1])) + else: + name = filter.coerceAttribute(key) + self._element._element.attrib[name] = value + + class Element(builder.Element): + def __init__(self, name, namespace): + name = filter.coerceElement(name) + builder.Element.__init__(self, name, namespace=namespace) + self._attributes = Attributes(self) + + def _setName(self, name): + self._name = filter.coerceElement(name) + self._element.tag = self._getETreeTag( + self._name, self._namespace) + + def _getName(self): + return filter.fromXmlName(self._name) + + name = property(_getName, _setName) + + def _getAttributes(self): + return self._attributes + + def _setAttributes(self, attributes): + self._attributes = Attributes(self, attributes) + + attributes = property(_getAttributes, _setAttributes) + + def insertText(self, data, insertBefore=None): + data = filter.coerceCharacters(data) + builder.Element.insertText(self, data, insertBefore) + + def appendChild(self, child): + builder.Element.appendChild(self, child) + + + class Comment(builder.Comment): + def __init__(self, data): + data = filter.coerceComment(data) + builder.Comment.__init__(self, data) + + def _setData(self, data): + data = filter.coerceComment(data) + self._element.text = data + + def _getData(self): + return self._element.text + + data = property(_getData, _setData) + + self.elementClass = Element + self.commentClass = builder.Comment + #self.fragmentClass = builder.DocumentFragment + _base.TreeBuilder.__init__(self, namespaceHTMLElements) + + def reset(self): + _base.TreeBuilder.reset(self) + self.insertComment = self.insertCommentInitial + self.initial_comments = [] + self.doctype = None + + def testSerializer(self, element): + return testSerializer(element) + + def getDocument(self): + if fullTree: + return self.document._elementTree + else: + return self.document._elementTree.getroot() + + def getFragment(self): + fragment = [] + element = self.openElements[0]._element + if element.text: + fragment.append(element.text) + fragment.extend(element.getchildren()) + if element.tail: + fragment.append(element.tail) + return fragment + + def insertDoctype(self, token): + name = token["name"] + publicId = token["publicId"] + systemId = token["systemId"] + + if not name or ihatexml.nonXmlNameBMPRegexp.search(name) or name[0] == '"': + warnings.warn("lxml cannot represent null or non-xml doctype", DataLossWarning) + + doctype = self.doctypeClass(name, publicId, systemId) + self.doctype = doctype + + def insertCommentInitial(self, data, parent=None): + self.initial_comments.append(data) + + def insertRoot(self, token): + """Create the document root""" + #Because of the way libxml2 works, it doesn't seem to be possible to + #alter information like the doctype after the tree has been parsed. + #Therefore we need to use the built-in parser to create our iniial + #tree, after which we can add elements like normal + docStr = "" + if self.doctype and self.doctype.name and not self.doctype.name.startswith('"'): + docStr += "<!DOCTYPE %s"%self.doctype.name + if (self.doctype.publicId is not None or + self.doctype.systemId is not None): + docStr += ' PUBLIC "%s" "%s"'%(self.doctype.publicId or "", + self.doctype.systemId or "") + docStr += ">" + docStr += "<THIS_SHOULD_NEVER_APPEAR_PUBLICLY/>" + + try: + root = etree.fromstring(docStr) + except etree.XMLSyntaxError: + print docStr + raise + + #Append the initial comments: + for comment_token in self.initial_comments: + root.addprevious(etree.Comment(comment_token["data"])) + + #Create the root document and add the ElementTree to it + self.document = self.documentClass() + self.document._elementTree = root.getroottree() + + # Give the root element the right name + name = token["name"] + namespace = token.get("namespace", self.defaultNamespace) + if namespace is None: + etree_tag = name + else: + etree_tag = "{%s}%s"%(namespace, name) + root.tag = etree_tag + + #Add the root element to the internal child/open data structures + root_element = self.elementClass(name, namespace) + root_element._element = root + self.document._childNodes.append(root_element) + self.openElements.append(root_element) + + #Reset to the default insert comment function + self.insertComment = super(TreeBuilder, self).insertComment diff --git a/src/html5lib/treebuilders/simpletree.py b/src/html5lib/treebuilders/simpletree.py new file mode 100644 index 0000000000..ff6bfe4003 --- /dev/null +++ b/src/html5lib/treebuilders/simpletree.py @@ -0,0 +1,248 @@ +import _base +from html5lib.constants import voidElements, namespaces, prefixes +from xml.sax.saxutils import escape + +# Really crappy basic implementation of a DOM-core like thing +class Node(_base.Node): + type = -1 + def __init__(self, name): + self.name = name + self.parent = None + self.value = None + self.childNodes = [] + self._flags = [] + + def __iter__(self): + for node in self.childNodes: + yield node + for item in node: + yield item + + def __unicode__(self): + return self.name + + def toxml(self): + raise NotImplementedError + + def printTree(self, indent=0): + tree = '\n|%s%s' % (' '* indent, unicode(self)) + for child in self.childNodes: + tree += child.printTree(indent + 2) + return tree + + def appendChild(self, node): + if (isinstance(node, TextNode) and self.childNodes and + isinstance(self.childNodes[-1], TextNode)): + self.childNodes[-1].value += node.value + else: + self.childNodes.append(node) + node.parent = self + + def insertText(self, data, insertBefore=None): + if insertBefore is None: + self.appendChild(TextNode(data)) + else: + self.insertBefore(TextNode(data), insertBefore) + + def insertBefore(self, node, refNode): + index = self.childNodes.index(refNode) + if (isinstance(node, TextNode) and index > 0 and + isinstance(self.childNodes[index - 1], TextNode)): + self.childNodes[index - 1].value += node.value + else: + self.childNodes.insert(index, node) + node.parent = self + + def removeChild(self, node): + try: + self.childNodes.remove(node) + except: + # XXX + raise + node.parent = None + + def cloneNode(self): + raise NotImplementedError + + def hasContent(self): + """Return true if the node has children or text""" + return bool(self.childNodes) + + def getNameTuple(self): + if self.namespace == None: + return namespaces["html"], self.name + else: + return self.namespace, self.name + + nameTuple = property(getNameTuple) + +class Document(Node): + type = 1 + def __init__(self): + Node.__init__(self, None) + + def __unicode__(self): + return "#document" + + def appendChild(self, child): + Node.appendChild(self, child) + + def toxml(self, encoding="utf=8"): + result = "" + for child in self.childNodes: + result += child.toxml() + return result.encode(encoding) + + def hilite(self, encoding="utf-8"): + result = "<pre>" + for child in self.childNodes: + result += child.hilite() + return result.encode(encoding) + "</pre>" + + def printTree(self): + tree = unicode(self) + for child in self.childNodes: + tree += child.printTree(2) + return tree + + def cloneNode(self): + return Document() + +class DocumentFragment(Document): + type = 2 + def __unicode__(self): + return "#document-fragment" + + def cloneNode(self): + return DocumentFragment() + +class DocumentType(Node): + type = 3 + def __init__(self, name, publicId, systemId): + Node.__init__(self, name) + self.publicId = publicId + self.systemId = systemId + + def __unicode__(self): + if self.publicId or self.systemId: + publicId = self.publicId or "" + systemId = self.systemId or "" + return """<!DOCTYPE %s "%s" "%s">"""%( + self.name, publicId, systemId) + + else: + return u"<!DOCTYPE %s>" % self.name + + + toxml = __unicode__ + + def hilite(self): + return '<code class="markup doctype"><!DOCTYPE %s></code>' % self.name + + def cloneNode(self): + return DocumentType(self.name, self.publicId, self.systemId) + +class TextNode(Node): + type = 4 + def __init__(self, value): + Node.__init__(self, None) + self.value = value + + def __unicode__(self): + return u"\"%s\"" % self.value + + def toxml(self): + return escape(self.value) + + hilite = toxml + + def cloneNode(self): + return TextNode(self.value) + +class Element(Node): + type = 5 + def __init__(self, name, namespace=None): + Node.__init__(self, name) + self.namespace = namespace + self.attributes = {} + + def __unicode__(self): + if self.namespace == None: + return u"<%s>" % self.name + else: + return u"<%s %s>"%(prefixes[self.namespace], self.name) + + def toxml(self): + result = '<' + self.name + if self.attributes: + for name,value in self.attributes.iteritems(): + result += u' %s="%s"' % (name, escape(value,{'"':'"'})) + if self.childNodes: + result += '>' + for child in self.childNodes: + result += child.toxml() + result += u'</%s>' % self.name + else: + result += u'/>' + return result + + def hilite(self): + result = '<<code class="markup element-name">%s</code>' % self.name + if self.attributes: + for name, value in self.attributes.iteritems(): + result += ' <code class="markup attribute-name">%s</code>=<code class="markup attribute-value">"%s"</code>' % (name, escape(value, {'"':'"'})) + if self.childNodes: + result += ">" + for child in self.childNodes: + result += child.hilite() + elif self.name in voidElements: + return result + ">" + return result + '</<code class="markup element-name">%s</code>>' % self.name + + def printTree(self, indent): + tree = '\n|%s%s' % (' '*indent, unicode(self)) + indent += 2 + if self.attributes: + for name, value in self.attributes.iteritems(): + if isinstance(name, tuple): + name = "%s %s"%(name[0], name[1]) + tree += '\n|%s%s="%s"' % (' ' * indent, name, value) + for child in self.childNodes: + tree += child.printTree(indent) + return tree + + def cloneNode(self): + newNode = Element(self.name) + if hasattr(self, 'namespace'): + newNode.namespace = self.namespace + for attr, value in self.attributes.iteritems(): + newNode.attributes[attr] = value + return newNode + +class CommentNode(Node): + type = 6 + def __init__(self, data): + Node.__init__(self, None) + self.data = data + + def __unicode__(self): + return "<!-- %s -->" % self.data + + def toxml(self): + return "<!--%s-->" % self.data + + def hilite(self): + return '<code class="markup comment"><!--%s--></code>' % escape(self.data) + + def cloneNode(self): + return CommentNode(self.data) + +class TreeBuilder(_base.TreeBuilder): + documentClass = Document + doctypeClass = DocumentType + elementClass = Element + commentClass = CommentNode + fragmentClass = DocumentFragment + + def testSerializer(self, node): + return node.printTree() diff --git a/src/html5lib/treebuilders/soup.py b/src/html5lib/treebuilders/soup.py new file mode 100644 index 0000000000..807a998cd1 --- /dev/null +++ b/src/html5lib/treebuilders/soup.py @@ -0,0 +1,228 @@ +import warnings + +warnings.warn("BeautifulSoup 3.x (as of 3.1) is not fully compatible with html5lib and support will be removed in the future", DeprecationWarning) + +from BeautifulSoup import BeautifulSoup, Tag, NavigableString, Comment, Declaration + +import _base +from html5lib.constants import namespaces, DataLossWarning + +class AttrList(object): + def __init__(self, element): + self.element = element + self.attrs = dict(self.element.attrs) + def __iter__(self): + return self.attrs.items().__iter__() + def __setitem__(self, name, value): + "set attr", name, value + self.element[name] = value + def items(self): + return self.attrs.items() + def keys(self): + return self.attrs.keys() + def __getitem__(self, name): + return self.attrs[name] + def __contains__(self, name): + return name in self.attrs.keys() + + +class Element(_base.Node): + def __init__(self, element, soup, namespace): + _base.Node.__init__(self, element.name) + self.element = element + self.soup = soup + self.namespace = namespace + + def _nodeIndex(self, node, refNode): + # Finds a node by identity rather than equality + for index in range(len(self.element.contents)): + if id(self.element.contents[index]) == id(refNode.element): + return index + return None + + def appendChild(self, node): + if (node.element.__class__ == NavigableString and self.element.contents + and self.element.contents[-1].__class__ == NavigableString): + # Concatenate new text onto old text node + # (TODO: This has O(n^2) performance, for input like "a</a>a</a>a</a>...") + newStr = NavigableString(self.element.contents[-1]+node.element) + + # Remove the old text node + # (Can't simply use .extract() by itself, because it fails if + # an equal text node exists within the parent node) + oldElement = self.element.contents[-1] + del self.element.contents[-1] + oldElement.parent = None + oldElement.extract() + + self.element.insert(len(self.element.contents), newStr) + else: + self.element.insert(len(self.element.contents), node.element) + node.parent = self + + def getAttributes(self): + return AttrList(self.element) + + def setAttributes(self, attributes): + if attributes: + for name, value in attributes.items(): + self.element[name] = value + + attributes = property(getAttributes, setAttributes) + + def insertText(self, data, insertBefore=None): + text = TextNode(NavigableString(data), self.soup) + if insertBefore: + self.insertBefore(text, insertBefore) + else: + self.appendChild(text) + + def insertBefore(self, node, refNode): + index = self._nodeIndex(node, refNode) + if (node.element.__class__ == NavigableString and self.element.contents + and self.element.contents[index-1].__class__ == NavigableString): + # (See comments in appendChild) + newStr = NavigableString(self.element.contents[index-1]+node.element) + oldNode = self.element.contents[index-1] + del self.element.contents[index-1] + oldNode.parent = None + oldNode.extract() + + self.element.insert(index-1, newStr) + else: + self.element.insert(index, node.element) + node.parent = self + + def removeChild(self, node): + index = self._nodeIndex(node.parent, node) + del node.parent.element.contents[index] + node.element.parent = None + node.element.extract() + node.parent = None + + def reparentChildren(self, newParent): + while self.element.contents: + child = self.element.contents[0] + child.extract() + if isinstance(child, Tag): + newParent.appendChild(Element(child, self.soup, namespaces["html"])) + else: + newParent.appendChild(TextNode(child, self.soup)) + + def cloneNode(self): + node = Element(Tag(self.soup, self.element.name), self.soup, self.namespace) + for key,value in self.attributes: + node.attributes[key] = value + return node + + def hasContent(self): + return self.element.contents + + def getNameTuple(self): + if self.namespace == None: + return namespaces["html"], self.name + else: + return self.namespace, self.name + + nameTuple = property(getNameTuple) + +class TextNode(Element): + def __init__(self, element, soup): + _base.Node.__init__(self, None) + self.element = element + self.soup = soup + + def cloneNode(self): + raise NotImplementedError + +class TreeBuilder(_base.TreeBuilder): + def __init__(self, namespaceHTMLElements): + if namespaceHTMLElements: + warnings.warn("BeautifulSoup cannot represent elements in any namespace", DataLossWarning) + _base.TreeBuilder.__init__(self, namespaceHTMLElements) + + def documentClass(self): + self.soup = BeautifulSoup("") + return Element(self.soup, self.soup, None) + + def insertDoctype(self, token): + name = token["name"] + publicId = token["publicId"] + systemId = token["systemId"] + + if publicId: + self.soup.insert(0, Declaration("%s PUBLIC \"%s\" \"%s\""%(name, publicId, systemId or ""))) + elif systemId: + self.soup.insert(0, Declaration("%s SYSTEM \"%s\""% + (name, systemId))) + else: + self.soup.insert(0, Declaration(name)) + + def elementClass(self, name, namespace): + if namespace is not None: + warnings.warn("BeautifulSoup cannot represent elements in any namespace", DataLossWarning) + return Element(Tag(self.soup, name), self.soup, namespace) + + def commentClass(self, data): + return TextNode(Comment(data), self.soup) + + def fragmentClass(self): + self.soup = BeautifulSoup("") + self.soup.name = "[document_fragment]" + return Element(self.soup, self.soup, None) + + def appendChild(self, node): + self.soup.insert(len(self.soup.contents), node.element) + + def testSerializer(self, element): + return testSerializer(element) + + def getDocument(self): + return self.soup + + def getFragment(self): + return _base.TreeBuilder.getFragment(self).element + +def testSerializer(element): + import re + rv = [] + def serializeElement(element, indent=0): + if isinstance(element, Declaration): + doctype_regexp = r'(?P<name>[^\s]*)( PUBLIC "(?P<publicId>.*)" "(?P<systemId1>.*)"| SYSTEM "(?P<systemId2>.*)")?' + m = re.compile(doctype_regexp).match(element.string) + assert m is not None, "DOCTYPE did not match expected format" + name = m.group('name') + publicId = m.group('publicId') + if publicId is not None: + systemId = m.group('systemId1') or "" + else: + systemId = m.group('systemId2') + + if publicId is not None or systemId is not None: + rv.append("""|%s<!DOCTYPE %s "%s" "%s">"""% + (' '*indent, name, publicId or "", systemId or "")) + else: + rv.append("|%s<!DOCTYPE %s>"%(' '*indent, name)) + + elif isinstance(element, BeautifulSoup): + if element.name == "[document_fragment]": + rv.append("#document-fragment") + else: + rv.append("#document") + + elif isinstance(element, Comment): + rv.append("|%s<!-- %s -->"%(' '*indent, element.string)) + elif isinstance(element, unicode): + rv.append("|%s\"%s\"" %(' '*indent, element)) + else: + rv.append("|%s<%s>"%(' '*indent, element.name)) + if element.attrs: + for name, value in element.attrs: + rv.append('|%s%s="%s"' % (' '*(indent+2), name, value)) + indent += 2 + if hasattr(element, "contents"): + for child in element.contents: + serializeElement(child, indent) + serializeElement(element, 0) + + return "\n".join(rv) diff --git a/src/html5lib/treewalkers/__init__.py b/src/html5lib/treewalkers/__init__.py new file mode 100644 index 0000000000..3a606a8b3c --- /dev/null +++ b/src/html5lib/treewalkers/__init__.py @@ -0,0 +1,52 @@ +"""A collection of modules for iterating through different kinds of +tree, generating tokens identical to those produced by the tokenizer +module. + +To create a tree walker for a new type of tree, you need to do +implement a tree walker object (called TreeWalker by convention) that +implements a 'serialize' method taking a tree as sole argument and +returning an iterator generating tokens. +""" + +treeWalkerCache = {} + +def getTreeWalker(treeType, implementation=None, **kwargs): + """Get a TreeWalker class for various types of tree with built-in support + + treeType - the name of the tree type required (case-insensitive). Supported + values are "simpletree", "dom", "etree" and "beautifulsoup" + + "simpletree" - a built-in DOM-ish tree type with support for some + more pythonic idioms. + "dom" - The xml.dom.minidom DOM implementation + "pulldom" - The xml.dom.pulldom event stream + "etree" - A generic walker for tree implementations exposing an + elementtree-like interface (known to work with + ElementTree, cElementTree and lxml.etree). + "lxml" - Optimized walker for lxml.etree + "beautifulsoup" - Beautiful soup (if installed) + "genshi" - a Genshi stream + + implementation - (Currently applies to the "etree" tree type only). A module + implementing the tree type e.g. xml.etree.ElementTree or + cElementTree.""" + + treeType = treeType.lower() + if treeType not in treeWalkerCache: + if treeType in ("dom", "pulldom", "simpletree"): + mod = __import__(treeType, globals()) + treeWalkerCache[treeType] = mod.TreeWalker + elif treeType == "genshi": + import genshistream + treeWalkerCache[treeType] = genshistream.TreeWalker + elif treeType == "beautifulsoup": + import soup + treeWalkerCache[treeType] = soup.TreeWalker + elif treeType == "lxml": + import lxmletree + treeWalkerCache[treeType] = lxmletree.TreeWalker + elif treeType == "etree": + import etree + # XXX: NEVER cache here, caching is done in the etree submodule + return etree.getETreeModule(implementation, **kwargs).TreeWalker + return treeWalkerCache.get(treeType) diff --git a/src/html5lib/treewalkers/_base.py b/src/html5lib/treewalkers/_base.py new file mode 100644 index 0000000000..2c3b819d88 --- /dev/null +++ b/src/html5lib/treewalkers/_base.py @@ -0,0 +1,165 @@ +import gettext +_ = gettext.gettext + +from html5lib.constants import voidElements, spaceCharacters +spaceCharacters = u"".join(spaceCharacters) + +class TreeWalker(object): + def __init__(self, tree): + self.tree = tree + + def __iter__(self): + raise NotImplementedError + + def error(self, msg): + return {"type": "SerializeError", "data": msg} + + def normalizeAttrs(self, attrs): + if not attrs: + attrs = [] + elif hasattr(attrs, 'items'): + attrs = attrs.items() + return [(unicode(name),unicode(value)) for name,value in attrs] + + def emptyTag(self, namespace, name, attrs, hasChildren=False): + yield {"type": "EmptyTag", "name": unicode(name), + "namespace":unicode(namespace), + "data": self.normalizeAttrs(attrs)} + if hasChildren: + yield self.error(_("Void element has children")) + + def startTag(self, namespace, name, attrs): + return {"type": "StartTag", + "name": unicode(name), + "namespace":unicode(namespace), + "data": self.normalizeAttrs(attrs)} + + def endTag(self, namespace, name): + return {"type": "EndTag", + "name": unicode(name), + "namespace":unicode(namespace), + "data": []} + + def text(self, data): + data = unicode(data) + middle = data.lstrip(spaceCharacters) + left = data[:len(data)-len(middle)] + if left: + yield {"type": "SpaceCharacters", "data": left} + data = middle + middle = data.rstrip(spaceCharacters) + right = data[len(middle):] + if middle: + yield {"type": "Characters", "data": middle} + if right: + yield {"type": "SpaceCharacters", "data": right} + + def comment(self, data): + return {"type": "Comment", "data": unicode(data)} + + def doctype(self, name, publicId=None, systemId=None, correct=True): + return {"type": "Doctype", + "name": name is not None and unicode(name) or u"", + "publicId": publicId, + "systemId": systemId, + "correct": correct} + + def unknown(self, nodeType): + return self.error(_("Unknown node type: ") + nodeType) + +class RecursiveTreeWalker(TreeWalker): + def walkChildren(self, node): + raise NodeImplementedError + + def element(self, node, namespace, name, attrs, hasChildren): + if name in voidElements: + for token in self.emptyTag(namespace, name, attrs, hasChildren): + yield token + else: + yield self.startTag(name, attrs) + if hasChildren: + for token in self.walkChildren(node): + yield token + yield self.endTag(name) + +from xml.dom import Node + +DOCUMENT = Node.DOCUMENT_NODE +DOCTYPE = Node.DOCUMENT_TYPE_NODE +TEXT = Node.TEXT_NODE +ELEMENT = Node.ELEMENT_NODE +COMMENT = Node.COMMENT_NODE +UNKNOWN = "<#UNKNOWN#>" + +class NonRecursiveTreeWalker(TreeWalker): + def getNodeDetails(self, node): + raise NotImplementedError + + def getFirstChild(self, node): + raise NotImplementedError + + def getNextSibling(self, node): + raise NotImplementedError + + def getParentNode(self, node): + raise NotImplementedError + + def __iter__(self): + currentNode = self.tree + while currentNode is not None: + details = self.getNodeDetails(currentNode) + type, details = details[0], details[1:] + hasChildren = False + endTag = None + + if type == DOCTYPE: + yield self.doctype(*details) + + elif type == TEXT: + for token in self.text(*details): + yield token + + elif type == ELEMENT: + namespace, name, attributes, hasChildren = details + if name in voidElements: + for token in self.emptyTag(namespace, name, attributes, + hasChildren): + yield token + hasChildren = False + else: + endTag = name + yield self.startTag(namespace, name, attributes) + + elif type == COMMENT: + yield self.comment(details[0]) + + elif type == DOCUMENT: + hasChildren = True + + else: + yield self.unknown(details[0]) + + if hasChildren: + firstChild = self.getFirstChild(currentNode) + else: + firstChild = None + + if firstChild is not None: + currentNode = firstChild + else: + while currentNode is not None: + details = self.getNodeDetails(currentNode) + type, details = details[0], details[1:] + if type == ELEMENT: + namespace, name, attributes, hasChildren = details + if name not in voidElements: + yield self.endTag(namespace, name) + if self.tree is currentNode: + currentNode = None + break + nextSibling = self.getNextSibling(currentNode) + if nextSibling is not None: + currentNode = nextSibling + break + else: + currentNode = self.getParentNode(currentNode) diff --git a/src/html5lib/treewalkers/dom.py b/src/html5lib/treewalkers/dom.py new file mode 100644 index 0000000000..0adc77f0e8 --- /dev/null +++ b/src/html5lib/treewalkers/dom.py @@ -0,0 +1,37 @@ +from xml.dom import Node + +import gettext +_ = gettext.gettext + +import _base +from html5lib.constants import voidElements + +class TreeWalker(_base.NonRecursiveTreeWalker): + def getNodeDetails(self, node): + if node.nodeType == Node.DOCUMENT_TYPE_NODE: + return _base.DOCTYPE, node.name, node.publicId, node.systemId + + elif node.nodeType in (Node.TEXT_NODE, Node.CDATA_SECTION_NODE): + return _base.TEXT, node.nodeValue + + elif node.nodeType == Node.ELEMENT_NODE: + return (_base.ELEMENT, node.namespaceURI, node.nodeName, + node.attributes.items(), node.hasChildNodes) + + elif node.nodeType == Node.COMMENT_NODE: + return _base.COMMENT, node.nodeValue + + elif node.nodeType in (Node.DOCUMENT_NODE, Node.DOCUMENT_FRAGMENT_NODE): + return (_base.DOCUMENT,) + + else: + return _base.UNKNOWN, node.nodeType + + def getFirstChild(self, node): + return node.firstChild + + def getNextSibling(self, node): + return node.nextSibling + + def getParentNode(self, node): + return node.parentNode diff --git a/src/html5lib/treewalkers/etree.py b/src/html5lib/treewalkers/etree.py new file mode 100644 index 0000000000..739d30756f --- /dev/null +++ b/src/html5lib/treewalkers/etree.py @@ -0,0 +1,130 @@ +import gettext +_ = gettext.gettext + +import new +import copy +import re + +import _base +from html5lib.constants import voidElements + +tag_regexp = re.compile("{([^}]*)}(.*)") + +moduleCache = {} + +def getETreeModule(ElementTreeImplementation): + name = "_" + ElementTreeImplementation.__name__+"builder" + if name in moduleCache: + return moduleCache[name] + else: + mod = new.module("_" + ElementTreeImplementation.__name__+"builder") + objs = getETreeBuilder(ElementTreeImplementation) + mod.__dict__.update(objs) + moduleCache[name] = mod + return mod + +def getETreeBuilder(ElementTreeImplementation): + ElementTree = ElementTreeImplementation + + class TreeWalker(_base.NonRecursiveTreeWalker): + """Given the particular ElementTree representation, this implementation, + to avoid using recursion, returns "nodes" as tuples with the following + content: + + 1. The current element + + 2. The index of the element relative to its parent + + 3. A stack of ancestor elements + + 4. A flag "text", "tail" or None to indicate if the current node is a + text node; either the text or tail of the current element (1) + """ + def getNodeDetails(self, node): + if isinstance(node, tuple): # It might be the root Element + elt, key, parents, flag = node + if flag in ("text", "tail"): + return _base.TEXT, getattr(elt, flag) + else: + node = elt + + if not(hasattr(node, "tag")): + node = node.getroot() + + if node.tag in ("<DOCUMENT_ROOT>", "<DOCUMENT_FRAGMENT>"): + return (_base.DOCUMENT,) + + elif node.tag == "<!DOCTYPE>": + return (_base.DOCTYPE, node.text, + node.get("publicId"), node.get("systemId")) + + elif type(node.tag) == type(ElementTree.Comment): + return _base.COMMENT, node.text + + else: + #This is assumed to be an ordinary element + match = tag_regexp.match(node.tag) + if match: + namespace, tag = match.groups() + else: + namespace = None + tag = node.tag + return (_base.ELEMENT, namespace, tag, + node.attrib.items(), len(node) or node.text) + + def getFirstChild(self, node): + if isinstance(node, tuple): + element, key, parents, flag = node + else: + element, key, parents, flag = node, None, [], None + + if flag in ("text", "tail"): + return None + else: + if element.text: + return element, key, parents, "text" + elif len(element): + parents.append(element) + return element[0], 0, parents, None + else: + return None + + def getNextSibling(self, node): + if isinstance(node, tuple): + element, key, parents, flag = node + else: + return None + + if flag == "text": + if len(element): + parents.append(element) + return element[0], 0, parents, None + else: + return None + else: + if element.tail and flag != "tail": + return element, key, parents, "tail" + elif key < len(parents[-1]) - 1: + return parents[-1][key+1], key+1, parents, None + else: + return None + + def getParentNode(self, node): + if isinstance(node, tuple): + element, key, parents, flag = node + else: + return None + + if flag == "text": + if not parents: + return element + else: + return element, key, parents, None + else: + parent = parents.pop() + if not parents: + return parent + else: + return parent, list(parents[-1]).index(parent), parents, None + + return locals() diff --git a/src/html5lib/treewalkers/genshistream.py b/src/html5lib/treewalkers/genshistream.py new file mode 100644 index 0000000000..ef71a83e31 --- /dev/null +++ b/src/html5lib/treewalkers/genshistream.py @@ -0,0 +1,70 @@ +from genshi.core import START, END, XML_NAMESPACE, DOCTYPE, TEXT +from genshi.core import START_NS, END_NS, START_CDATA, END_CDATA, PI, COMMENT +from genshi.output import NamespaceFlattener + +import _base + +from html5lib.constants import voidElements + +class TreeWalker(_base.TreeWalker): + def __iter__(self): + depth = 0 + ignore_until = None + previous = None + for event in self.tree: + if previous is not None: + if previous[0] == START: + depth += 1 + if ignore_until <= depth: + ignore_until = None + if ignore_until is None: + for token in self.tokens(previous, event): + yield token + if token["type"] == "EmptyTag": + ignore_until = depth + if previous[0] == END: + depth -= 1 + previous = event + if previous is not None: + if ignore_until is None or ignore_until <= depth: + for token in self.tokens(previous, None): + yield token + elif ignore_until is not None: + raise ValueError("Illformed DOM event stream: void element without END_ELEMENT") + + def tokens(self, event, next): + kind, data, pos = event + if kind == START: + tag, attrib = data + name = tag.localname + namespace = tag.namespace + if tag in voidElements: + for token in self.emptyTag(namespace, name, list(attrib), + not next or next[0] != END + or next[1] != tag): + yield token + else: + yield self.startTag(namespace, name, list(attrib)) + + elif kind == END: + name = data.localname + namespace = data.namespace + if name not in voidElements: + yield self.endTag(namespace, name) + + elif kind == COMMENT: + yield self.comment(data) + + elif kind == TEXT: + for token in self.text(data): + yield token + + elif kind == DOCTYPE: + yield self.doctype(*data) + + elif kind in (XML_NAMESPACE, DOCTYPE, START_NS, END_NS, \ + START_CDATA, END_CDATA, PI): + pass + + else: + yield self.unknown(kind) diff --git a/src/html5lib/treewalkers/lxmletree.py b/src/html5lib/treewalkers/lxmletree.py new file mode 100644 index 0000000000..3f4de4fcd4 --- /dev/null +++ b/src/html5lib/treewalkers/lxmletree.py @@ -0,0 +1,175 @@ +from lxml import etree +from html5lib.treebuilders.etree import tag_regexp + +from gettext import gettext +_ = gettext + +import _base + +from html5lib.constants import voidElements +from html5lib import ihatexml + +class Root(object): + def __init__(self, et): + self.elementtree = et + self.children = [] + if et.docinfo.internalDTD: + self.children.append(Doctype(self, et.docinfo.root_name, + et.docinfo.public_id, + et.docinfo.system_url)) + root = et.getroot() + node = root + + while node.getprevious() is not None: + node = node.getprevious() + while node is not None: + self.children.append(node) + node = node.getnext() + + self.text = None + self.tail = None + + def __getitem__(self, key): + return self.children[key] + + def getnext(self): + return None + + def __len__(self): + return 1 + +class Doctype(object): + def __init__(self, root_node, name, public_id, system_id): + self.root_node = root_node + self.name = name + self.public_id = public_id + self.system_id = system_id + + self.text = None + self.tail = None + + def getnext(self): + return self.root_node.children[1] + +class FragmentRoot(Root): + def __init__(self, children): + self.children = [FragmentWrapper(self, child) for child in children] + self.text = self.tail = None + + def getnext(self): + return None + +class FragmentWrapper(object): + def __init__(self, fragment_root, obj): + self.root_node = fragment_root + self.obj = obj + if hasattr(self.obj, 'text'): + self.text = self.obj.text + else: + self.text = None + if hasattr(self.obj, 'tail'): + self.tail = self.obj.tail + else: + self.tail = None + self.isstring = isinstance(obj, basestring) + + def __getattr__(self, name): + return getattr(self.obj, name) + + def getnext(self): + siblings = self.root_node.children + idx = siblings.index(self) + if idx < len(siblings) - 1: + return siblings[idx + 1] + else: + return None + + def __getitem__(self, key): + return self.obj[key] + + def __nonzero__(self): + return bool(self.obj) + + def getparent(self): + return None + + def __str__(self): + return str(self.obj) + + def __len__(self): + return len(self.obj) + + +class TreeWalker(_base.NonRecursiveTreeWalker): + def __init__(self, tree): + if hasattr(tree, "getroot"): + tree = Root(tree) + elif isinstance(tree, list): + tree = FragmentRoot(tree) + _base.NonRecursiveTreeWalker.__init__(self, tree) + self.filter = ihatexml.InfosetFilter() + def getNodeDetails(self, node): + if isinstance(node, tuple): # Text node + node, key = node + assert key in ("text", "tail"), _("Text nodes are text or tail, found %s") % key + return _base.TEXT, getattr(node, key) + + elif isinstance(node, Root): + return (_base.DOCUMENT,) + + elif isinstance(node, Doctype): + return _base.DOCTYPE, node.name, node.public_id, node.system_id + + elif isinstance(node, FragmentWrapper) and node.isstring: + return _base.TEXT, node + + elif node.tag == etree.Comment: + return _base.COMMENT, node.text + + else: + #This is assumed to be an ordinary element + match = tag_regexp.match(node.tag) + if match: + namespace, tag = match.groups() + else: + namespace = None + tag = node.tag + return (_base.ELEMENT, namespace, self.filter.fromXmlName(tag), + [(self.filter.fromXmlName(name), value) for + name,value in node.attrib.iteritems()], + len(node) > 0 or node.text) + + def getFirstChild(self, node): + assert not isinstance(node, tuple), _("Text nodes have no children") + + assert len(node) or node.text, "Node has no children" + if node.text: + return (node, "text") + else: + return node[0] + + def getNextSibling(self, node): + if isinstance(node, tuple): # Text node + node, key = node + assert key in ("text", "tail"), _("Text nodes are text or tail, found %s") % key + if key == "text": + # XXX: we cannot use a "bool(node) and node[0] or None" construct here + # because node[0] might evaluate to False if it has no child element + if len(node): + return node[0] + else: + return None + else: # tail + return node.getnext() + + return node.tail and (node, "tail") or node.getnext() + + def getParentNode(self, node): + if isinstance(node, tuple): # Text node + node, key = node + assert key in ("text", "tail"), _("Text nodes are text or tail, found %s") % key + if key == "text": + return node + # else: fallback to "normal" processing + + return node.getparent() diff --git a/src/html5lib/treewalkers/pulldom.py b/src/html5lib/treewalkers/pulldom.py new file mode 100644 index 0000000000..7354a0e4a6 --- /dev/null +++ b/src/html5lib/treewalkers/pulldom.py @@ -0,0 +1,56 @@ +from xml.dom.pulldom import START_ELEMENT, END_ELEMENT, \ + COMMENT, IGNORABLE_WHITESPACE, CHARACTERS + +import _base + +from html5lib.constants import voidElements + +class TreeWalker(_base.TreeWalker): + def __iter__(self): + ignore_until = None + previous = None + for event in self.tree: + if previous is not None and \ + (ignore_until is None or previous[1] is ignore_until): + if previous[1] is ignore_until: + ignore_until = None + for token in self.tokens(previous, event): + yield token + if token["type"] == "EmptyTag": + ignore_until = previous[1] + previous = event + if ignore_until is None or previous[1] is ignore_until: + for token in self.tokens(previous, None): + yield token + elif ignore_until is not None: + raise ValueError("Illformed DOM event stream: void element without END_ELEMENT") + + def tokens(self, event, next): + type, node = event + if type == START_ELEMENT: + name = node.nodeName + namespace = node.namespaceURI + if name in voidElements: + for token in self.emptyTag(namespace, + name, + node.attributes.items(), + not next or next[1] is not node): + yield token + else: + yield self.startTag(namespace, name, node.attributes.items()) + + elif type == END_ELEMENT: + name = node.nodeName + namespace = node.namespaceURI + if name not in voidElements: + yield self.endTag(namespace, name) + + elif type == COMMENT: + yield self.comment(node.nodeValue) + + elif type in (IGNORABLE_WHITESPACE, CHARACTERS): + for token in self.text(node.nodeValue): + yield token + + else: + yield self.unknown(type) diff --git a/src/html5lib/treewalkers/simpletree.py b/src/html5lib/treewalkers/simpletree.py new file mode 100644 index 0000000000..42be2a2d25 --- /dev/null +++ b/src/html5lib/treewalkers/simpletree.py @@ -0,0 +1,72 @@ +import gettext +_ = gettext.gettext + +import _base + +class TreeWalker(_base.NonRecursiveTreeWalker): + """Given that simpletree has no performant way of getting a node's + next sibling, this implementation returns "nodes" as tuples with the + following content: + + 1. The parent Node (Element, Document or DocumentFragment) + + 2. The child index of the current node in its parent's children list + + 3. A list used as a stack of all ancestors. It is a pair tuple whose + first item is a parent Node and second item is a child index. + """ + + def getNodeDetails(self, node): + if isinstance(node, tuple): # It might be the root Node + parent, idx, parents = node + node = parent.childNodes[idx] + + # testing node.type allows us not to import treebuilders.simpletree + if node.type in (1, 2): # Document or DocumentFragment + return (_base.DOCUMENT,) + + elif node.type == 3: # DocumentType + return _base.DOCTYPE, node.name, node.publicId, node.systemId + + elif node.type == 4: # TextNode + return _base.TEXT, node.value + + elif node.type == 5: # Element + return (_base.ELEMENT, node.namespace, node.name, + node.attributes.items(), node.hasContent()) + + elif node.type == 6: # CommentNode + return _base.COMMENT, node.data + + else: + return _node.UNKNOWN, node.type + + def getFirstChild(self, node): + if isinstance(node, tuple): # It might be the root Node + parent, idx, parents = node + parents.append((parent, idx)) + node = parent.childNodes[idx] + else: + parents = [] + + assert node.hasContent(), "Node has no children" + return (node, 0, parents) + + def getNextSibling(self, node): + assert isinstance(node, tuple), "Node is not a tuple: " + str(node) + parent, idx, parents = node + idx += 1 + if len(parent.childNodes) > idx: + return (parent, idx, parents) + else: + return None + + def getParentNode(self, node): + assert isinstance(node, tuple) + parent, idx, parents = node + if parents: + parent, idx = parents.pop() + return parent, idx, parents + else: + # HACK: We could return ``parent`` but None will stop the algorithm the same way + return None diff --git a/src/html5lib/treewalkers/soup.py b/src/html5lib/treewalkers/soup.py new file mode 100644 index 0000000000..f754e5e1c6 --- /dev/null +++ b/src/html5lib/treewalkers/soup.py @@ -0,0 +1,59 @@ +import re +import gettext +_ = gettext.gettext + +from BeautifulSoup import BeautifulSoup, Declaration, Comment, Tag +from html5lib.constants import namespaces +import _base + +class TreeWalker(_base.NonRecursiveTreeWalker): + doctype_regexp = re.compile( + r'(?P<name>[^\s]*)(\s*PUBLIC\s*"(?P<publicId>.*)"\s*"(?P<systemId1>.*)"|\s*SYSTEM\s*"(?P<systemId2>.*)")?') + def getNodeDetails(self, node): + if isinstance(node, BeautifulSoup): # Document or DocumentFragment + return (_base.DOCUMENT,) + + elif isinstance(node, Declaration): # DocumentType + string = unicode(node.string) + #Slice needed to remove markup added during unicode conversion, + #but only in some versions of BeautifulSoup/Python + if string.startswith('<!') and string.endswith('>'): + string = string[2:-1] + m = self.doctype_regexp.match(string) + #This regexp approach seems wrong and fragile + #but beautiful soup stores the doctype as a single thing and we want the seperate bits + #It should work as long as the tree is created by html5lib itself but may be wrong if it's + #been modified at all + #We could just feed to it a html5lib tokenizer, I guess... + assert m is not None, "DOCTYPE did not match expected format" + name = m.group('name') + publicId = m.group('publicId') + if publicId is not None: + systemId = m.group('systemId1') + else: + systemId = m.group('systemId2') + return _base.DOCTYPE, name, publicId or "", systemId or "" + + elif isinstance(node, Comment): + string = unicode(node.string) + if string.startswith('<!--') and string.endswith('-->'): + string = string[4:-3] + return _base.COMMENT, string + + elif isinstance(node, unicode): # TextNode + return _base.TEXT, node + + elif isinstance(node, Tag): # Element + return (_base.ELEMENT, namespaces["html"], node.name, + dict(node.attrs).items(), node.contents) + else: + return _base.UNKNOWN, node.__class__.__name__ + + def getFirstChild(self, node): + return node.contents[0] + + def getNextSibling(self, node): + return node.nextSibling + + def getParentNode(self, node): + return node.parent diff --git a/src/html5lib/utils.py b/src/html5lib/utils.py new file mode 100644 index 0000000000..7c6c8ae840 --- /dev/null +++ b/src/html5lib/utils.py @@ -0,0 +1,156 @@ +try: + frozenset +except NameError: + #Import from the sets module for python 2.3 + from sets import Set as set + from sets import ImmutableSet as frozenset + +class MethodDispatcher(dict): + """Dict with 2 special properties: + + On initiation, keys that are lists, sets or tuples are converted to + multiple keys so accessing any one of the items in the original + list-like object returns the matching value + + md = MethodDispatcher({("foo", "bar"):"baz"}) + md["foo"] == "baz" + + A default value which can be set through the default attribute. + """ + + def __init__(self, items=()): + # Using _dictEntries instead of directly assigning to self is about + # twice as fast. Please do careful performance testing before changing + # anything here. + _dictEntries = [] + for name,value in items: + if type(name) in (list, tuple, frozenset, set): + for item in name: + _dictEntries.append((item, value)) + else: + _dictEntries.append((name, value)) + dict.__init__(self, _dictEntries) + self.default = None + + def __getitem__(self, key): + return dict.get(self, key, self.default) + +#Pure python implementation of deque taken from the ASPN Python Cookbook +#Original code by Raymond Hettinger + +class deque(object): + + def __init__(self, iterable=(), maxsize=-1): + if not hasattr(self, 'data'): + self.left = self.right = 0 + self.data = {} + self.maxsize = maxsize + self.extend(iterable) + + def append(self, x): + self.data[self.right] = x + self.right += 1 + if self.maxsize != -1 and len(self) > self.maxsize: + self.popleft() + + def appendleft(self, x): + self.left -= 1 + self.data[self.left] = x + if self.maxsize != -1 and len(self) > self.maxsize: + self.pop() + + def pop(self): + if self.left == self.right: + raise IndexError('cannot pop from empty deque') + self.right -= 1 + elem = self.data[self.right] + del self.data[self.right] + return elem + + def popleft(self): + if self.left == self.right: + raise IndexError('cannot pop from empty deque') + elem = self.data[self.left] + del self.data[self.left] + self.left += 1 + return elem + + def clear(self): + self.data.clear() + self.left = self.right = 0 + + def extend(self, iterable): + for elem in iterable: + self.append(elem) + + def extendleft(self, iterable): + for elem in iterable: + self.appendleft(elem) + + def rotate(self, n=1): + if self: + n %= len(self) + for i in xrange(n): + self.appendleft(self.pop()) + + def __getitem__(self, i): + if i < 0: + i += len(self) + try: + return self.data[i + self.left] + except KeyError: + raise IndexError + + def __setitem__(self, i, value): + if i < 0: + i += len(self) + try: + self.data[i + self.left] = value + except KeyError: + raise IndexError + + def __delitem__(self, i): + size = len(self) + if not (-size <= i < size): + raise IndexError + data = self.data + if i < 0: + i += size + for j in xrange(self.left+i, self.right-1): + data[j] = data[j+1] + self.pop() + + def __len__(self): + return self.right - self.left + + def __cmp__(self, other): + if type(self) != type(other): + return cmp(type(self), type(other)) + return cmp(list(self), list(other)) + + def __repr__(self, _track=[]): + if id(self) in _track: + return '...' + _track.append(id(self)) + r = 'deque(%r)' % (list(self),) + _track.remove(id(self)) + return r + + def __getstate__(self): + return (tuple(self),) + + def __setstate__(self, s): + self.__init__(s[0]) + + def __hash__(self): + raise TypeError + + def __copy__(self): + return self.__class__(self) + + def __deepcopy__(self, memo={}): + from copy import deepcopy + result = self.__class__() + memo[id(self)] = result + result.__init__(deepcopy(tuple(self), memo)) + return result \ No newline at end of file