From 73af726c711e538e203831716a42d2d9709cbfc9 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 3 Mar 2009 17:18:16 -0800 Subject: [PATCH 01/19] Fix #1977 (Error on converting zip with html to ePUB u'invalid literal for float(): +2) --- src/calibre/ebooks/html.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/calibre/ebooks/html.py b/src/calibre/ebooks/html.py index f6f5f62720..40e882c2af 100644 --- a/src/calibre/ebooks/html.py +++ b/src/calibre/ebooks/html.py @@ -845,7 +845,12 @@ class Processor(Parser): except: size = '3' if size and size.strip() and size.strip()[0] in ('+', '-'): - size = 3 + float(size) # Hack assumes basefont=3 + size = re.search(r'[+-]{0,1}[\d\.]+', size) + try: + size = float(size.group()) + except: + size = 0 + size += 3 # Hack assumes basefont=3 try: setting = 'font-size: %d%%;'%int((float(size)/3) * 100) except ValueError: From 7e849659cd2e248e951afc4bcb8627e883a8716e Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 3 Mar 2009 19:18:30 -0800 Subject: [PATCH 02/19] MOBI Input:Fix extraction of Table of Contents for MOBI files that have their TOC at the start of the book instead of the end --- src/calibre/ebooks/html.py | 4 +++- src/calibre/ebooks/lrf/html/convert_from.py | 2 +- src/calibre/ebooks/mobi/reader.py | 8 +++++--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/calibre/ebooks/html.py b/src/calibre/ebooks/html.py index 40e882c2af..5329e8ed86 100644 --- a/src/calibre/ebooks/html.py +++ b/src/calibre/ebooks/html.py @@ -640,7 +640,7 @@ class Processor(Parser): name = self.htmlfile_map[self.htmlfile.path] href = 'content/'+name - # Add level 1 and level 2 TOC items + # Add level* TOC items counter = 0 def elem_to_link(elem, href, counter): @@ -711,6 +711,8 @@ class Processor(Parser): if len(toc) > 0: + # Detected TOC entries using --level* options + # so aborting all other toc processing return # Add chapters to TOC if not self.opts.no_chapters_in_toc: diff --git a/src/calibre/ebooks/lrf/html/convert_from.py b/src/calibre/ebooks/lrf/html/convert_from.py index 48c2ffe993..2bd63d1d8f 100644 --- a/src/calibre/ebooks/lrf/html/convert_from.py +++ b/src/calibre/ebooks/lrf/html/convert_from.py @@ -479,7 +479,7 @@ class HTMLConverter(object, LoggingInterface): pprop.update(self.pseudo_css[tagname]) if tag.has_key("class"): cls = tag["class"].lower() - for cls in cls.split(): + for cls in cls.split(): for classname in ["."+cls, tagname+"."+cls]: if self.css.has_key(classname): prop.update(self.css[classname]) diff --git a/src/calibre/ebooks/mobi/reader.py b/src/calibre/ebooks/mobi/reader.py index df728e400e..81bd510694 100644 --- a/src/calibre/ebooks/mobi/reader.py +++ b/src/calibre/ebooks/mobi/reader.py @@ -361,7 +361,7 @@ class MobiReader(object): continue if reached and x.tag == 'a': href = x.get('href', '') - if href: + if href and re.match('\w+://', href) is None: try: text = u' '.join([t.strip() for t in \ x.xpath('descendant::text()')]) @@ -370,6 +370,8 @@ class MobiReader(object): text = ent_pat.sub(entity_to_unicode, text) tocobj.add_item(toc.partition('#')[0], href[1:], text) + if reached and x.get('class', None) == 'mbp_pagebreak': + break if tocobj is not None: opf.set_toc(tocobj) @@ -435,7 +437,7 @@ class MobiReader(object): def replace_page_breaks(self): self.processed_html = self.PAGE_BREAK_PAT.sub( - '
', + '
', self.processed_html) def add_anchors(self): @@ -521,7 +523,7 @@ def option_parser(): parser = OptionParser(usage=_('%prog [options] myebook.mobi')) parser.add_option('-o', '--output-dir', default='.', help=_('Output directory. Defaults to current directory.')) - parser.add_option('--verbose', default=False, action='store_true', + parser.add_option('-v', '--verbose', default=False, action='store_true', help='Useful for debugging.') return parser From f967c00b9f2e65ff4317293aa34305166ecb1556 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 4 Mar 2009 09:46:47 -0800 Subject: [PATCH 03/19] Implement sub-sorting. So if you want to sort by author and then sub sort by series, you can now click first on series and then on author to acheive this. Implement #1810 (Advanced Sorting?) --- src/calibre/library/database2.py | 5 +++-- src/calibre/web/feeds/recipes/recipe_newsweek.py | 13 ++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/calibre/library/database2.py b/src/calibre/library/database2.py index 22266487e8..3d11020626 100644 --- a/src/calibre/library/database2.py +++ b/src/calibre/library/database2.py @@ -275,8 +275,9 @@ class ResultCache(SearchQueryParser): cmp(self._data[x][loc], self._data[y][loc]) except AttributeError: # Some entries may be None ans = cmp(self._data[x][loc], self._data[y][loc]) - if ans != 0: return ans - return cmp(self._data[x][11].lower(), self._data[y][11].lower()) + #if ans != 0: return ans + #return cmp(self._data[x][11].lower(), self._data[y][11].lower()) + return ans def sort(self, field, ascending): field = field.lower().strip() diff --git a/src/calibre/web/feeds/recipes/recipe_newsweek.py b/src/calibre/web/feeds/recipes/recipe_newsweek.py index 43b7065fa5..6f47019f46 100644 --- a/src/calibre/web/feeds/recipes/recipe_newsweek.py +++ b/src/calibre/web/feeds/recipes/recipe_newsweek.py @@ -68,10 +68,9 @@ class Newsweek(BasicNewsRecipe): def parse_index(self): - ci = self.get_current_issue() - if not ci: + soup = self.get_current_issue() + if not soup: raise RuntimeError('Unable to connect to newsweek.com. Try again later.') - soup = self.index_to_soup(ci) img = soup.find(alt='Cover') if img is not None and img.has_key('src'): small = img['src'] @@ -119,10 +118,10 @@ class Newsweek(BasicNewsRecipe): return soup def get_current_issue(self): - from urllib2 import urlopen # For some reason mechanize fails - home = urlopen('http://www.newsweek.com').read() - soup = BeautifulSoup(home) + #from urllib2 import urlopen # For some reason mechanize fails + #home = urlopen('http://www.newsweek.com').read() + soup = self.index_to_soup('http://www.newsweek.com')#BeautifulSoup(home) img = soup.find('img', alt='Current Magazine') if img and img.parent.has_key('href'): - return urlopen(img.parent['href']).read() + return self.index_to_soup(img.parent['href']) From 750461e3ba9e58b653ae7980296d6a0498865642 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 4 Mar 2009 12:20:49 -0800 Subject: [PATCH 04/19] Fix #1983 (Schedule news download - user and password fields) --- src/calibre/gui2/dialogs/scheduler.py | 11 +- src/calibre/gui2/dialogs/scheduler.ui | 459 ++++++++++++-------------- 2 files changed, 222 insertions(+), 248 deletions(-) diff --git a/src/calibre/gui2/dialogs/scheduler.py b/src/calibre/gui2/dialogs/scheduler.py index 58e5935b66..2e4a296407 100644 --- a/src/calibre/gui2/dialogs/scheduler.py +++ b/src/calibre/gui2/dialogs/scheduler.py @@ -366,9 +366,14 @@ class SchedulerDialog(QDialog, Ui_Dialog): def show_recipe(self, index): recipe = self._model.data(index, Qt.UserRole) self.current_recipe = recipe - self.title.setText(recipe.title) - self.author.setText(_('Created by: ') + recipe.author) - self.description.setText(recipe.description if recipe.description else '') + self.blurb.setText(''' +

+ %(title)s
+ %(cb)s %(author)s
+ %(description)s +

+ '''%dict(title=recipe.title, cb=_('Created by: '), author=recipe.author, + description=recipe.description if recipe.description else '')) self.allow_scheduling = False schedule = -1 if recipe.schedule is None else recipe.schedule if schedule < 1e5 and schedule >= 0: diff --git a/src/calibre/gui2/dialogs/scheduler.ui b/src/calibre/gui2/dialogs/scheduler.ui index 808fd0a0d2..c4e4487673 100644 --- a/src/calibre/gui2/dialogs/scheduler.ui +++ b/src/calibre/gui2/dialogs/scheduler.ui @@ -55,252 +55,221 @@ - - - Schedule for download + + + QFrame::NoFrame - - - - - - 75 - true - - - - title - - - Qt::PlainText - - - - - - - description - - - true - - - - - - - author - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - &Schedule for download: - - - - - - - false - - - - - - - - Every - - - - - - - - - - at - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - Every - - - - - - - - 0 - 0 - - - - Interval at which to download this recipe. A value of zero means that the recipe will be downloaded every hour. - - - days - - - 1 - - - 0.000000000000000 - - - 365.100000000000023 - - - 1.000000000000000 - - - 1.000000000000000 - - - - - - - - - - - - - - - true - - - - - - - &Account - - - - - - - - - &Username: - - - username - - - - - - - &Password: - - - password - - - - - - - QLineEdit::Password - - - - - - - &Show password - - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - For the scheduling to work, you must leave calibre running. - - - true - - - - - - - &Download now - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - + + true + + + + + 0 + 0 + 361 + 500 + + + + + 0 + + + + + Schedule for download + + + + + + blurb + + + Qt::RichText + + + true + + + true + + + + + + + &Schedule for download: + + + + + + + false + + + + + + + + Every + + + + + + + + + + at + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + Every + + + + + + + + 0 + 0 + + + + Interval at which to download this recipe. A value of zero means that the recipe will be downloaded every hour. + + + days + + + 1 + + + 0.000000000000000 + + + 365.100000000000023 + + + 1.000000000000000 + + + 1.000000000000000 + + + + + + + + + + + + + + + true + + + + + + + &Account + + + + + + + + + &Username: + + + username + + + + + + + &Password: + + + password + + + + + + + QLineEdit::Password + + + + + + + &Show password + + + + + + + + + + For the scheduling to work, you must leave calibre running. + + + true + + + + + + + &Download now + + + + + + + + From d7c1af9b991c6e95ef049c715b1666564dada13c Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 4 Mar 2009 12:33:23 -0800 Subject: [PATCH 05/19] Fix #1981 (Problems whit unicone titles) --- src/calibre/ebooks/mobi/reader.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/calibre/ebooks/mobi/reader.py b/src/calibre/ebooks/mobi/reader.py index 81bd510694..7d1aaba7b5 100644 --- a/src/calibre/ebooks/mobi/reader.py +++ b/src/calibre/ebooks/mobi/reader.py @@ -126,6 +126,8 @@ class BookHeader(object): self.exth_flag, = struct.unpack('>L', raw[0x80:0x84]) self.exth = None + if not isinstance(self.title, unicode): + self.title = self.title.decode(self.codec, 'replace') if self.exth_flag & 0x40: self.exth = EXTHHeader(raw[16+self.length:], self.codec, self.title) self.exth.mi.uid = self.unique_id From 3e992f4e78a0c20ba64ae97a69f69e816f50f70a Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 5 Mar 2009 09:05:21 -0800 Subject: [PATCH 06/19] IGN:Subsort on first sort and fix calibre filename invocation when working directory is different --- src/calibre/gui2/main.py | 2 ++ src/calibre/library/database2.py | 14 +++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/calibre/gui2/main.py b/src/calibre/gui2/main.py index 264b5149fb..163a9d8bd0 100644 --- a/src/calibre/gui2/main.py +++ b/src/calibre/gui2/main.py @@ -1568,6 +1568,8 @@ def main(args=sys.argv): QCoreApplication.setApplicationName(APP_UID) single_instance = None if SingleApplication is None else SingleApplication('calibre GUI') if not singleinstance('calibre GUI'): + if len(args) > 1: + args[1] = os.path.abspath(args[1]) if single_instance is not None and single_instance.is_running() and \ single_instance.send_message('launched:'+repr(args)): return 0 diff --git a/src/calibre/library/database2.py b/src/calibre/library/database2.py index 3d11020626..da5790a621 100644 --- a/src/calibre/library/database2.py +++ b/src/calibre/library/database2.py @@ -157,6 +157,7 @@ class ResultCache(SearchQueryParser): def __init__(self): self._map = self._map_filtered = self._data = [] + self.first_sort = True SearchQueryParser.__init__(self) def __getitem__(self, row): @@ -269,25 +270,28 @@ class ResultCache(SearchQueryParser): if ans != 0: return ans return cmp(self._data[x][10], self._data[y][10]) - def cmp(self, loc, x, y, str=True): + def cmp(self, loc, x, y, str=True, subsort=False): try: ans = cmp(self._data[x][loc].lower(), self._data[y][loc].lower()) if str else\ cmp(self._data[x][loc], self._data[y][loc]) except AttributeError: # Some entries may be None ans = cmp(self._data[x][loc], self._data[y][loc]) - #if ans != 0: return ans - #return cmp(self._data[x][11].lower(), self._data[y][11].lower()) + if subsort and ans == 0: + return cmp(self._data[x][11].lower(), self._data[y][11].lower()) return ans - def sort(self, field, ascending): + def sort(self, field, ascending, subsort=False): field = field.lower().strip() if field in ('author', 'tag', 'comment'): field += 's' if field == 'date': field = 'timestamp' elif field == 'title': field = 'sort' elif field == 'authors': field = 'author_sort' + if self.first_sort: + subsort = True + self.first_sort = False fcmp = self.seriescmp if field == 'series' else \ - functools.partial(self.cmp, FIELD_MAP[field], + functools.partial(self.cmp, FIELD_MAP[field], subsort=subsort, str=field not in ('size', 'rating', 'timestamp')) self._map.sort(cmp=fcmp, reverse=not ascending) From 02859204e6bec79f8e3548fbb811f98c153488f5 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 5 Mar 2009 12:36:24 -0800 Subject: [PATCH 07/19] RTF Input:Fix conversion of Euro symbol in CP-1252 encoded RTF files --- src/calibre/ebooks/rtf2xml/char_set.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/calibre/ebooks/rtf2xml/char_set.py b/src/calibre/ebooks/rtf2xml/char_set.py index f524157f3d..290d5ce6e8 100755 --- a/src/calibre/ebooks/rtf2xml/char_set.py +++ b/src/calibre/ebooks/rtf2xml/char_set.py @@ -561,6 +561,7 @@ CYRILLIC SMALL LETTER YA:'FF:1103:я LATIN SMALL LETTER Y WITH DIAERESIS:'00:00:ÿ +EURO SIGN:'80:8364:€ SINGLE LOW-9 QUOTATION MARK:'82:8218:‚ LATIN SMALL LETTER F WITH HOOK:'83:402:ƒ DOUBLE LOW-9 QUOTATION MARK:'84:8222:„ From 9671f1ff5445de0a394d485639fd92556634df27 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 6 Mar 2009 08:24:33 -0800 Subject: [PATCH 08/19] Fix #1995 (TypeError: Argument must be string or unicode.) --- src/calibre/ebooks/mobi/mobiml.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/calibre/ebooks/mobi/mobiml.py b/src/calibre/ebooks/mobi/mobiml.py index 7ecd127452..8dca993a64 100644 --- a/src/calibre/ebooks/mobi/mobiml.py +++ b/src/calibre/ebooks/mobi/mobiml.py @@ -6,8 +6,6 @@ from __future__ import with_statement __license__ = 'GPL v3' __copyright__ = '2008, Marshall T. Vandegrift ' -import sys -import os import copy import re from lxml import etree @@ -187,7 +185,7 @@ class MobiMLizer(object): while vspace > 0: wrapper.addprevious(etree.Element(XHTML('br'))) vspace -= 1 - if istate.halign != 'auto': + if istate.halign != 'auto' and isinstance(istate.halign, (str, unicode)): para.attrib['align'] = istate.halign pstate = bstate.istate if tag in CONTENT_TAGS: From 3c23b14db0310cdcef6015949fd8ef726c2950d8 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 6 Mar 2009 10:48:53 -0800 Subject: [PATCH 09/19] IGN:Updated translations --- src/calibre/translations/ar.po | 2 +- src/calibre/translations/bg.po | 2 +- src/calibre/translations/ca.po | 2 +- src/calibre/translations/cs.po | 50 ++--- src/calibre/translations/de.po | 2 +- src/calibre/translations/el.po | 2 +- src/calibre/translations/es.po | 2 +- src/calibre/translations/fr.po | 353 +++++++++++++++++++++----------- src/calibre/translations/gl.po | 2 +- src/calibre/translations/he.po | 2 +- src/calibre/translations/hu.po | 2 +- src/calibre/translations/it.po | 2 +- src/calibre/translations/nb.po | 2 +- src/calibre/translations/nds.po | 16 +- src/calibre/translations/nl.po | 2 +- src/calibre/translations/pl.po | 2 +- src/calibre/translations/pt.po | 2 +- src/calibre/translations/ro.po | 2 +- src/calibre/translations/ru.po | 2 +- src/calibre/translations/sk.po | 107 ++++++++-- src/calibre/translations/sl.po | 2 +- src/calibre/translations/sv.po | 2 +- src/calibre/translations/te.po | 2 +- 23 files changed, 373 insertions(+), 191 deletions(-) diff --git a/src/calibre/translations/ar.po b/src/calibre/translations/ar.po index 7f3fa58245..5838f96530 100644 --- a/src/calibre/translations/ar.po +++ b/src/calibre/translations/ar.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/bg.po b/src/calibre/translations/bg.po index 311fe481c2..40f187241f 100644 --- a/src/calibre/translations/bg.po +++ b/src/calibre/translations/bg.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/ca.po b/src/calibre/translations/ca.po index 564ffbf97a..83d0918edd 100644 --- a/src/calibre/translations/ca.po +++ b/src/calibre/translations/ca.po @@ -17,7 +17,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/cs.po b/src/calibre/translations/cs.po index 8063857844..68a8936f5a 100644 --- a/src/calibre/translations/cs.po +++ b/src/calibre/translations/cs.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2009-02-26 19:09+0000\n" -"PO-Revision-Date: 2009-03-03 16:00+0000\n" +"PO-Revision-Date: 2009-03-04 20:00+0000\n" "Last-Translator: Plazec \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -2810,6 +2810,8 @@ msgstr "" msgid "" "Adjust the look of the generated ebook by specifying things like font sizes." msgstr "" +"Upraví vzhled vytvořené elektronické knihy, například určením velikosti " +"písma." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:99 msgid "Specify the page layout settings like margins." @@ -2847,7 +2849,7 @@ msgstr "Chyba při čtení souboru" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:69 msgid "

There was an error reading from file:
" -msgstr "

Chyba při čtení souboru:
" +msgstr "

Chyba při čtení souboru:
" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 @@ -2905,7 +2907,7 @@ msgstr "Změnit &obálku:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:498 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:368 msgid "Browse for an image to use as the cover of this book." -msgstr "" +msgstr "Vybete obrázkový soubor . který se použije jako obálka této knihy." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:472 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:500 @@ -2938,11 +2940,13 @@ msgid "" "Change the author(s) of this book. Multiple authors should be separated by " "an &. If the author name contains an &, use && to represent it." msgstr "" +"Autor(ři) této knihy. Více autorů by mělo být odďeleno znakem & (ampersand). " +"Pokud jméno autora obsahuje znak &, zadejte ho jako &&." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:477 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:505 msgid "Author So&rt:" -msgstr "" +msgstr "Autor ve tvaru \"&příjmení, jméno\"." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:478 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:506 @@ -3124,7 +3128,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:518 msgid "Automatic &chapter detection" -msgstr "" +msgstr "Automatické rozpoznávání &kapitol" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:519 msgid "" @@ -3136,71 +3140,71 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:520 msgid "&XPath:" -msgstr "" +msgstr "Výraz &XPath:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:521 msgid "Chapter &mark:" -msgstr "" +msgstr "&Značka kapitol:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:522 msgid "Automatic &Table of Contents" -msgstr "" +msgstr "Automatický &Obsah" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:523 msgid "Number of &links to add to Table of Contents" -msgstr "" +msgstr "&Počet odkazů, které budou přidány do Obsahu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:524 msgid "Do not add &detected chapters to the Table of Contents" -msgstr "" +msgstr "&Nepřidávat automaticky rozpoznané kapitoly do Obsahu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:525 msgid "Chapter &threshold" -msgstr "" +msgstr "Prahová úroveň &kapitol" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:526 msgid "&Force use of auto-generated Table of Contents" -msgstr "" +msgstr "&Vždy použít automaticky generovaný obsah" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:527 msgid "Level &1 TOC" -msgstr "" +msgstr "Obsah úrovně &1" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:528 msgid "Level &2 TOC" -msgstr "" +msgstr "Obsah úrovně &2" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:529 msgid "&Title for generated TOC" -msgstr "" +msgstr "Název vygenerovaného &Obsahu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:530 msgid "Level &3 TOC" -msgstr "" +msgstr "Obsah úrovně &3" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:38 msgid "Author Sort" -msgstr "" +msgstr "Autor (seřadit jako)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:40 msgid "ISBN" -msgstr "" +msgstr "ISBN" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:104 msgid "Cannot connect" -msgstr "" +msgstr "Spojení selhalo" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:105 msgid "You must specify a valid access key for isbndb.com" -msgstr "" +msgstr "Musíte zadat platný přístupový kód pro isbndb.com" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:139 msgid "Error fetching metadata" -msgstr "" +msgstr "Chyba přebírání metadat" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:144 msgid "No metadata found" -msgstr "" +msgstr "Nenalezeny žádné metadata" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:144 msgid "" diff --git a/src/calibre/translations/de.po b/src/calibre/translations/de.po index 0b1a530a01..26c9c7dac5 100644 --- a/src/calibre/translations/de.po +++ b/src/calibre/translations/de.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/el.po b/src/calibre/translations/el.po index c49747b34c..af88ef912a 100644 --- a/src/calibre/translations/el.po +++ b/src/calibre/translations/el.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/es.po b/src/calibre/translations/es.po index 8624f00f40..c274fcf171 100644 --- a/src/calibre/translations/es.po +++ b/src/calibre/translations/es.po @@ -17,7 +17,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/fr.po b/src/calibre/translations/fr.po index f2f47e3f41..0ceabc22d7 100644 --- a/src/calibre/translations/fr.po +++ b/src/calibre/translations/fr.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: calibre 0.4.22\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-02-26 19:09+0000\n" -"PO-Revision-Date: 2009-03-03 12:48+0000\n" +"PO-Revision-Date: 2009-03-05 20:05+0000\n" "Last-Translator: Vincent C. \n" "Language-Team: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" @@ -249,7 +249,7 @@ msgstr "Espace insuffisant dans la mémoire principale" #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:231 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:258 msgid "Unable to detect the %s disk drive. Try rebooting." -msgstr "" +msgstr "Impossible de détecter le disque %s. Essayer de redémarrer" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:94 msgid "Options to control the conversion to EPUB" @@ -317,6 +317,11 @@ msgid "" "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 "" +"Précise comment indiquer les chapitres détectés. Une valeur de \"pagebreak\" " +"insérera un saut de page avant chaque chapitre. Une valeur de \"rule\" " +"insérera un filet avant chaque chapitre. Une valeur de \"none\" désactivera " +"le marquage des chapitres et une valeur de \"both\" utilisera à la fois un " +"saut de page et un filet." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:139 msgid "Path to the cover to be used for this book" @@ -428,6 +433,9 @@ msgid "" "of Contents at level two. Each entry is added under the previous level one " "entry." msgstr "" +"Expression XPath spécifiant que toutes les étiquettes doivent être ajoutées " +"au deuxième niveau de la table des matières. Chaque entrée est ajoutée en " +"dessous de la précédente entrée de premier niveau." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:188 msgid "" @@ -435,6 +443,9 @@ msgid "" "of Contents at level three. Each entry is added under the previous level two " "entry." msgstr "" +"Expression XPath spécifiant que tous les étiquettes doivent être ajoutées au " +"troisième niveau de la table des matières. Chaque entrée est ajoutée en " +"dessous de la précédente entrée de deuxième niveau." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:192 msgid "" @@ -491,16 +502,23 @@ msgid "" "css. Spacing removal will not work if the source file forces inter-paragraph " "spacing." msgstr "" +"Supprimer l'espacement entre les paragraphes. Spécifie aussi l'indentation " +"des paragraphes à 1.5em. Vous pouvez surpasser ce réglage en ajoutant p " +"{text-indent: 0cm} à --override-css. Supprimer l'espacement ne fonctionnera " +"pas si le fichier source spécifie l'espacement inter-paragraphe." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:221 msgid "Do not force text to be justified in output." -msgstr "" +msgstr "Ne pas forcer la justification du texte en sortie." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:223 msgid "" "Remove table markup, converting it into paragraphs. This is useful if your " "source file uses a table to manage layout." msgstr "" +"Supprimer les balises de type tableau en les convertissant en paragraphe. " +"Ceci est utile si votre fichier source utilise un tableau pour gérer la mise " +"en page." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:226 msgid "" @@ -508,6 +526,10 @@ msgid "" "only neccessary if the HTML files contain CSS that uses sibling selectors. " "Enabling this greatly slows down processing of large HTML files." msgstr "" +"Préserve la structure des balises HTML lors du découpage de gros fichiers " +"HTML. Ceci n'est nécessaire que si les fichiers HTML contiennent du code CSS " +"qui utilise des sélecteurs \"sibling\". L'activation de cette option " +"ralentira le traitement de gros fichiers HTML." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:232 msgid "Print generated OPF file to stdout" @@ -538,7 +560,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:105 msgid "Could not find an ebook inside the archive" -msgstr "" +msgstr "Ne trouve pas d'ebook dans l'archive" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:226 msgid "" @@ -587,22 +609,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/html.py:927 msgid "The output directory. Default is the current directory." -msgstr "" +msgstr "Répertoire de sortie. Par défaut, le répertoire courant." #: /home/kovid/work/calibre/src/calibre/ebooks/html.py:929 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" +"Encodage de caractères pour des fichiers HTML. Par défaut, détection " +"automatique." #: /home/kovid/work/calibre/src/calibre/ebooks/html.py:931 msgid "" "Create the output in a zip file. If this option is specified, the --output " "should be the name of a file not a directory." msgstr "" +"Envoyer le flux de sortie vers un fichier zip. Si cette option est " +"spécifiée, la sortie doit être un nom de fichier et non un répertoire." #: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 msgid "Control the following of links in HTML files." -msgstr "" +msgstr "Gère le suivi les liens dans les fichiers HTML." #: /home/kovid/work/calibre/src/calibre/ebooks/html.py:935 msgid "" @@ -653,10 +679,14 @@ msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" +"Plus verbeux lors du traitement. Peux être spécifié plusieurs fois afin " +"d'augmenter le niveau de verbosité." #: /home/kovid/work/calibre/src/calibre/ebooks/html.py:957 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" +"La sortie HTML est \"imprimée plus joliment\" afin de faciliter l'analyse " +"par les humains" #: /home/kovid/work/calibre/src/calibre/ebooks/html.py:963 msgid "" @@ -669,6 +699,14 @@ msgid "" "element\n" "is used.\n" msgstr "" +"%prog [options] file.html|opf\n" +"Suivre tous les liens d'un fichier HTML et les rassembler dans le répertoire " +"précisé.\n" +"Rassembler aussi toutes ressources telles qu'images, feuilles de style, " +"scripts, etc. \n" +"Si un fichier OPF est précisé à la place, la liste de fichiers dans son " +"élément \n" +"est utilisé.\n" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/from_any.py:47 msgid "Creating LIT file from EPUB..." @@ -707,6 +745,8 @@ msgstr "%prog [options] FichierOP" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:579 msgid "Output file. Default is derived from input filename." msgstr "" +"Fichier de sortie. Par défaut, il est créé à partir du nom du fichier " +"d'entrée." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:76 msgid "Set the title. Default: filename." @@ -792,7 +832,7 @@ msgstr "Séparer les paragraphes par des lignes vides." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:110 msgid "Add a header to all the pages with title and author." -msgstr "Rajoute une en-tête à toutes les pages, avec le titre et l'auteur." +msgstr "Ajouter une en-tête à toutes les pages avec le titre et l'auteur." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:112 msgid "" @@ -963,6 +1003,8 @@ msgstr "" msgid "" "Force a page break before tags whose names match this regular expression." msgstr "" +"Forcer un saut de page avant les balises dont les noms correspondent à cette " +"expression régulière." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:186 msgid "" @@ -1006,6 +1048,11 @@ msgid "" "slower page turns. For example: --serif-family \"Times New Roman\"\n" " " msgstr "" +"Spécifier les familles de fontes truetype pour les fontes serif, sans-serif " +"et monospace. Ces fontes sont embarquées dans le fichier LRF. Noter, que ces " +"fontes spéciales peuvent ralentir le changement de page. Par exemple: --" +"serif-famiy \"Times New Roman\"\n" +" " #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:207 msgid "The serif family of fonts to embed" @@ -1080,7 +1127,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 msgid "Failed %s" -msgstr "" +msgstr "Échec %s" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 msgid "" @@ -1088,6 +1135,9 @@ msgid "" "\n" "%s" msgstr "" +"Echec du traitement de la bd : %s\n" +"\n" +"%s" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 msgid "" @@ -1114,6 +1164,8 @@ msgstr "" msgid "" "Path to output file. By default a file is created in the current directory." msgstr "" +"Chemin du fichier de sortie. Par défaut, un fichier est créé dans le " +"répertoire courant." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:299 msgid "Number of colors for grayscale image conversion. Default: %default" @@ -1178,6 +1230,8 @@ msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " "greater verbosity." msgstr "" +"Plus verbeux, utile pour le débogage. Peut être spécifié plusieurs fois afin " +"d'augmenter la verbosité." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 msgid "Don't show progress bar." @@ -1265,7 +1319,7 @@ msgstr "\tFichier Baen détecté, redémarrage de l'analyse..." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:358 msgid "Written preprocessed HTML to " -msgstr "" +msgstr "Ecrit le HTM prétraité vers " #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 msgid "Processing %s" @@ -1290,7 +1344,7 @@ msgstr "Érreur d'analyse du lien %s %s" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:605 msgid "Cannot add link %s to TOC" -msgstr "Ne peut ajouter le lien %s au TOC" +msgstr "Impossible d'ajouter le lien %s à la TDM" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:954 msgid "Unable to process image %s. Error: %s" @@ -1392,6 +1446,7 @@ msgstr "Fichier sortie LRS" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:139 msgid "Do not save embedded image and font files to disk" msgstr "" +"Ne pas sauvegarder les images embarquées et les fichiers fontes sur le disque" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:158 msgid "Parsing LRF..." @@ -1407,7 +1462,7 @@ msgstr "LRS écrit à " #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 msgid "Could not read from thumbnail file:" -msgstr "" +msgstr "Impossible de lire le fichier de vignettes:" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 msgid "" @@ -1432,7 +1487,7 @@ msgstr "Convertir LRS en LRS, utile pour déboguer." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:455 msgid "Invalid LRF file. Could not set metadata." -msgstr "" +msgstr "Fichier LRF invalide. Impossible d'indiquer les meta-données." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:580 msgid "" @@ -1556,6 +1611,8 @@ msgid "" "Path to output directory in which to create the HTML file. Defaults to " "current directory." msgstr "" +"Chemin pour le répertoire de sortie où sera créé le fichier HTML. Par défaut " +": répertoire courant" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/pdf/reflow.py:405 msgid "Be more verbose." @@ -1582,6 +1639,8 @@ msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML and " "then convert it." msgstr "" +"Ce fichier RTF a une fonctionnalité que calibre ne supporte pas. Le " +"convertir d'abord en HTML puis essayer à nouveau" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/txt/convert_from.py:19 msgid "" @@ -1644,7 +1703,7 @@ msgstr "Commentaires" #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Tags" -msgstr "Tags" +msgstr "Etiquettes" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:113 @@ -1689,7 +1748,7 @@ msgstr "Usage:" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/imp.py:53 msgid "Usage: imp-meta file.imp" -msgstr "" +msgstr "Utilisation: imp-meta fichier.imp" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/imp.py:54 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:59 @@ -1783,7 +1842,7 @@ msgstr "Couverture sauvée sur" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:187 msgid "Set the subject tags" -msgstr "" +msgstr "Indiquer les étiquettes pour le sujet" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:189 msgid "Set the language" @@ -1803,7 +1862,7 @@ msgstr "Usage: pdf-meta file.pdf" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rb.py:59 msgid "Usage: rb-meta file.rb" -msgstr "" +msgstr "Utilisation: rb-meta fichier.rb" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_any.py:55 msgid "Creating Mobipocket file from EPUB..." @@ -1865,7 +1924,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:576 msgid "[options]" -msgstr "" +msgstr "[options]" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:594 msgid "Unknown source profile %r" @@ -1877,7 +1936,7 @@ msgstr "Profil de destination inconnu %r" #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:57 msgid "The output directory. Defaults to the current directory." -msgstr "" +msgstr "Répertoire de sorite. Par défaut : le répertoire courant." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:822 msgid "Cover" @@ -1885,7 +1944,7 @@ msgstr "Couverture" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:823 msgid "Title Page" -msgstr "" +msgstr "Page de titre" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:824 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:18 @@ -1896,7 +1955,7 @@ msgstr "Tables des matières" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:825 msgid "Index" -msgstr "" +msgstr "Index" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:826 msgid "Glossary" @@ -1916,7 +1975,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:830 msgid "Copyright" -msgstr "" +msgstr "Copyright" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:831 msgid "Dedication" @@ -1940,7 +1999,7 @@ msgstr "Liste de Tables" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:836 msgid "Notes" -msgstr "" +msgstr "Notes" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:837 msgid "Preface" @@ -2026,7 +2085,7 @@ msgstr "Utilise les nombres romains pour les séries de nombres" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 msgid "Sort tags list by popularity" -msgstr "" +msgstr "Trier la liste des étiquettes par popularité" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 msgid "Number of covers to show in the cover browsing mode" @@ -2051,6 +2110,7 @@ msgstr "Colonnes affichées dans la liste de livres" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 msgid "Automatically launch content server on application startup" msgstr "" +"Démarrer automatiquement le serveur de contenu au démarrage de l'application" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Oldest news kept in database" @@ -2058,7 +2118,7 @@ msgstr "Anciennes informations conservées dans la base" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 msgid "Show system tray icon" -msgstr "" +msgstr "Afficher l'icône dans la zone de notification" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:61 msgid "Upload downloaded news to device" @@ -2136,7 +2196,7 @@ msgstr "Lit les informations de l'appareil" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:128 msgid "Get list of books on device" -msgstr "" +msgstr "Lire la liste de livres à partir de l'appareil" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:137 msgid "Send metadata to device" @@ -2268,7 +2328,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" -msgstr "" +msgstr " plugins" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:106 msgid "by" @@ -2485,7 +2545,7 @@ msgstr "Basse" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 msgid "Job &priority:" -msgstr "" +msgstr "&Priorité du travail:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 msgid "Add a directory to the frequently used directories list" @@ -2636,7 +2696,7 @@ msgstr "&Tester le serveur" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:469 msgid "Run server &automatically on startup" -msgstr "" +msgstr "Lancer &automatiquement le serveur au démarrage" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:470 msgid "View &server logs" @@ -2702,11 +2762,11 @@ msgstr "ERREUR" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:52 msgid "Bulk convert to " -msgstr "" +msgstr "Convertir par lot vers " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:54 msgid "Convert %s to " -msgstr "" +msgstr "Convertir %s vers " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:97 @@ -2816,7 +2876,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 msgid "Choose the format to convert to " -msgstr "" +msgstr "Choisir le format à convertir vers " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 msgid "Invalid XPath expression" @@ -2973,7 +3033,7 @@ msgstr "Taille de &police par défaut :" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:510 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:512 msgid " pt" -msgstr "" +msgstr " pt" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:493 msgid "Remove &spacing between paragraphs" @@ -2981,7 +3041,7 @@ msgstr "&Supprime l'espacement entre les paragraphes" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:494 msgid "Preserve &tag structure when splitting" -msgstr "" +msgstr "Préserver la structure de l'étique&te lors des divisions" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:495 msgid "&Rescale images" @@ -2994,6 +3054,7 @@ msgstr "&Ignore les tableaux" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:497 msgid "&Use author sort to set author field in output" msgstr "" +"&Utiliser le tri par auteur pour positionner le champ auteur en sortie" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:498 msgid "No text &justification" @@ -3041,7 +3102,7 @@ msgstr "Marge &Basse :" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:513 msgid "Do not &split on page breaks" -msgstr "" +msgstr "Ne pas diviser sur les pages de &séparations" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:514 msgid "&Page map" @@ -3076,18 +3137,23 @@ msgid "" "href=\"http://calibre.kovidgoyal.net/user_manual/xpath.html\">XPath " "tutorial

" msgstr "" +"

Vous pouvez contrôler comment calibre détecte les chapitres à l'aide " +"d'une expression XPath. Pour apprendre comment utiliser les expressions " +"XPath consulter le tutorial " +"XPath

" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:520 msgid "&XPath:" -msgstr "" +msgstr "&XPath:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:521 msgid "Chapter &mark:" -msgstr "" +msgstr "&Marque de chapitre" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:522 msgid "Automatic &Table of Contents" -msgstr "" +msgstr "&Table des matières générée automatiquement" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:523 msgid "Number of &links to add to Table of Contents" @@ -3095,7 +3161,7 @@ msgstr "Nombre de &liens ajoutés à la table des matières" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:524 msgid "Do not add &detected chapters to the Table of Contents" -msgstr "" +msgstr "Ne pas ajouter les chapitres &détectés à la Table des Matières" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:525 msgid "Chapter &threshold" @@ -3103,7 +3169,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:526 msgid "&Force use of auto-generated Table of Contents" -msgstr "" +msgstr "&Forcer l'utilisation d'une Table des matières auto-générée" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:527 msgid "Level &1 TOC" @@ -3115,7 +3181,7 @@ msgstr "Niveau &2 TM" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:529 msgid "&Title for generated TOC" -msgstr "" +msgstr "&Titre pour la TDM générée" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:530 msgid "Level &3 TOC" @@ -3476,7 +3542,7 @@ msgstr " étoiles" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:138 msgid "Add Ta&gs: " -msgstr "Ajout de Ta&gs : " +msgstr "Ajouter des étiquettes: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:140 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:141 @@ -3495,7 +3561,7 @@ msgstr "Liste de mots-clefs séparés par des virgules à retirer des livres. " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:147 msgid "Remove &format:" -msgstr "" +msgstr "Supprimer le &format:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:148 msgid "A&utomatically set author sort" @@ -3504,7 +3570,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:117 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:118 msgid "No format selected" -msgstr "" +msgstr "Aucun format sélectionné" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:128 msgid "Could not read metadata" @@ -3512,7 +3578,7 @@ msgstr "Impossible de lire les méta-données" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:129 msgid "Could not read metadata from %s format" -msgstr "" +msgstr "Impossible de lire les méta-données à partir du format %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:143 @@ -3521,11 +3587,11 @@ msgstr "Impossible de lire la couverture" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:138 msgid "Could not read cover from %s format" -msgstr "" +msgstr "Impossible de lire la couverture à partir du format %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:144 msgid "The cover in the %s format is invalid" -msgstr "" +msgstr "La couverture du format %s est invalide" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:325 msgid "" @@ -3555,7 +3621,7 @@ msgstr "Vous devez fournir l'identifiant ISBN de ce livre." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:328 msgid "Edit Meta Information" -msgstr "Edition des metadata" +msgstr "Editer les méta-données" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:332 msgid "Swap the author and title" @@ -3585,7 +3651,7 @@ msgstr "Formats disponibles" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:360 msgid "Add a new format for this book to the database" -msgstr "Ajout d'un nouveau format dans la base de données pour ce livre" +msgstr "Ajouter un nouveau format dans la base de données pour ce livre" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:362 msgid "Remove the selected formats for this book from the database." @@ -3634,7 +3700,7 @@ msgstr "Client" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:136 msgid "Scheduled" -msgstr "" +msgstr "Planifié" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 @@ -3842,6 +3908,8 @@ msgid "" "See the User Manual for more help" msgstr "" +"Voir le Manuel Utilisateur pour une aide complémentaire" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:123 msgid "Tag Editor" @@ -3880,6 +3948,9 @@ 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 "" +"Si l'étiquette que vous désirez n'est pas disponible dans la liste, vous " +"pouvez l'ajouter ici. Accepte une liste d'étiquettes séparées par des " +"virgules." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:134 msgid "Add tag to available tags and apply it to current book" @@ -3911,19 +3982,19 @@ msgstr "Basculer vers le mode Basique" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:109 msgid "Feed must have a title" -msgstr "" +msgstr "Le flux doit avoir un titre" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:110 msgid "The feed must have a title" -msgstr "" +msgstr "Le flux doit avoir un titre" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:114 msgid "Feed must have a URL" -msgstr "" +msgstr "Le flux doit avoir une URL" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:115 msgid "The feed %s must have a URL" -msgstr "" +msgstr "Le flux %s doit avoir une URL" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:120 msgid "Already exists" @@ -4017,19 +4088,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:261 msgid "&Oldest article:" -msgstr "" +msgstr "Article le plus ancien:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:262 msgid "The oldest article to download" -msgstr "" +msgstr "L'article le plus ancien à télécharger" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:264 msgid "&Max. number of articles per feed:" -msgstr "" +msgstr "&Max. Nombre d'articles par flux:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:265 msgid "Maximum number of articles to download per feed." -msgstr "" +msgstr "Nombre maximum d'articles à télécharger par flux." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:266 msgid "Feeds in recipe" @@ -4046,15 +4117,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:272 msgid "&Feed title:" -msgstr "" +msgstr "Titre du flux:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:273 msgid "Feed &URL:" -msgstr "" +msgstr "URL du flux:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:275 msgid "&Add feed" -msgstr "" +msgstr "&Ajouter un flux" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:276 msgid "" @@ -4173,7 +4244,7 @@ msgstr "Progression" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:49 msgid "Running time" -msgstr "" +msgstr "Temps d'exécution" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:65 msgid "Unknown job" @@ -4203,6 +4274,7 @@ msgstr "Impossible d'arrêter le travail" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 msgid "Cannot kill jobs that communicate with the device" msgstr "" +"Impossible de tuer les travaux lorsqu'ils communiquent avec l'appareil" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:177 msgid "Job has already run" @@ -4329,7 +4401,7 @@ msgstr "Erreur pendant la communication avec le lecteur électronique" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Restore" -msgstr "" +msgstr "&Montrer" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Donate to support calibre" @@ -4337,7 +4409,7 @@ msgstr "&Donner pour supporter calibre" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:105 msgid "&Restart" -msgstr "" +msgstr "&Redémarrer" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:136 msgid "" @@ -4364,7 +4436,7 @@ msgstr "Envoi vers la carte mémoire" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:157 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:158 msgid "and delete from library" -msgstr "" +msgstr "et supprimer de la librairie" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:163 msgid "Send to storage card by default" @@ -4372,11 +4444,11 @@ msgstr "Envoyer vers la carte de stockage par défaut" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 msgid "Edit metadata individually" -msgstr "Edition des metadata individuellement" +msgstr "Editer les méta-données individuellement" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:174 msgid "Edit metadata in bulk" -msgstr "Edition des metadata par lot" +msgstr "Editer les méta-données par lot" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:177 msgid "Add books from a single directory" @@ -4401,7 +4473,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:358 msgid "Save to disk" -msgstr "Enregistrer sur le disque" +msgstr "Sauvegarder sur le disque" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:195 msgid "Save to disk in a single directory" @@ -4423,11 +4495,11 @@ msgstr "Afficher le format spécifique" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:217 msgid "Convert individually" -msgstr "Convertion individuelle" +msgstr "Conversion individuelle" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:218 msgid "Bulk convert" -msgstr "Convertion par lot" +msgstr "Conversion par lot" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:220 msgid "Set defaults for conversion" @@ -4534,7 +4606,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:702 msgid "Adding books..." -msgstr "" +msgstr "Ajoute les livres..." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:745 msgid "No space on device" @@ -4552,6 +4624,8 @@ msgid "" "The selected books will be permanently deleted and the files removed " "from your computer. Are you sure?" msgstr "" +"Les livres sélectionnés vont être supprimés définitivement et les " +"fichiers seront supprimés de votre ordinateur. Etes-vous sûr ?" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:790 msgid "Deleting books from device." @@ -4575,15 +4649,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 msgid "Choose format to send to device" -msgstr "" +msgstr "Choisir le format à envoyer à l'appareil" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:954 msgid "Sending books to device." -msgstr "" +msgstr "Envoie les livres dans l'appareil." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:957 msgid "No suitable formats" -msgstr "" +msgstr "Pas de format convenable" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:958 msgid "" @@ -4593,7 +4667,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:975 msgid "Cannot save to disk" -msgstr "Ne peut pas enregistrer sur le disque" +msgstr "Impossible de sauvegarder sur le disque" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 msgid "Saving to disk..." @@ -4605,13 +4679,15 @@ msgstr "Sauvegardé" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:990 msgid "Choose destination directory" -msgstr "" +msgstr "Choisir le répertoire de destination" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1004 msgid "" "

Could not save the following books to disk, because the %s format is not " "available for them:

    " msgstr "" +"

    Impossible de sauvegarder les fichiers suivants sur le disque, car le " +"format %s n'est pas disponible pour eux:

      " #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1008 msgid "Could not save some ebooks" @@ -4840,7 +4916,7 @@ msgstr "Trier par &popularité" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:350 msgid "Add books" -msgstr "Ajout d'un livre" +msgstr "Ajouter des livres" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:351 msgid "A" @@ -4857,7 +4933,7 @@ msgstr "Suppression" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:355 msgid "Edit meta information" -msgstr "Edition des metadata" +msgstr "Editer les méta-données" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:356 msgid "E" @@ -4905,7 +4981,7 @@ msgstr "Livres - même auteur" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:369 msgid "Books in this series" -msgstr "" +msgstr "Livres dans cette série" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:370 msgid "Books by this publisher" @@ -4913,7 +4989,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:371 msgid "Books with the same tags" -msgstr "" +msgstr "Livres avec les mêmes étiquettes" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:372 msgid "Send specific format to device" @@ -4924,6 +5000,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 "" +"Redirige la sortie console vers une boîte de dialogue (flux de sortie et " +"d'erreur). Utile avec windows où l'interface n'affiche pas les flux de " +"sorties." #: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:57 msgid "&Preferences" @@ -4965,33 +5044,33 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Authors" -msgstr "" +msgstr "Auteurs" #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Publishers" -msgstr "" +msgstr "Editeurs" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:117 msgid "Convert book: " -msgstr "" +msgstr "Convertir le livre: " #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:151 msgid "Convert comic: " -msgstr "" +msgstr "Convertir la bande-dessinée: " #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:267 msgid "Starting Bulk conversion of %d books" -msgstr "" +msgstr "Commencer la conversion par lot des livres %d" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:210 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:307 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:335 msgid "Convert book %d of %d (%s)" -msgstr "" +msgstr "Convertir le livre %d / %d (%s)" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:247 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 @@ -5003,7 +5082,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 msgid "Could not convert some books" -msgstr "" +msgstr "Impossible de convertir certains livres" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:372 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:387 @@ -5024,11 +5103,11 @@ msgstr "Options de &fontes" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:103 msgid "Se&rif family:" -msgstr "" +msgstr "Famille Se&rif:" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:104 msgid "&Sans family:" -msgstr "" +msgstr "Famille &Sans;" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:105 msgid "&Monospace family:" @@ -5036,11 +5115,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:106 msgid "&Default font size:" -msgstr "" +msgstr "Taille de la fonte par &défaut:" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:108 msgid "Monospace &font size:" -msgstr "" +msgstr "Taille de la &fonte monospace:" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:110 msgid "S&tandard font:" @@ -5048,19 +5127,19 @@ msgstr "Fonte S&tandard:" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:111 msgid "Serif" -msgstr "" +msgstr "Serif" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:112 msgid "Sans-serif" -msgstr "" +msgstr "Sans-serif" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:113 msgid "Monospace" -msgstr "" +msgstr "Monospace" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:114 msgid "&User stylesheet" -msgstr "" +msgstr "Feuille de style &utilisateur" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:50 msgid "Options to customize the ebook viewer" @@ -5072,34 +5151,36 @@ msgid "" "Set the user CSS stylesheet. This can be used to customize the look of all " "books." msgstr "" +"Voir la feuille de style utilisateur CSS. Peut être utilisée pour " +"personnaliser le visuel de tous les livres." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:59 msgid "Font options" -msgstr "" +msgstr "Options pour les fontes" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:61 msgid "The serif font family" -msgstr "" +msgstr "La famille de fonte serif" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:63 msgid "The sans-serif font family" -msgstr "" +msgstr "La famille de fonte sans-serif" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:65 msgid "The monospaced font family" -msgstr "" +msgstr "La famille de fonte monospace" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:66 msgid "The standard font size in px" -msgstr "" +msgstr "La taille de fonte standard en px" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:67 msgid "The monospaced font size in px" -msgstr "" +msgstr "La taille de fonte monospace en px" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:68 msgid "The standard font type" -msgstr "" +msgstr "Le type de fonte standard" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:166 msgid "Go to..." @@ -5145,7 +5226,7 @@ msgstr "Pas de correspondance trouvée pour: %s" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 msgid "Loading flow..." -msgstr "" +msgstr "Chargement du flux..." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 msgid "Laying out %s" @@ -5169,7 +5250,7 @@ msgstr "Impossible d'ouvrir l'ebook" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 msgid "%s

      %s

      " -msgstr "" +msgstr "%s

      %s

      " #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 msgid "Options to control the ebook viewer" @@ -5181,6 +5262,9 @@ msgid "" "\n" "View an ebook. \n" msgstr "" +"%prog [options] fichier\n" +"\n" +"Visualiser un ebook. \n" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 msgid "Ebook Viewer" @@ -5290,7 +5374,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/__init__.py:20 msgid "The port on which to listen. Default is %default" -msgstr "" +msgstr "Le port sur lequel écouter. Par défaut : %default" #: /home/kovid/work/calibre/src/calibre/library/__init__.py:22 msgid "The server timeout in seconds. Default is %default" @@ -5298,11 +5382,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/__init__.py:24 msgid "The max number of worker threads to use. Default is %default" -msgstr "" +msgstr "Le nombre de processus de travail à utiliser. Par défaut : %default" #: /home/kovid/work/calibre/src/calibre/library/__init__.py:26 msgid "Set a password to restrict access. By default access is unrestricted." msgstr "" +"Indiquer un mot de passe pour restreindre l'accès. Par défaut, l'accès n'est " +"pas restreint." #: /home/kovid/work/calibre/src/calibre/library/__init__.py:28 msgid "Username for access. By default, it is: %default" @@ -5311,12 +5397,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/__init__.py:32 msgid "The maximum size for displayed covers. Default is %default." msgstr "" +"La taille maximum pour les couvertures affichées. Par défaut : %default" #: /home/kovid/work/calibre/src/calibre/library/cli.py:107 msgid "" "Path to the calibre library. Default is to use the path stored in the " "settings." msgstr "" +"Chemin de la librairie calibre. Par défaut : utilise celui indiqué dans les " +"paramètres." #: /home/kovid/work/calibre/src/calibre/library/cli.py:187 msgid "" @@ -5324,6 +5413,9 @@ msgid "" "\n" "List the books available in the calibre database.\n" msgstr "" +"%prog list [options]\n" +"\n" +"Lister les livres disponibles dans la base calibre.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:195 msgid "" @@ -5343,7 +5435,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:199 msgid "Sort results in ascending order" -msgstr "" +msgstr "Trier les résultats dans l'ordre ascendant" #: /home/kovid/work/calibre/src/calibre/library/cli.py:201 msgid "" @@ -5360,13 +5452,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:204 msgid "The string used to separate fields. Default is a space." -msgstr "" +msgstr "La chaîne utilisée pour séparer des champs. Par défaut : un espace" #: /home/kovid/work/calibre/src/calibre/library/cli.py:205 msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" +"Le préfixe pour tous les chemins. Par défaut : Le chemin absolu du " +"répertoire de la librairie." #: /home/kovid/work/calibre/src/calibre/library/cli.py:208 msgid "" @@ -5376,17 +5470,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:216 msgid "Invalid fields. Available fields:" -msgstr "" +msgstr "Champs invalides. Champs disponibles:" #: /home/kovid/work/calibre/src/calibre/library/cli.py:223 msgid "Invalid sort field. Available fields:" -msgstr "" +msgstr "Champ de tri invalide. Champs disponibles:" #: /home/kovid/work/calibre/src/calibre/library/cli.py:289 msgid "" "The following books were not added as they already exist in the database " "(see --duplicates option):" msgstr "" +"Les livres suivants ne seront pas ajoutés car ils existent déjà dans la base " +"de données (voir l'option --duplicates):" #: /home/kovid/work/calibre/src/calibre/library/cli.py:313 msgid "" @@ -5396,6 +5492,11 @@ msgid "" "directories, see\n" "the directory related options below.\n" msgstr "" +"%prog add [options] fichier1 fichier2 fichier3 ...\n" +"\n" +"Ajouter les fichiers spécifiés comme ebooks à la base de données. Vous " +"pouvez aussi spécifier des répertoires, voir les options décrivant les " +"répertoires ci-dessous.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:322 msgid "" @@ -5405,17 +5506,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:324 msgid "Process directories recursively" -msgstr "" +msgstr "Traite les répertoires récursivement" #: /home/kovid/work/calibre/src/calibre/library/cli.py:326 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" +"Ajouter les livres dans la base de données même s'ils existent déjà. La " +"comparaison est basée sur les titres des ebooks." #: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "You must specify at least one file to add" -msgstr "" +msgstr "Vous devez spécifier au moins un fichier à ajouter" #: /home/kovid/work/calibre/src/calibre/library/cli.py:349 msgid "" @@ -5428,7 +5531,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:361 msgid "You must specify at least one book to remove" -msgstr "" +msgstr "Vous devez spécifier au moins un fichier à supprimer" #: /home/kovid/work/calibre/src/calibre/library/cli.py:381 msgid "" @@ -5459,7 +5562,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:418 msgid "You must specify an id and a format" -msgstr "" +msgstr "Vous devez spécifier un identifiant et un format" #: /home/kovid/work/calibre/src/calibre/library/cli.py:436 msgid "" @@ -5473,7 +5576,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:444 msgid "Print metadata in OPF form (XML)" -msgstr "" +msgstr "Imprimer les méta-données dans un formulaire OPF (XML)" #: /home/kovid/work/calibre/src/calibre/library/cli.py:449 msgid "You must specify an id" @@ -5494,7 +5597,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:476 msgid "You must specify an id and a metadata file" -msgstr "" +msgstr "Vous devez spécifier un identifiant et un fichier de méta-données" #: /home/kovid/work/calibre/src/calibre/library/cli.py:488 msgid "" @@ -5600,7 +5703,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/config.py:540 msgid "Access key for isbndb.com" -msgstr "" +msgstr "Clef d'accès pour isbndb.com" #: /home/kovid/work/calibre/src/calibre/utils/config.py:542 msgid "Default timeout for network operations (seconds)" @@ -5616,7 +5719,7 @@ msgstr "Langue utilisée pour l'affichage de l'interface utilisateur" #: /home/kovid/work/calibre/src/calibre/utils/config.py:548 msgid "The default output format for ebook conversions." -msgstr "" +msgstr "Le format de sortie par défaut pour les conversions d'ebook." #: /home/kovid/work/calibre/src/calibre/utils/config.py:550 msgid "Read metadata from files" @@ -5649,7 +5752,7 @@ msgstr "Impossible de s'authentifier auprès du server : %s" #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:83 #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:105 msgid "Unknown feed" -msgstr "" +msgstr "Flux inconnu" #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:123 #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:145 @@ -5706,7 +5809,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:30 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:476 msgid "Do not download CSS stylesheets." -msgstr "" +msgstr "Ne pas télécharger les feuilles de style CSS." #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:33 #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:90 @@ -5755,6 +5858,8 @@ msgid "" "The directory in which to store the downloaded feeds. Defaults to the " "current directory." msgstr "" +"Le répertoire dans lequel enregistrer les flux téléchargés. Par défaut : " +"répertoire courant." #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:55 msgid "Don't show the progress bar" @@ -5763,7 +5868,7 @@ msgstr "Ne pas afficher la barre de progression" #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:57 #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:107 msgid "Very verbose output, useful for debugging." -msgstr "" +msgstr "Sortie très verbeuse, utile pour le débogage" #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:59 #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:109 @@ -5800,7 +5905,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:105 msgid "Dont show the progress bar" -msgstr "" +msgstr "Ne pas afficher la barre de progression" #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:120 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:684 @@ -5847,11 +5952,11 @@ msgstr "Essaie de télécharger la couverture..." #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:747 msgid "Starting download [%d thread(s)]..." -msgstr "" +msgstr "Commence le téléchargement [processus %d]..." #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:763 msgid "Feeds downloaded to %s" -msgstr "" +msgstr "Flux téléchargés de %s" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:773 msgid "Could not download cover: %s" diff --git a/src/calibre/translations/gl.po b/src/calibre/translations/gl.po index 9ae1e63d14..dd8f97aca1 100644 --- a/src/calibre/translations/gl.po +++ b/src/calibre/translations/gl.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/he.po b/src/calibre/translations/he.po index 0d5d045b28..b64b037c90 100644 --- a/src/calibre/translations/he.po +++ b/src/calibre/translations/he.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/hu.po b/src/calibre/translations/hu.po index 35bcf623e4..32679a7ab3 100644 --- a/src/calibre/translations/hu.po +++ b/src/calibre/translations/hu.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/it.po b/src/calibre/translations/it.po index 957ef06afb..62fec6e340 100644 --- a/src/calibre/translations/it.po +++ b/src/calibre/translations/it.po @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/nb.po b/src/calibre/translations/nb.po index 150790230d..fe9ed41179 100644 --- a/src/calibre/translations/nb.po +++ b/src/calibre/translations/nb.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/nds.po b/src/calibre/translations/nds.po index b01f0a627e..1d9b2ca68d 100644 --- a/src/calibre/translations/nds.po +++ b/src/calibre/translations/nds.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-02-26 19:09+0000\n" -"PO-Revision-Date: 2009-02-26 22:22+0000\n" -"Last-Translator: S. Dorscht \n" +"PO-Revision-Date: 2009-03-03 17:38+0000\n" +"Last-Translator: Kovid Goyal \n" "Language-Team: American English \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" @@ -3209,11 +3209,11 @@ msgid "" msgstr "" "

      Sie können mit Hilfe eines XPath Ausdrucks einstellen, wie Calibre " "Seitenbegrenzungen erkennt. Zum Gebrauch von XPath Ausdrücken sehen Sie sich " -"das XPath Tutorial an. Die Seitenbegrenzungen sind nur hilfreich, wenn " -"eine Zuordnung von Seiten eines Papierbuches auf Punkte im eBook erfolgen " -"soll. Dies stellt ein, wo Adobe Digital Editions die Seitenzahlen am rechten " -"Rand darstellt.

      " +"das XPath " +"Tutorial an. Die Seitenbegrenzungen sind nur hilfreich, wenn eine " +"Zuordnung von Seiten eines Papierbuches auf Punkte im eBook erfolgen soll. " +"Dies stellt ein, wo Adobe Digital Editions die Seitenzahlen am rechten Rand " +"darstellt.

      " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:516 msgid "&Boundary XPath:" diff --git a/src/calibre/translations/nl.po b/src/calibre/translations/nl.po index 1b2f3b02f0..d5e925d7c6 100644 --- a/src/calibre/translations/nl.po +++ b/src/calibre/translations/nl.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/pl.po b/src/calibre/translations/pl.po index 2d68f0dce0..9f09ccef4d 100644 --- a/src/calibre/translations/pl.po +++ b/src/calibre/translations/pl.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/pt.po b/src/calibre/translations/pt.po index af68a916bd..f5dfb13c32 100644 --- a/src/calibre/translations/pt.po +++ b/src/calibre/translations/pt.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/ro.po b/src/calibre/translations/ro.po index 4d694940c5..e4cdc3d99d 100644 --- a/src/calibre/translations/ro.po +++ b/src/calibre/translations/ro.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/ru.po b/src/calibre/translations/ru.po index 6fc526348a..06f9418948 100644 --- a/src/calibre/translations/ru.po +++ b/src/calibre/translations/ru.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Poedit-Country: RUSSIAN FEDERATION\n" "X-Poedit-Language: Russian\n" diff --git a/src/calibre/translations/sk.po b/src/calibre/translations/sk.po index 49fa107b8a..0f1e4ce256 100644 --- a/src/calibre/translations/sk.po +++ b/src/calibre/translations/sk.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2009-02-26 19:09+0000\n" -"PO-Revision-Date: 2009-02-18 20:47+0000\n" -"Last-Translator: Kovid Goyal \n" +"PO-Revision-Date: 2009-03-05 12:30+0000\n" +"Last-Translator: Stano Sitar \n" "Language-Team: Slovak \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -356,6 +356,9 @@ msgid "" "XPath expression to detect page boundaries for building a custom pagination " "map, as used by AdobeDE. Default is not to build an explicit pagination map." msgstr "" +"Výraz XPath pre rozoznanie hranice strany pre vytvorenie mapy strán, tak ako " +"je použitý v AdobeDE. Prednastavená hodnota je nevytvárať explicitnú mapu " +"strán." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:161 msgid "" @@ -363,6 +366,8 @@ msgid "" "relative to its boundary element. Default is to number all pages staring " "with 1." msgstr "" +"Výraz XPath pre zistenie mena každej strany v mape strán vo vzťahu k jej " +"hraničnému prvku. Prednastavená hodnota je číslovať všetky strany od 1." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:165 msgid "" @@ -422,6 +427,9 @@ msgid "" "of Contents at level three. Each entry is added under the previous level two " "entry." msgstr "" +"Výraz XPath ktorý špecifikuje všetky návestia (tagy) ktoré majú byť pridané " +"do Obsahu na úrovni tri. Každá hodnota je zadaná pod existujúcou hodnotou " +"úrovne tri." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:192 msgid "" @@ -3134,14 +3142,20 @@ msgid "" "pages in a paper book, to locations in the e-book. This controls where Adobe " "Digital Editions displays the page numbers in the right margin.

      " msgstr "" +"

      Pomocou XPath výrazu môžte ovplyvniť ako Calibre určuje hranice strán. " +"Aby ste sa dozvedeli o použití XPath výrazov, navštívte XPath " +"tutorial. Hranice strán sú užitočné iba keď chcete namapovať strany z " +"papierovej knihy na presné umiestnenie v e-knihe. Toto určí kde Adobe " +"Digital Editions zobrazí čísla strán na pravom okraji strany.

      " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:516 msgid "&Boundary XPath:" -msgstr "" +msgstr "&Hraničná XPath:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:517 msgid "&Name XPath:" -msgstr "" +msgstr "&Názov XPath:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:518 msgid "Automatic &chapter detection" @@ -3154,6 +3168,10 @@ msgid "" "href=\"http://calibre.kovidgoyal.net/user_manual/xpath.html\">XPath " "tutorial

      " msgstr "" +"

      Pomocou XPath výrazu môžte ovplyvniť ako Calibre určuje hranice strán. " +"Aby ste sa dozvedeli o použití XPath výrazov, navštívte XPath " +"tutorial.

      " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:520 msgid "&XPath:" @@ -3299,7 +3317,7 @@ msgstr "Štandardné nastavenie prevodu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:258 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:341 msgid "No preprocessing" -msgstr "" +msgstr "Žiaden pre-processing." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:261 msgid "" @@ -3833,7 +3851,7 @@ msgstr "Každých " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "at" -msgstr "" +msgstr "na" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "" @@ -3876,7 +3894,7 @@ msgstr "Mazať správy staršie ako " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:96 msgid "Form" -msgstr "" +msgstr "Z" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:36 msgid "contains" @@ -4196,6 +4214,26 @@ msgid "" "expression on a few sample filenames. The group names for the various " "metadata entries are documented in tooltips.

      " msgstr "" +"\n" +"\n" +"

      Zadajte Regulárny výraz " +"ktorý sa použije na odhadnutie metadát z e-knihy z názvu súboru.

      \n" +"

      K dispozícii je Referencia na syntax " +"Regulárnych výrazov.

      \n" +"

      Použite Test test funkcionalitu tu dole aby ste otestovali " +"váš relulárny výraz na vzorke niekoľkých názvov súborov. Skupinové mená pre " +"jednotlivé metadáta sú dokumentované v bublinovej nápovede

      " #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:104 msgid "Regular &expression" @@ -4698,7 +4736,7 @@ msgstr "Odosielam správy do zariadenia." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 msgid "Choose format to send to device" -msgstr "" +msgstr "Vyberte formát na poslanie do zariadenia" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:954 msgid "Sending books to device." @@ -5050,7 +5088,7 @@ msgstr "Knihy s rovnakými tagmi" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:372 msgid "Send specific format to device" -msgstr "" +msgstr "Pošlite konkrétny formát do zariadenia" #: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:18 msgid "" @@ -5250,7 +5288,7 @@ msgstr "Pozícia v knihe" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 msgid "/Unknown" -msgstr "" +msgstr "/Neznámy" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 msgid "Go to a reference. To get reference numbers, use the reference mode." @@ -5329,7 +5367,7 @@ msgstr "Prehliadač elektronických kníh" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 msgid "toolBar" -msgstr "" +msgstr "Panel nástrojov" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 msgid "Next page" @@ -5708,6 +5746,13 @@ msgid "" "(in\n" "an opf file). You can get id numbers from the list command.\n" msgstr "" +"%prog export [options] ids\n" +"\n" +"Exportujte knihy špecifikované pomocou ids (zoznam oddelený čiarkami) na " +"súborový systém.\n" +"Operácia exportu uloží všetky formáty knihy, obrázok obalu knihy a metadáta " +"\n" +"(v súbore opf). ID čísla môžte distiť pomocou príkazu list.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:496 msgid "Export all books in database, ignoring the list of ids." @@ -5939,11 +5984,16 @@ msgid "" "If you specify this option, any argument to %prog is ignored and a default " "recipe is used to download the feeds." msgstr "" +"Zadajte zoznam \"feedov\" na stiahnutie. Napríklad:\n" +"\"['http://feeds.newsweek.com/newsweek/TopNews', " +"'http://feeds.newsweek.com/headlines/politics']\"\n" +"Ak využijetre túto voľbu, akýkoľvek argument pre %prog je ignorovaný a " +"prednastavený recept je určený aby stiahol \"feed-y\"" #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:37 #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:94 msgid "Be more verbose while processing." -msgstr "" +msgstr "Použi viac hlášok pri spracovaní" #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:39 #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:96 @@ -5969,6 +6019,8 @@ msgid "" "Number of levels of links to follow on webpages that are linked to from " "feeds. Defaul %default" msgstr "" +"Počet úrovní odkazov ktoré sa budú nasledovať na stránkach, ktoré sú " +"prilinkované vo feedoch. Prednastavená hodnota %default" #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:53 #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:103 @@ -5976,6 +6028,8 @@ msgid "" "The directory in which to store the downloaded feeds. Defaults to the " "current directory." msgstr "" +"Adresár kam sa ukladajú stiahnuté feedy. Prednastavená hodnota je aktuálny " +"adresár." #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:55 msgid "Don't show the progress bar" @@ -5992,6 +6046,8 @@ msgid "" "Useful for recipe development. Forces max_articles_per_feed to 2 and " "downloads at most 2 feeds." msgstr "" +"Užitečné na vývoj (testovanie pri vývoji) receptov. Natvrdo nastaví hodnotu " +"max_articles_per_feed (max. článkov pre feed) na 2 a stiahne najviac 2 feedy." #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:63 msgid "" @@ -6013,6 +6069,23 @@ msgid "" "Available builtin recipes are:\n" "%s\n" msgstr "" +"%%prog [options] ARG\n" +"\n" +"%%prog spracuje on-line zdroj článkov, ako napríklad RSS alebo ATOM feed a\n" +"stiahne obsah článku zorganizovaný v peknej hierarchii.\n" +"\n" +"ARG môže byť jeden z:\n" +"\n" +"názov súboru - %%prog sa pokúsi načítať recept zo súboru\n" +"\n" +"názov receptu zabudovaného v Calibre - %%prog načíta zabudovaný recept a " +"použije ho n astiahnutie feedu.. Pre napr. Newsweek alebo \"The BBC\" alebo " +"\"The New York Times\"\n" +"\n" +"recept ako reťazac - %%prog načíta recept priamo z reťazca.\n" +"\n" +"K dispozícii sú nasledujúce zabudované recepty:\n" +"%s\n" #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:87 msgid "" @@ -6277,7 +6350,7 @@ msgstr "Nemčina" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:12 msgid "Kovid Goyal" -msgstr "" +msgstr "Kovid Goyal" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_jutarnji.py:22 msgid "Croatian" @@ -6285,15 +6358,15 @@ msgstr "Chorvátština" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_la_republica.py:6 msgid "Italian" -msgstr "" +msgstr "Taliančina" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:83 msgid "Skipping duplicated article: %s" -msgstr "" +msgstr "Preskakujem duplicitný článok: %s" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:88 msgid "Skipping filtered article: %s" -msgstr "" +msgstr "Preskakujem odfiltrovaný článok: %s" #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:454 msgid "" diff --git a/src/calibre/translations/sl.po b/src/calibre/translations/sl.po index 5bb5904e16..1b48537a3e 100644 --- a/src/calibre/translations/sl.po +++ b/src/calibre/translations/sl.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/sv.po b/src/calibre/translations/sv.po index 39429d408f..69149c45dd 100644 --- a/src/calibre/translations/sv.po +++ b/src/calibre/translations/sv.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 diff --git a/src/calibre/translations/te.po b/src/calibre/translations/te.po index d7c73487e8..ab4903e38f 100644 --- a/src/calibre/translations/te.po +++ b/src/calibre/translations/te.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-03 17:04+0000\n" +"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 From cfeaed5c716fd27312abb34a4d0c1780be7e7b7c Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 6 Mar 2009 10:50:34 -0800 Subject: [PATCH 10/19] MOBI Input: Handle poor quality PRC files from Baen better. Images are now correctly extracted despite the missing image_offset and metadata embedded in the content is used when converting (though not when simply reading metadata as this would be too slow) --- src/calibre/ebooks/mobi/reader.py | 46 +++++++++++++++++++++++++++---- 1 file changed, 41 insertions(+), 5 deletions(-) diff --git a/src/calibre/ebooks/mobi/reader.py b/src/calibre/ebooks/mobi/reader.py index 7d1aaba7b5..8898798c34 100644 --- a/src/calibre/ebooks/mobi/reader.py +++ b/src/calibre/ebooks/mobi/reader.py @@ -22,7 +22,7 @@ from calibre.ebooks.mobi.huffcdic import HuffReader from calibre.ebooks.mobi.palmdoc import decompress_doc from calibre.ebooks.mobi.langcodes import main_language, sub_language from calibre.ebooks.metadata import MetaInformation -from calibre.ebooks.metadata.opf2 import OPFCreator +from calibre.ebooks.metadata.opf2 import OPFCreator, OPF from calibre.ebooks.metadata.toc import TOC from calibre import sanitize_file_name @@ -215,7 +215,11 @@ class MobiReader(object): self.upshift_markup(root) guides = root.xpath('//guide') guide = guides[0] if guides else None - for elem in guides + root.xpath('//metadata'): + metadata_elems = root.xpath('//metadata') + self.embedded_mi = None + if metadata_elems and self.book_header.exth is None: + self.read_embedded_metadata(root, metadata_elems[0], guide) + for elem in guides + metadata_elems: elem.getparent().remove(elem) htmlfile = os.path.join(output_dir, sanitize_file_name(self.name)+'.html') @@ -235,7 +239,7 @@ class MobiReader(object): f.write(raw) self.htmlfile = htmlfile - if self.book_header.exth is not None: + if self.book_header.exth is not None or self.embedded_mi is not None: if self.verbose: print 'Creating OPF...' ncx = cStringIO.StringIO() @@ -244,7 +248,33 @@ class MobiReader(object): ncx = ncx.getvalue() if ncx: open(os.path.splitext(htmlfile)[0]+'.ncx', 'wb').write(ncx) + + def read_embedded_metadata(self, root, elem, guide): + raw = ''+html.tostring(elem, encoding='utf-8')+'' + stream = cStringIO.StringIO(raw) + opf = OPF(stream) + self.embedded_mi = MetaInformation(opf) + if guide is not None: + for ref in guide.xpath('descendant::reference'): + if 'cover' in ref.get('type', '').lower(): + href = ref.get('href', '') + if href.startswith('#'): + href = href[1:] + anchors = root.xpath('//*[@id="%s"]'%href) + if anchors: + cpos = anchors[0] + reached = False + for elem in root.iter(): + if elem is cpos: + reached = True + if reached and elem.tag == 'img': + cover = elem.get('src', None) + self.embedded_mi.cover = cover + elem.getparent().remove(elem) + break + break + def cleanup_html(self): if self.verbose: print 'Cleaning up HTML...' @@ -333,10 +363,12 @@ class MobiReader(object): pass def create_opf(self, htmlfile, guide=None, root=None): - mi = self.book_header.exth.mi + mi = getattr(self.book_header.exth, 'mi', self.embedded_mi) opf = OPFCreator(os.path.dirname(htmlfile), mi) if hasattr(self.book_header.exth, 'cover_offset'): opf.cover = 'images/%05d.jpg'%(self.book_header.exth.cover_offset+1) + elif mi.cover is not None: + opf.cover = mi.cover manifest = [(htmlfile, 'text/x-oeb1-document')] bp = os.path.dirname(htmlfile) for i in getattr(self, 'image_names', []): @@ -481,7 +513,11 @@ class MobiReader(object): os.makedirs(output_dir) image_index = 0 self.image_names = [] - for i in range(self.book_header.first_image_index, self.num_sections): + start = self.book_header.first_image_index + if start > self.num_sections or start < 0: + # BAEN PRC files have bad headers + start=0 + for i in range(start, self.num_sections): if i in processed_records: continue processed_records.append(i) From a6cf06dc25c128f4dbed2556d897f1edd0373a9c Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 6 Mar 2009 12:31:02 -0800 Subject: [PATCH 11/19] Fix #1998 ([ERROR] CSSStyleRule: No start { of style declaration found:) --- src/calibre/ebooks/html.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/calibre/ebooks/html.py b/src/calibre/ebooks/html.py index 5329e8ed86..2883e39f8a 100644 --- a/src/calibre/ebooks/html.py +++ b/src/calibre/ebooks/html.py @@ -797,7 +797,8 @@ class Processor(Parser): self.external_stylesheets, self.stylesheet = [], self.css_parser.parseString('') self.specified_override_css = [] for link in self.root.xpath('//link'): - if 'css' in link.get('type', 'text/css').lower(): + ltype = link.get('type', link.get('rel', 'text/css')).lower() + if 'css' in ltype or 'style' in ltype: file = os.path.join(self.tdir, *(link.get('href', '').split('/'))) if file and not 'http:' in file: if not parsed_sheets.has_key(file): From 36a771c7f1565e0fda3e4986b8b8c478e5d3c1b5 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 6 Mar 2009 12:46:30 -0800 Subject: [PATCH 12/19] Fix calibre.app to work correctly even when it is moved into a path that has spaces in it --- installer/osx/freeze.py | 5 +++-- src/calibre/ebooks/mobi/reader.py | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/installer/osx/freeze.py b/installer/osx/freeze.py index dbaad72748..ff1684bb04 100644 --- a/installer/osx/freeze.py +++ b/installer/osx/freeze.py @@ -34,8 +34,8 @@ python = os.path.join(base_dir, 'MacOS', 'python') loader_path = os.path.join(dirpath, base_name+'.py') loader = open(loader_path, 'w') site_packages = glob.glob(resources_dir+'/lib/python*/site-packages.zip')[0] -print >>loader, '#!'+python print >>loader, 'import sys' +print >>loader, 'sys.argv[0] =', repr(os.path.basename(path)) print >>loader, 'if', repr(dirpath), 'in sys.path: sys.path.remove(', repr(dirpath), ')' print >>loader, 'sys.path.append(', repr(site_packages), ')' print >>loader, 'sys.frozen = "macosx_app"' @@ -49,7 +49,8 @@ os.environ['PYTHONHOME'] = resources_dir os.environ['FC_CONFIG_DIR'] = os.path.join(resources_dir, 'fonts') os.environ['MAGICK_HOME'] = os.path.join(frameworks_dir, 'ImageMagick') os.environ['DYLD_LIBRARY_PATH'] = os.path.join(frameworks_dir, 'ImageMagick', 'lib') -os.execv(loader_path, sys.argv) +args = [path, loader_path] + sys.argv[1:] +os.execv(python, args) ''' CHECK_SYMLINKS_PRESCRIPT = \ r''' diff --git a/src/calibre/ebooks/mobi/reader.py b/src/calibre/ebooks/mobi/reader.py index 8898798c34..2c80cc1c8c 100644 --- a/src/calibre/ebooks/mobi/reader.py +++ b/src/calibre/ebooks/mobi/reader.py @@ -140,6 +140,8 @@ class MobiReader(object): def __init__(self, filename_or_stream, verbose=False): self.verbose = verbose + self.embedded_mi = None + if hasattr(filename_or_stream, 'read'): stream = filename_or_stream stream.seek(0) @@ -216,7 +218,6 @@ class MobiReader(object): guides = root.xpath('//guide') guide = guides[0] if guides else None metadata_elems = root.xpath('//metadata') - self.embedded_mi = None if metadata_elems and self.book_header.exth is None: self.read_embedded_metadata(root, metadata_elems[0], guide) for elem in guides + metadata_elems: From c41a647e0f29252c9153f4f1e7187b9bb1f23b39 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 6 Mar 2009 13:32:20 -0800 Subject: [PATCH 13/19] version 0.4.143 --- src/calibre/constants.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/constants.py b/src/calibre/constants.py index 369e92a6aa..aebcb35dc0 100644 --- a/src/calibre/constants.py +++ b/src/calibre/constants.py @@ -2,7 +2,7 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net' __docformat__ = 'restructuredtext en' __appname__ = 'calibre' -__version__ = '0.4.142' +__version__ = '0.4.143' __author__ = "Kovid Goyal " ''' Various run time constants. From 9d206d96c1edab7c1aad37544ffb66dfb204bf9a Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 6 Mar 2009 13:38:03 -0800 Subject: [PATCH 14/19] IGN:Tag release From df5e7a6549a06c0ba0d6c35c6a324d0cb66d735f Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 6 Mar 2009 14:28:23 -0800 Subject: [PATCH 15/19] New recipe for Miami Herald by Darko Miletic --- src/calibre/gui2/images/news/miami_herald.png | Bin 0 -> 1016 bytes src/calibre/web/feeds/recipes/__init__.py | 2 +- .../web/feeds/recipes/recipe_miami_herald.py | 53 ++++++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 src/calibre/gui2/images/news/miami_herald.png create mode 100644 src/calibre/web/feeds/recipes/recipe_miami_herald.py diff --git a/src/calibre/gui2/images/news/miami_herald.png b/src/calibre/gui2/images/news/miami_herald.png new file mode 100644 index 0000000000000000000000000000000000000000..6b4984b0fdbe29b8a319d3e12e9e39d538af0895 GIT binary patch literal 1016 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b zK-vS0-A-oPfdtD69Mgd`SU*F|v9*U87?>43T^vI!PUlXJ&k0VII97k(GTy)X*1ET+ zE^RbjGrOsz^TDH5mtBnl9X>LOvplXy&rMW|6VT`BIpWeeOQX|Gc#8Dm3daJ&HtEN` zY+eB|919vP)26nZ)m`)Y)>_%W)#rZpiJwXRSE)bWX1{v=yeEQxez)m+w0Jz+_4mN7 zRMYkc)g`uPZ}0tjwd^DR5072!zP|;QZew1Mz2Hu@o^#XFm}3{>AD_K)biZJ&=$^+3 zUuXmZ#e%UtID3 z%)FE>m0!XpZqWSb#e2Kdk;A9ouco*EpzK?X>tByD&pXdI_ut!#Qyc!3PBf46a*5h6 zH~aZf`Q<)cK*0=CnZ5Sqg&#}wnK|KZDuXdekQJK_jAUdFXt|`Eq@=fWA6G*)yY%# z@^5D-*#2ySSBvEi<9(Mt=PdNQu=?@$S1o_7W?yH!=AE@IT`4+oUryjwk>~qj5_Z@- zZuT$y_DUsvUCN19N#@)Q&xHR$ep6!ZgraKz4Vra-t&?=3)X14^Ot7Sy=%V5estm9{tph(Esa;ym}WVD`zE43 z@4jz#@q~;UDVqCF95>&Tuyg&Vu=iJ|>VDa4Q?tWbswUrPf5&5|^R==*&$~@zTJ;4U zeeXIuZ5@lUarw!}iI4aEzcTTEPv-4^>1`%QcE8wk(@9||i*Hh z^7Zlm^}Pqask2$dE@f+7_Euz;ocJ!67e#)?HJP`i|JeLJ+Sz&a-+qRr|BN3g`R-={ z<{Z@$*NBqjqSVBaRNWLH!C+)yV5w_htZQHvVq|1xWNKwzopr09EwV`v3p{ literal 0 HcmV?d00001 diff --git a/src/calibre/web/feeds/recipes/__init__.py b/src/calibre/web/feeds/recipes/__init__.py index 2817ec8c02..6eb24e162b 100644 --- a/src/calibre/web/feeds/recipes/__init__.py +++ b/src/calibre/web/feeds/recipes/__init__.py @@ -7,7 +7,7 @@ Builtin recipes. recipe_modules = ['recipe_' + r for r in ( 'newsweek', 'atlantic', 'economist', 'portfolio', 'nytimes', 'usatoday', 'outlook_india', 'bbc', 'greader', 'wsj', - 'wired', 'globe_and_mail', 'smh', 'espn', 'business_week', + 'wired', 'globe_and_mail', 'smh', 'espn', 'business_week', 'miami_herald', 'ars_technica', 'upi', 'new_yorker', 'irish_times', 'iht', 'lanacion', 'discover_magazine', 'scientific_american', 'new_york_review_of_books', 'daily_telegraph', 'guardian', 'el_pais', 'new_scientist', 'b92', diff --git a/src/calibre/web/feeds/recipes/recipe_miami_herald.py b/src/calibre/web/feeds/recipes/recipe_miami_herald.py new file mode 100644 index 0000000000..c97e556428 --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_miami_herald.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2009, Darko Miletic ' +''' +miamiherald.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class TheMiamiHerald(BasicNewsRecipe): + title = 'The Miami Herald' + __author__ = 'Darko Miletic' + description = "Miami-Dade and Broward's source for the latest breaking local news on sports, weather, business, jobs, real estate, shopping, health, travel, entertainment, & more." + oldest_article = 1 + max_articles_per_feed = 100 + publisher = u'The Miami Herald' + category = u'miami herald, weather, dolphins, news, miami news, local news, miamiherald, miami newspaper, miamiherald.com, miami, the miami herald, broward, miami-dade' + language = _('English') + no_stylesheets = True + use_embedded_content = False + encoding = 'cp1252' + remove_javascript = True + html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + '"' + + html2lrf_options = [ + '--comment' , description + , '--category' , category + , '--publisher' , publisher + ] + + + keep_only_tags = [dict(name='div', attrs={'id':'pageContainer'})] + + feeds = [ + (u'Breaking News' , u'http://www.miamiherald.com/416/index.xml' ) + ,(u'Miami-Dade' , u'http://www.miamiherald.com/460/index.xml' ) + ,(u'Broward' , u'http://www.miamiherald.com/467/index.xml' ) + ,(u'Florida Keys' , u'http://www.miamiherald.com/505/index.xml' ) + ,(u'Florida' , u'http://www.miamiherald.com/569/index.xml' ) + ,(u'Nation' , u'http://www.miamiherald.com/509/index.xml' ) + ,(u'World' , u'http://www.miamiherald.com/578/index.xml' ) + ,(u'Americas' , u'http://www.miamiherald.com/579/index.xml' ) + ,(u'Cuba' , u'http://www.miamiherald.com/581/index.xml' ) + ,(u'Haiti' , u'http://www.miamiherald.com/582/index.xml' ) + ,(u'Politics' , u'http://www.miamiherald.com/515/index.xml' ) + ,(u'Education' , u'http://www.miamiherald.com/295/index.xml' ) + ,(u'Environment' , u'http://www.miamiherald.com/573/index.xml' ) + ] + + def print_version(self, url): + return url.replace('/story/','/v-print/story/') + From ce5389109c7b4052e3e70eb8fcd847f5aacbb915 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 6 Mar 2009 17:05:33 -0800 Subject: [PATCH 16/19] Fix #2000 (Error on importing PDFs, CBZs and LRFs into Calibre) --- src/calibre/ebooks/epub/__init__.py | 4 ++-- src/calibre/gui2/add.py | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/calibre/ebooks/epub/__init__.py b/src/calibre/ebooks/epub/__init__.py index aa17024d50..ecea8d98f6 100644 --- a/src/calibre/ebooks/epub/__init__.py +++ b/src/calibre/ebooks/epub/__init__.py @@ -196,8 +196,8 @@ to auto-generate a Table of Contents. 'an overview of the NCX format.')) toc('use_auto_toc', ['--use-auto-toc'], default=False, help=_('Normally, if the source file already has a Table of Contents, ' - 'it is used in preference to the autodetected one. ' - 'With this option, the autodetected one is always used.')) + 'it is used in preference to the auto-generated one. ' + 'With this option, the auto-generated one is always used.')) layout = c.add_group('page layout', _('Control page layout')) layout('margin_top', ['--margin-top'], default=5.0, diff --git a/src/calibre/gui2/add.py b/src/calibre/gui2/add.py index a1a4607525..b44449d1aa 100644 --- a/src/calibre/gui2/add.py +++ b/src/calibre/gui2/add.py @@ -46,7 +46,6 @@ class AddFiles(Add): def metadata_delivered(self, id, mi): if self.is_canceled(): - self.reading.wakeAll() return if not mi.title: mi.title = os.path.splitext(self.names[id])[0] @@ -163,7 +162,6 @@ class AddRecursive(Add): def metadata_delivered(self, id, mi): if self.is_canceled(): - self.reading.wakeAll() return self.emit(SIGNAL('processed(PyQt_PyObject,PyQt_PyObject)'), mi.title, id) From aa548ea91555746799ceec675da006901c6a2bf5 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 6 Mar 2009 21:43:39 -0800 Subject: [PATCH 17/19] Fix #2004 (PDF to EPUB conversions not working) --- installer/linux/freeze.py | 1 + 1 file changed, 1 insertion(+) diff --git a/installer/linux/freeze.py b/installer/linux/freeze.py index b836e48de1..595d64d436 100644 --- a/installer/linux/freeze.py +++ b/installer/linux/freeze.py @@ -37,6 +37,7 @@ def freeze(): '/usr/lib/libpoppler.so.4', '/usr/lib/libxml2.so.2', '/usr/lib/libdbus-1.so.3', + '/usr/lib/libopenjpeg.so.2', '/usr/lib/libxslt.so.1', '/usr/lib/libxslt.so.1', '/usr/lib/libgthread-2.0.so.0', From ffb5b5d966f2766dd3c5a5479f10688762f26d92 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 6 Mar 2009 21:58:22 -0800 Subject: [PATCH 18/19] Fix #1917 (Calibre will not close when clicking any exit button) --- src/calibre/gui2/add.py | 2 ++ src/calibre/gui2/dialogs/config.py | 10 ++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/add.py b/src/calibre/gui2/add.py index b44449d1aa..2f4ba281fd 100644 --- a/src/calibre/gui2/add.py +++ b/src/calibre/gui2/add.py @@ -46,6 +46,7 @@ class AddFiles(Add): def metadata_delivered(self, id, mi): if self.is_canceled(): + self.wake_up() return if not mi.title: mi.title = os.path.splitext(self.names[id])[0] @@ -162,6 +163,7 @@ class AddRecursive(Add): def metadata_delivered(self, id, mi): if self.is_canceled(): + self.wake_up() return self.emit(SIGNAL('processed(PyQt_PyObject,PyQt_PyObject)'), mi.title, id) diff --git a/src/calibre/gui2/dialogs/config.py b/src/calibre/gui2/dialogs/config.py index 1d5fad960e..3014d3dbbd 100644 --- a/src/calibre/gui2/dialogs/config.py +++ b/src/calibre/gui2/dialogs/config.py @@ -320,11 +320,17 @@ class ConfigDialog(QDialog, Ui_Dialog): layout.addWidget(QLabel(_('Error log:'))) el = QPlainTextEdit(d) layout.addWidget(el) - el.setPlainText(open(log_error_file, 'rb').read().decode('utf8', 'replace')) + try: + el.setPlainText(open(log_error_file, 'rb').read().decode('utf8', 'replace')) + except IOError: + el.setPlainText('No error log found') layout.addWidget(QLabel(_('Access log:'))) al = QPlainTextEdit(d) layout.addWidget(al) - al.setPlainText(open(log_access_file, 'rb').read().decode('utf8', 'replace')) + try: + al.setPlainText(open(log_access_file, 'rb').read().decode('utf8', 'replace')) + except IOError: + el.setPlainText('No access log found') d.show() def set_server_options(self): From 25bc8cc1efbd845a0621462f6e7a314e2d5f1d70 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 6 Mar 2009 22:13:53 -0800 Subject: [PATCH 19/19] Fix #2005 (Updated recipe for NIN online) --- src/calibre/web/feeds/recipes/recipe_nin.py | 25 +++++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/src/calibre/web/feeds/recipes/recipe_nin.py b/src/calibre/web/feeds/recipes/recipe_nin.py index 85019b07ea..fe1e97e8b8 100644 --- a/src/calibre/web/feeds/recipes/recipe_nin.py +++ b/src/calibre/web/feeds/recipes/recipe_nin.py @@ -3,7 +3,7 @@ __license__ = 'GPL v3' __copyright__ = '2008-2009, Darko Miletic ' ''' -nin.co.yu +nin.co.rs ''' import re, urllib @@ -19,14 +19,17 @@ class Nin(BasicNewsRecipe): oldest_article = 15 simultaneous_downloads = 1 delay = 1 - encoding = 'utf8' + encoding = 'utf-8' needs_subscription = True - PREFIX = 'http://www.nin.co.yu' + PREFIX = 'http://www.nin.co.rs' INDEX = PREFIX + '/?change_lang=ls' LOGIN = PREFIX + '/?logout=true' + FEED = PREFIX + '/misc/rss.php?feed=RSS2.0' remove_javascript = True use_embedded_content = False - language = _('Serbian') + language = _('Serbian') + lang = 'sr-RS' + direction = 'ltr' extra_css = '@font-face {font-family: "serif1";src:url(res:///opt/sony/ebook/FONT/tt0011m_.ttf)} @font-face {font-family: "sans1";src:url(res:///opt/sony/ebook/FONT/tt0003m_.ttf)} body{text-align: justify; font-family: serif1, serif} .article_description{font-family: sans1, sans-serif}' html2lrf_options = [ @@ -54,7 +57,7 @@ class Nin(BasicNewsRecipe): keep_only_tags =[dict(name='td', attrs={'width':'520'})] remove_tags_after =dict(name='html') - feeds =[(u'NIN', u'http://www.nin.co.yu/misc/rss.php?feed=RSS2.0')] + feeds =[(u'NIN', FEED)] def get_cover_url(self): cover_url = None @@ -65,8 +68,16 @@ class Nin(BasicNewsRecipe): return cover_url def preprocess_html(self, soup): - mtag = '' + soup.html['lang'] = self.lang + soup.html['dir' ] = self.direction + mtag = '' + mtag += '\n' soup.head.insert(0,mtag) for item in soup.findAll(style=True): - del item['style'] + del item['style'] return soup + + def get_article_url(self, article): + raw = article.get('link', None) + return raw.replace('.co.yu','.co.rs') + \ No newline at end of file