From 2a3fe21cf74c1f501b02d28221f8d7ba216961c0 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 11 Feb 2009 13:53:12 -0800 Subject: [PATCH 01/30] IGN:typo --- src/calibre/manual/faq.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/manual/faq.rst b/src/calibre/manual/faq.rst index b5ec52dd7c..c85ffb058d 100644 --- a/src/calibre/manual/faq.rst +++ b/src/calibre/manual/faq.rst @@ -146,7 +146,7 @@ When you first run |app|, it will ask you for a folder in which to store your bo Why doesn't |app| let me store books in my own directory structure? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The whole point if |app|'s library management features is that they provide an interface for locating books that is *much* more efficient than any possible directory scheme you could come up with for your collection. Indeed, once you become comfortable using |app|'s interface to find, sort and browse your collection, you wont ever feel the need to hunt through the files on your disk to find a book again. By managing books in its own directory struture of Author -> Title -> Book files, |app| is able to achieve a high level of reliability and standardization. +The whole point of |app|'s library management features is that they provide an interface for locating books that is *much* more efficient than any possible directory scheme you could come up with for your collection. Indeed, once you become comfortable using |app|'s interface to find, sort and browse your collection, you wont ever feel the need to hunt through the files on your disk to find a book again. By managing books in its own directory struture of Author -> Title -> Book files, |app| is able to achieve a high level of reliability and standardization. Why doesn't |app| have a column for foo? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From b7ca8da79d2fa3d6fd049f473e09618c0641866b Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 11 Feb 2009 14:50:27 -0800 Subject: [PATCH 02/30] Updated Ars Technica recipe --- .../web/feeds/recipes/recipe_ars_technica.py | 110 ++++++++++-------- 1 file changed, 60 insertions(+), 50 deletions(-) diff --git a/src/calibre/web/feeds/recipes/recipe_ars_technica.py b/src/calibre/web/feeds/recipes/recipe_ars_technica.py index 1360c6aa47..eb4e3f54f4 100644 --- a/src/calibre/web/feeds/recipes/recipe_ars_technica.py +++ b/src/calibre/web/feeds/recipes/recipe_ars_technica.py @@ -1,50 +1,60 @@ -#!/usr/bin/env python -__license__ = 'GPL v3' -__copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net' -__docformat__ = 'restructuredtext en' - -''' -arstechnica.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - -class ArsTechnica(BasicNewsRecipe): - title = 'Ars Technica' - description = 'The art of technology' - oldest_article = 7 - language = _('English') - no_stylesheets = True - __author__ = 'Michael Warner' - max_articles_per_feed = 100 - extra_css = """ -body { - font: normal 19px/180% Times, serif; -} - -h1, h2, h3, h4 { - font: bold 28px/100% Verdana, Arial, Helvetica, sans-serif; - margin-top: 19px -} -""" - remove_tags = [ - dict(id="Masthead"), - dict(id="Banner"), - dict(id="Nav"), - dict(name='div', attrs={'class':'ContentHeader'}), - dict(name='img'), - dict(name='div', attrs={'class':'Inset RelatedStories'}), - dict(name='div', attrs={'class':'Tags'}), - dict(name='div', attrs={'class':'PostOptions flat'}), - dict(name='div', attrs={'class':'ContentFooter'}), - dict(id="Sidebar"), - dict(id="LatestPosts"), - dict(id="Footer")] - feeds = [(u'News and Features', u'http://feeds.arstechnica.com/arstechnica/BAaf'), - (u'Nobel Intent (Science)', u'http://arstechnica.com/journals/science.rssx'), - (u'Infinite Loop (Apple)', u'http://arstechnica.com/journals/apple.rssx'), - (u'M-Dollar (Microsoft)', u'http://arstechnica.com/journals/microsoft.rssx'), - (u'Open Ended (Linux)', u'http://arstechnica.com/journals/linux.rssx'), - (u'Opposable Thumbs (Games)', u'http://arstechnica.com/journals/thumbs.rssx'), - (u'Kit (Hardware)', u'http://arstechnica.com/journals/hardware.rssx'), - (u'Journals', u'http://arstechnica.com/journals.rssx')] +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2008-2009, Darko Miletic ' +''' +arstechnica.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class ArsTechnica2(BasicNewsRecipe): + title = u'Ars Technica' + language = _('English') + __author__ = 'Darko Miletic' + description = 'The art of technology' + publisher = 'Ars Technica' + category = 'news, IT, technology' + language = _('English') + oldest_article = 2 + max_articles_per_feed = 100 + no_stylesheets = True + encoding = 'utf8' + remove_javascript = True + use_embedded_content = False + + html2lrf_options = [ + '--comment', description + , '--category', category + , '--publisher', publisher + ] + + html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + '"' + + keep_only_tags = [dict(name='div', attrs={'id':['news-item-info','news-item']})] + + remove_tags = [ + dict(name=['object','link','embed']) + ,dict(name='div', attrs={'class':'related-stories'}) + ] + + + feeds = [ + (u'Infinite Loop (Apple content)' , u'http://feeds.arstechnica.com/arstechnica/apple/' ) + ,(u'Opposable Thumbs (Gaming content)' , u'http://feeds.arstechnica.com/arstechnica/gaming/' ) + ,(u'Gear and Gadgets' , u'http://feeds.arstechnica.com/arstechnica/gadgets/' ) + ,(u'Chipster (Hardware content)' , u'http://feeds.arstechnica.com/arstechnica/hardware/' ) + ,(u'Uptime (IT content)' , u'http://feeds.arstechnica.com/arstechnica/business/' ) + ,(u'Open Ended (Open Source content)' , u'http://feeds.arstechnica.com/arstechnica/open-source/') + ,(u'One Microsoft Way' , u'http://feeds.arstechnica.com/arstechnica/microsoft/' ) + ,(u'Nobel Intent (Science content)' , u'http://feeds.arstechnica.com/arstechnica/science/' ) + ,(u'Law & Disorder (Tech policy content)' , u'http://feeds.arstechnica.com/arstechnica/tech-policy/') + ] + + def preprocess_html(self, soup): + ftag = soup.find('div', attrs={'class':'news-item-byline'}) + if ftag: + ftag.insert(4,'

') + for item in soup.findAll(style=True): + del item['style'] + return soup From e7cc8d990d0c46338de473da5dacb833ceb0d8b5 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 11 Feb 2009 15:48:24 -0800 Subject: [PATCH 03/30] IGN:Exherbo logo --- .../trac/plugins/htdocs/images/exherbo_logo.png | Bin 0 -> 43283 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/calibre/trac/plugins/htdocs/images/exherbo_logo.png diff --git a/src/calibre/trac/plugins/htdocs/images/exherbo_logo.png b/src/calibre/trac/plugins/htdocs/images/exherbo_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ee0e525b93af69d8134d757171fdd21f3f58263a GIT binary patch literal 43283 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 Date: Wed, 11 Feb 2009 17:03:47 -0800 Subject: [PATCH 04/30] Implement #1830 (Add Exherbo to http://calibre.kovidgoyal.net/download_linux (Get Calibre / Linux)) --- src/calibre/trac/plugins/download.py | 775 +++++++++--------- .../trac/plugins/templates/download.html | 156 +++- src/cherrypy/_cpchecker.py | 2 +- 3 files changed, 507 insertions(+), 426 deletions(-) diff --git a/src/calibre/trac/plugins/download.py b/src/calibre/trac/plugins/download.py index 7abf7faed4..938e088447 100644 --- a/src/calibre/trac/plugins/download.py +++ b/src/calibre/trac/plugins/download.py @@ -1,419 +1,394 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal ' -import re -from pkg_resources import resource_filename - -from trac.core import Component, implements -from trac.web.chrome import INavigationContributor, ITemplateProvider, add_stylesheet -from trac.web.main import IRequestHandler -from trac.util import Markup - - __appname__ = 'calibre' -DOWNLOAD_DIR = '/var/www/calibre.kovidgoyal.net/htdocs/downloads' -MOBILEREAD = 'https://dev.mobileread.com/dist/kovid/calibre/' +import re -class OS(dict): - """Dictionary with a default value for unknown keys.""" - def __init__(self, dict): - self.update(dict) - if not dict.has_key('img'): - self['img'] = self['name'] +DEPENDENCIES = [ + #(Generic, version, gentoo, ubuntu, fedora) + ('python', '2.5', None, None, None), + ('setuptools', '0.6c5', 'setuptools', 'python-setuptools', 'python-setuptools-devel'), + ('Python Imaging Library', '1.1.6', 'imaging', 'python-imaging', 'python-imaging'), + ('libusb', '0.1.12', None, None, None), + ('Qt', '4.4.0', 'qt', 'libqt4-core libqt4-gui', 'qt4'), + ('PyQt', '4.4.2', 'PyQt4', 'python-qt4', 'PyQt4'), + ('python-mechanize', '0.1.11', 'dev-python/mechanize', 'python-mechanize', 'python-mechanize'), + ('ImageMagick', '6.3.5', 'imagemagick', 'imagemagick', 'ImageMagick'), + ('xdg-utils', '1.0.2', 'xdg-utils', 'xdg-utils', 'xdg-utils'), + ('dbus-python', '0.82.2', 'dbus-python', 'python-dbus', 'dbus-python'), + ('lxml', '2.0.5', 'lxml', 'python-lxml', 'python-lxml'), + ('python-dateutil', '1.4.1', 'python-dateutil', 'python-dateutil', 'python-dateutil'), + ('BeautifulSoup', '3.0.5', 'beautifulsoup', 'python-beautifulsoup', 'python-BeautifulSoup'), + ('help2man', '1.36.4', 'help2man', 'help2man', 'help2man'), + ] + -class Distribution(object): +class CoolDistro: - DEPENDENCIES = [ - #(Generic, version, gentoo, ubuntu, fedora) - ('python', '2.5', None, None, None), - ('setuptools', '0.6c5', 'setuptools', 'python-setuptools', 'python-setuptools-devel'), - ('Python Imaging Library', '1.1.6', 'imaging', 'python-imaging', 'python-imaging'), - ('libusb', '0.1.12', None, None, None), - ('Qt', '4.4.0', 'qt', 'libqt4-core libqt4-gui', 'qt4'), - ('PyQt', '4.4.2', 'PyQt4', 'python-qt4', 'PyQt4'), - ('mechanize for python', '0.1.11', 'dev-python/mechanize', 'python-mechanize', 'python-mechanize'), - ('ImageMagick', '6.3.5', 'imagemagick', 'imagemagick', 'ImageMagick'), - ('xdg-utils', '1.0.2', 'xdg-utils', 'xdg-utils', 'xdg-utils'), - ('dbus-python', '0.82.2', 'dbus-python', 'python-dbus', 'dbus-python'), - ('lxml', '2.0.5', 'lxml', 'python-lxml', 'python-lxml'), - ('python-dateutil', '1.4.1', 'python-dateutil', 'python-dateutil', 'python-dateutil'), - ('BeautifulSoup', '3.0.5', 'beautifulsoup', 'python-beautifulsoup', 'python-BeautifulSoup'), - ('help2man', '1.36.4', 'help2man', 'help2man', 'help2man'), - ] + def __init__(self, name, title, prefix=''): + self.title = title + url = prefix + '/chrome/dl/images/%s_logo.png' + self.img = url%name + +def get_linux_data(version='1.0.0'): + data = {'version':version, 'app':__appname__} + data['title'] = 'Download calibre for linux' + data['supported'] = [] + for name, title in [ + ('ubuntu', 'Ubuntu Jaunty Jackalope'), + ('debian', 'Debian Sid'), + ('exherbo', 'Exherbo'), + ]: + data['supported'].append(CoolDistro(name, title, + prefix='http://calibre.kovidgoyal.net')) + data['dependencies'] = DEPENDENCIES + return data + +if __name__ == '__main__': + import os + from calibre.utils.genshi.template import MarkupTemplate + import cherrypy + class Test: + def index(self): + raw = open(os.path.dirname(os.path.abspath(__file__))+'/templates/download.html').read() + return MarkupTemplate(raw).generate(**get_linux_data()).render('xhtml') + index.exposed = True + t = Test() + t.index() + cherrypy.quickstart(t) +else: + from pkg_resources import resource_filename - DISTRO_MAP = {'gentoo':2, 'ubuntu':3, 'fedora':4, 'debian':3} + from trac.core import Component, implements + from trac.web.chrome import INavigationContributor, ITemplateProvider, add_stylesheet + from trac.web.main import IRequestHandler + from trac.util import Markup - INSTALLERS = ('emerge -avn', 'apt-get install', 'yum install') - AS_ROOT = (True, False, True) - TITLEMAP = {'gentoo':'Gentoo', 'ubuntu':'Ubuntu Intrepid Ibex', - 'fedora':'Fedora 10', 'debian':'Debian sid', 'generic': 'Install from source'} - MANUAL_MAP = { - 'fedora' : '''
  • You have to upgrade Qt to at least 4.4.0 and PyQt to at least 4.4.2
  • ''', - } + DOWNLOAD_DIR = '/var/www/calibre.kovidgoyal.net/htdocs/downloads' + MOBILEREAD = 'https://dev.mobileread.com/dist/kovid/calibre/' - def __init__(self, os): - self.os = os - self.img = os - self.title = self.TITLEMAP[os] - self.app = __appname__ - self.is_generic = os == 'generic' - offset = 0 - if not self.is_generic: - index = self.DISTRO_MAP[self.os] - if os == 'debian': - self.as_root = True - else: self.as_root = self.AS_ROOT[index-2] - prefix = '' - if not self.as_root: prefix = 'sudo ' - cmd = prefix + self.INSTALLERS[index-2] - pre = ' \\\n '.ljust(len(cmd)+4) - for dep in self.DEPENDENCIES: - if len(cmd) > 70+offset: - offset += 70 - cmd += pre - cmd += ' ' - if dep[index]: cmd += dep[index] - self.command = cmd.strip() - easy_install = 'easy_install' - if os == 'debian': - easy_install = 'easy_install-2.5' - self.command += '\n'+prefix+easy_install+' -U calibre \n'+prefix+'calibre_postinstall' + class OS(dict): + """Dictionary with a default value for unknown keys.""" + def __init__(self, dict): + self.update(dict) + if not dict.has_key('img'): + self['img'] = self['name'] + + + class Download(Component): + implements(INavigationContributor, IRequestHandler, ITemplateProvider) + + request_pat = re.compile(r'\/download$|\/download_\S+') + + # INavigationContributor methods + def get_active_navigation_item(self, req): + return 'download' + + def get_navigation_items(self, req): + yield 'mainnav', 'download', Markup('Get %s'%(__appname__,)) + + def get_templates_dirs(self): + return [resource_filename(__name__, 'templates')] + + def get_htdocs_dirs(self): + return [('dl', resource_filename(__name__, 'htdocs'))] + + # IRequestHandler methods + def match_request(self, req): + return self.__class__.request_pat.match(req.path_info) + + def process_request(self, req): + add_stylesheet(req, 'dl/css/download.css') + if req.path_info == '/download': + return self.top_level(req) + elif req.path_info == '/download_linux_binary_installer': + req.send(LINUX_INSTALLER.replace('%version', self.version_from_filename()), 'text/x-python') + else: + match = re.match(r'\/download_(\S+)', req.path_info) + if match: + os = match.group(1) + if os == 'windows': + return self.windows(req) + elif os == 'osx': + return self.osx(req) + elif os == 'linux': + return self.linux(req) + elif 'binary' in os: + return self.linux_binary(req) + else: + return self.linux_distro(req, os) + + def top_level(self, req): + operating_systems = [ + OS({'name' : 'windows', 'title' : 'Windows'}), + OS({'name' : 'osx', 'title' : 'OS X'}), + OS({'name' : 'linux', 'title' : 'Linux'}), + ] + data = dict(title='Get ' + __appname__, + operating_systems=operating_systems, width=200, + font_size='xx-large', top_level=True) + return 'download.html', data, None + + def version_from_filename(self): try: - self.manual = Markup(self.MANUAL_MAP[os]) - except KeyError: - self.manual = None - else: - self.img = 'linux' + return open(DOWNLOAD_DIR+'/latest_version', 'rb').read().strip() + except: + return '0.0.0' + + def windows(self, req): + version = self.version_from_filename() + file = '%s-%s.exe'%(__appname__, version,) + data = dict(version = version, name='windows', + installer_name='Windows installer', + title='Download %s for windows'%(__appname__), + compatibility='%s works on Windows XP and Windows Vista.'%(__appname__,), + path=MOBILEREAD+file, app=__appname__, + note=Markup(\ + ''' +

    If you are using the SONY PRS-500 and %(appname)s does not detect your reader, read on:

    +
    +

    + If you are using 64-bit windows, you're out of luck. +

    +

    + There may be a conflict with the USB driver from SONY. In windows, you cannot install two drivers + for one device. In order to resolve the conflict: +

      +
    1. Start Device Manager by clicking Start->Run, typing devmgmt.msc and pressing enter.
    2. +
    3. Uninstall all PRS500 related drivers. You will find them in two locations: +
        +
      • Under "Libusb-Win32"
      • +
      • Under "Universal Serial ..." (... depends on the version of windows)
      • +
      + You can uninstall a driver by right clicking on it and selecting uninstall. +
    4. +
    5. Once the drivers have been uninstalled, find the file prs500.inf (it will be in the + driver folder in the folder in which you installed %(appname)s. Right click on it and + select Install.
    6. +
    +

    +
    + '''%dict(appname=__appname__))) + return 'binary.html', data, None + + def linux_binary(self, req): + version = self.version_from_filename() + return 'pyinstaller.html', {'app':__appname__, 'version':version}, None + + def osx(self, req): + version = self.version_from_filename() + file = 'calibre-%s.dmg'%(version,) + data = dict(version = version, name='osx', + installer_name='OS X universal dmg', + title='Download %s for OS X'%(__appname__), + compatibility='%s works on OS X Tiger and above.'%(__appname__,), + path=MOBILEREAD+file, app=__appname__, + note=Markup(\ + ''' +
      +
    1. Before trying to use the command line tools, you must run the app at least once. This will ask you for you password and then setup the symbolic links for the command line tools.
    2. +
    3. The app cannot be run from within the dmg. You must drag it to a folder on your filesystem (The Desktop, Applications, wherever).
    4. +
    5. In order for localization of the user interface in your language, select your language in the configuration dialog (by clicking the hammer icon next to the search bar) and select your language.
    6. +
    + ''')) + return 'binary.html', data, None + + def linux(self, req): + data = get_linux_data(version=self.version_from_filename()) + return 'download.html', data, None + + + LINUX_INSTALLER = r''' + import sys, os, shutil, tarfile, subprocess, tempfile, urllib2, re, stat + + MOBILEREAD='https://dev.mobileread.com/dist/kovid/calibre/' + + class TerminalController: + BOL = '' #: Move the cursor to the beginning of the line + UP = '' #: Move the cursor up one line + DOWN = '' #: Move the cursor down one line + LEFT = '' #: Move the cursor left one char + RIGHT = '' #: Move the cursor right one char + + # Deletion: + CLEAR_SCREEN = '' #: Clear the screen and move to home position + CLEAR_EOL = '' #: Clear to the end of the line. + CLEAR_BOL = '' #: Clear to the beginning of the line. + CLEAR_EOS = '' #: Clear to the end of the screen + + # Output modes: + BOLD = '' #: Turn on bold mode + BLINK = '' #: Turn on blink mode + DIM = '' #: Turn on half-bright mode + REVERSE = '' #: Turn on reverse-video mode + NORMAL = '' #: Turn off all modes + + # Cursor display: + HIDE_CURSOR = '' #: Make the cursor invisible + SHOW_CURSOR = '' #: Make the cursor visible + + # Terminal size: + COLS = None #: Width of the terminal (None for unknown) + LINES = None #: Height of the terminal (None for unknown) + + # Foreground colors: + BLACK = BLUE = GREEN = CYAN = RED = MAGENTA = YELLOW = WHITE = '' + + # Background colors: + BG_BLACK = BG_BLUE = BG_GREEN = BG_CYAN = '' + BG_RED = BG_MAGENTA = BG_YELLOW = BG_WHITE = '' + + _STRING_CAPABILITIES = """ + BOL=cr UP=cuu1 DOWN=cud1 LEFT=cub1 RIGHT=cuf1 + CLEAR_SCREEN=clear CLEAR_EOL=el CLEAR_BOL=el1 CLEAR_EOS=ed BOLD=bold + BLINK=blink DIM=dim REVERSE=rev UNDERLINE=smul NORMAL=sgr0 + HIDE_CURSOR=cinvis SHOW_CURSOR=cnorm""".split() + _COLORS = """BLACK BLUE GREEN CYAN RED MAGENTA YELLOW WHITE""".split() + _ANSICOLORS = "BLACK RED GREEN YELLOW BLUE MAGENTA CYAN WHITE".split() + + def __init__(self, term_stream=sys.stdout): + # Curses isn't available on all platforms + try: import curses + except: return + # If the stream isn't a tty, then assume it has no capabilities. + if not hasattr(term_stream, 'isatty') or not term_stream.isatty(): return + + # Check the terminal type. If we fail, then assume that the + # terminal has no capabilities. + try: curses.setupterm() + except: return + + # Look up numeric capabilities. + self.COLS = curses.tigetnum('cols') + self.LINES = curses.tigetnum('lines') + + # Look up string capabilities. + for capability in self._STRING_CAPABILITIES: + (attrib, cap_name) = capability.split('=') + setattr(self, attrib, self._tigetstr(cap_name) or '') + + # Colors + set_fg = self._tigetstr('setf') + if set_fg: + for i,color in zip(range(len(self._COLORS)), self._COLORS): + setattr(self, color, curses.tparm(set_fg, i) or '') + set_fg_ansi = self._tigetstr('setaf') + if set_fg_ansi: + for i,color in zip(range(len(self._ANSICOLORS)), self._ANSICOLORS): + setattr(self, color, curses.tparm(set_fg_ansi, i) or '') + set_bg = self._tigetstr('setb') + if set_bg: + for i,color in zip(range(len(self._COLORS)), self._COLORS): + setattr(self, 'BG_'+color, curses.tparm(set_bg, i) or '') + set_bg_ansi = self._tigetstr('setab') + if set_bg_ansi: + for i,color in zip(range(len(self._ANSICOLORS)), self._ANSICOLORS): + setattr(self, 'BG_'+color, curses.tparm(set_bg_ansi, i) or '') + + def _tigetstr(self, cap_name): + # String capabilities can include "delays" of the form "$<2>". + # For any modern terminal, we should be able to just ignore + # these, so strip them out. + import curses + cap = curses.tigetstr(cap_name) or '' + return re.sub(r'\$<\d+>[/*]?', '', cap) + + def render(self, template): + return re.sub(r'\$\$|\${\w+}', self._render_sub, template) + + def _render_sub(self, match): + s = match.group() + if s == '$$': return s + else: return getattr(self, s[2:-1]) -class Download(Component): - implements(INavigationContributor, IRequestHandler, ITemplateProvider) + class ProgressBar: + BAR = '%3d%% ${GREEN}[${BOLD}%s%s${NORMAL}${GREEN}]${NORMAL}\n' + HEADER = '${BOLD}${CYAN}%s${NORMAL}\n\n' + + def __init__(self, term, header): + self.term = term + if not (self.term.CLEAR_EOL and self.term.UP and self.term.BOL): + raise ValueError("Terminal isn't capable enough -- you " + "should use a simpler progress dispaly.") + self.width = self.term.COLS or 75 + self.bar = term.render(self.BAR) + self.header = self.term.render(self.HEADER % header.center(self.width)) + self.cleared = 1 #: true if we haven't drawn the bar yet. + + def update(self, percent, message=''): + if isinstance(message, unicode): + message = message.encode('utf-8', 'ignore') + if self.cleared: + sys.stdout.write(self.header) + self.cleared = 0 + n = int((self.width-10)*percent) + msg = message.center(self.width) + sys.stdout.write( + self.term.BOL + self.term.UP + self.term.CLEAR_EOL + + (self.bar % (100*percent, '='*n, '-'*(self.width-10-n))) + + self.term.CLEAR_EOL + msg) + sys.stdout.flush() + + def clear(self): + if not self.cleared: + sys.stdout.write(self.term.BOL + self.term.CLEAR_EOL + + self.term.UP + self.term.CLEAR_EOL + + self.term.UP + self.term.CLEAR_EOL) + self.cleared = 1 - request_pat = re.compile(r'\/download$|\/download_\S+') - - # INavigationContributor methods - def get_active_navigation_item(self, req): - return 'download' - - def get_navigation_items(self, req): - yield 'mainnav', 'download', Markup('Get %s'%(__appname__,)) - - def get_templates_dirs(self): - return [resource_filename(__name__, 'templates')] - - def get_htdocs_dirs(self): - return [('dl', resource_filename(__name__, 'htdocs'))] - - # IRequestHandler methods - def match_request(self, req): - return self.__class__.request_pat.match(req.path_info) - - def process_request(self, req): - add_stylesheet(req, 'dl/css/download.css') - if req.path_info == '/download': - return self.top_level(req) - elif req.path_info == '/download_linux_binary_installer': - req.send(LINUX_INSTALLER.replace('%version', self.version_from_filename()), 'text/x-python') - else: - match = re.match(r'\/download_(\S+)', req.path_info) - if match: - os = match.group(1) - if os == 'windows': - return self.windows(req) - elif os == 'osx': - return self.osx(req) - elif os == 'linux': - return self.linux(req) - elif 'binary' in os: - return self.linux_binary(req) - else: - return self.linux_distro(req, os) - - def linux_distro(self, req, os): - version = self.version_from_filename() - distro = Distribution(os) - data = dict(distro=distro,title=distro.title, version=version) - return 'distro.html', data, None - - def top_level(self, req): - operating_systems = [ - OS({'name' : 'windows', 'title' : 'Windows'}), - OS({'name' : 'osx', 'title' : 'OS X'}), - OS({'name' : 'linux', 'title' : 'Linux'}), - ] - data = dict(title='Get ' + __appname__, - operating_systems=operating_systems, width=200, - font_size='xx-large', top_level=True) - return 'download.html', data, None - - def version_from_filename(self): + def download_tarball(): try: - return open(DOWNLOAD_DIR+'/latest_version', 'rb').read().strip() - except: - return '0.0.0' - - def windows(self, req): - version = self.version_from_filename() - file = '%s-%s.exe'%(__appname__, version,) - data = dict(version = version, name='windows', - installer_name='Windows installer', - title='Download %s for windows'%(__appname__), - compatibility='%s works on Windows XP and Windows Vista.'%(__appname__,), - path=MOBILEREAD+file, app=__appname__, - note=Markup(\ -''' -

    If you are using the SONY PRS-500 and %(appname)s does not detect your reader, read on:

    -
    -

    -If you are using 64-bit windows, you're out of luck. -

    -

    -There may be a conflict with the USB driver from SONY. In windows, you cannot install two drivers -for one device. In order to resolve the conflict: -

      -
    1. Start Device Manager by clicking Start->Run, typing devmgmt.msc and pressing enter.
    2. -
    3. Uninstall all PRS500 related drivers. You will find them in two locations: -
        -
      • Under "Libusb-Win32"
      • -
      • Under "Universal Serial ..." (... depends on the version of windows)
      • -
      -You can uninstall a driver by right clicking on it and selecting uninstall. -
    4. -
    5. Once the drivers have been uninstalled, find the file prs500.inf (it will be in the -driver folder in the folder in which you installed %(appname)s. Right click on it and -select Install.
    6. -
    -

    -
    -'''%dict(appname=__appname__))) - return 'binary.html', data, None - - def linux_binary(self, req): - version = self.version_from_filename() - return 'pyinstaller.html', {'app':__appname__, 'version':version}, None - - def osx(self, req): - version = self.version_from_filename() - file = 'calibre-%s.dmg'%(version,) - data = dict(version = version, name='osx', - installer_name='OS X universal dmg', - title='Download %s for OS X'%(__appname__), - compatibility='%s works on OS X Tiger and above.'%(__appname__,), - path=MOBILEREAD+file, app=__appname__, - note=Markup(\ -''' -
      -
    1. Before trying to use the command line tools, you must run the app at least once. This will ask you for you password and then setup the symbolic links for the command line tools.
    2. -
    3. The app cannot be run from within the dmg. You must drag it to a folder on your filesystem (The Desktop, Applications, wherever).
    4. -
    5. In order for localization of the user interface in your language, select your language in the configuration dialog (by clicking the hammer icon next to the search bar) and select your language.
    6. -
    -''')) - return 'binary.html', data, None - - def linux(self, req): - operating_systems = [ - OS({'name' : 'binary', 'title': 'Binary Installer'}), - OS({'name' : 'gentoo', 'title': 'Gentoo'}), - OS({'name' : 'ubuntu', 'title': 'Ubuntu'}), - OS({'name' : 'fedora', 'title': 'Fedora'}), - OS({'name' : 'debian', 'title': 'Debian'}), - OS({'name' : 'generic','title': 'Install from source', 'img':'linux'}), - ] - data = dict(title='Choose linux distribution', width=100, - operating_systems=operating_systems, font_size='x-large', top_level=False) - return 'download.html', data, None - - -LINUX_INSTALLER = r''' -import sys, os, shutil, tarfile, subprocess, tempfile, urllib2, re, stat - -MOBILEREAD='https://dev.mobileread.com/dist/kovid/calibre/' - -class TerminalController: - BOL = '' #: Move the cursor to the beginning of the line - UP = '' #: Move the cursor up one line - DOWN = '' #: Move the cursor down one line - LEFT = '' #: Move the cursor left one char - RIGHT = '' #: Move the cursor right one char - - # Deletion: - CLEAR_SCREEN = '' #: Clear the screen and move to home position - CLEAR_EOL = '' #: Clear to the end of the line. - CLEAR_BOL = '' #: Clear to the beginning of the line. - CLEAR_EOS = '' #: Clear to the end of the screen - - # Output modes: - BOLD = '' #: Turn on bold mode - BLINK = '' #: Turn on blink mode - DIM = '' #: Turn on half-bright mode - REVERSE = '' #: Turn on reverse-video mode - NORMAL = '' #: Turn off all modes - - # Cursor display: - HIDE_CURSOR = '' #: Make the cursor invisible - SHOW_CURSOR = '' #: Make the cursor visible - - # Terminal size: - COLS = None #: Width of the terminal (None for unknown) - LINES = None #: Height of the terminal (None for unknown) - - # Foreground colors: - BLACK = BLUE = GREEN = CYAN = RED = MAGENTA = YELLOW = WHITE = '' - - # Background colors: - BG_BLACK = BG_BLUE = BG_GREEN = BG_CYAN = '' - BG_RED = BG_MAGENTA = BG_YELLOW = BG_WHITE = '' - - _STRING_CAPABILITIES = """ - BOL=cr UP=cuu1 DOWN=cud1 LEFT=cub1 RIGHT=cuf1 - CLEAR_SCREEN=clear CLEAR_EOL=el CLEAR_BOL=el1 CLEAR_EOS=ed BOLD=bold - BLINK=blink DIM=dim REVERSE=rev UNDERLINE=smul NORMAL=sgr0 - HIDE_CURSOR=cinvis SHOW_CURSOR=cnorm""".split() - _COLORS = """BLACK BLUE GREEN CYAN RED MAGENTA YELLOW WHITE""".split() - _ANSICOLORS = "BLACK RED GREEN YELLOW BLUE MAGENTA CYAN WHITE".split() - - def __init__(self, term_stream=sys.stdout): - # Curses isn't available on all platforms - try: import curses - except: return - - # If the stream isn't a tty, then assume it has no capabilities. - if not hasattr(term_stream, 'isatty') or not term_stream.isatty(): return - - # Check the terminal type. If we fail, then assume that the - # terminal has no capabilities. - try: curses.setupterm() - except: return - - # Look up numeric capabilities. - self.COLS = curses.tigetnum('cols') - self.LINES = curses.tigetnum('lines') - - # Look up string capabilities. - for capability in self._STRING_CAPABILITIES: - (attrib, cap_name) = capability.split('=') - setattr(self, attrib, self._tigetstr(cap_name) or '') - - # Colors - set_fg = self._tigetstr('setf') - if set_fg: - for i,color in zip(range(len(self._COLORS)), self._COLORS): - setattr(self, color, curses.tparm(set_fg, i) or '') - set_fg_ansi = self._tigetstr('setaf') - if set_fg_ansi: - for i,color in zip(range(len(self._ANSICOLORS)), self._ANSICOLORS): - setattr(self, color, curses.tparm(set_fg_ansi, i) or '') - set_bg = self._tigetstr('setb') - if set_bg: - for i,color in zip(range(len(self._COLORS)), self._COLORS): - setattr(self, 'BG_'+color, curses.tparm(set_bg, i) or '') - set_bg_ansi = self._tigetstr('setab') - if set_bg_ansi: - for i,color in zip(range(len(self._ANSICOLORS)), self._ANSICOLORS): - setattr(self, 'BG_'+color, curses.tparm(set_bg_ansi, i) or '') - - def _tigetstr(self, cap_name): - # String capabilities can include "delays" of the form "$<2>". - # For any modern terminal, we should be able to just ignore - # these, so strip them out. - import curses - cap = curses.tigetstr(cap_name) or '' - return re.sub(r'\$<\d+>[/*]?', '', cap) - - def render(self, template): - return re.sub(r'\$\$|\${\w+}', self._render_sub, template) - - def _render_sub(self, match): - s = match.group() - if s == '$$': return s - else: return getattr(self, s[2:-1]) - -class ProgressBar: - BAR = '%3d%% ${GREEN}[${BOLD}%s%s${NORMAL}${GREEN}]${NORMAL}\n' - HEADER = '${BOLD}${CYAN}%s${NORMAL}\n\n' - - def __init__(self, term, header): - self.term = term - if not (self.term.CLEAR_EOL and self.term.UP and self.term.BOL): - raise ValueError("Terminal isn't capable enough -- you " - "should use a simpler progress dispaly.") - self.width = self.term.COLS or 75 - self.bar = term.render(self.BAR) - self.header = self.term.render(self.HEADER % header.center(self.width)) - self.cleared = 1 #: true if we haven't drawn the bar yet. - - def update(self, percent, message=''): - if isinstance(message, unicode): - message = message.encode('utf-8', 'ignore') - if self.cleared: - sys.stdout.write(self.header) - self.cleared = 0 - n = int((self.width-10)*percent) - msg = message.center(self.width) - sys.stdout.write( - self.term.BOL + self.term.UP + self.term.CLEAR_EOL + - (self.bar % (100*percent, '='*n, '-'*(self.width-10-n))) + - self.term.CLEAR_EOL + msg) - sys.stdout.flush() - - def clear(self): - if not self.cleared: - sys.stdout.write(self.term.BOL + self.term.CLEAR_EOL + - self.term.UP + self.term.CLEAR_EOL + - self.term.UP + self.term.CLEAR_EOL) - self.cleared = 1 - -def download_tarball(): - try: - pb = ProgressBar(TerminalController(sys.stdout), 'Downloading calibre...') - except ValueError: - print 'Downloading calibre...' - pb = None - local = 'calibre-test.tar.bz2' - src = open(local) if os.access(local, os.R_OK) else urllib2.urlopen(MOBILEREAD+'calibre-%version-i686.tar.bz2') - if hasattr(src, 'info'): - size = int(src.info()['content-length']) - else: - src.seek(0, 2) - size = src.tell() - src.seek(0) - f = tempfile.NamedTemporaryFile() - while f.tell() < size: - f.write(src.read(4*1024)) - percent = f.tell()/float(size) - if pb is not None: - pb.update(percent) + pb = ProgressBar(TerminalController(sys.stdout), 'Downloading calibre...') + except ValueError: + print 'Downloading calibre...' + pb = None + local = 'calibre-test.tar.bz2' + src = open(local) if os.access(local, os.R_OK) else urllib2.urlopen(MOBILEREAD+'calibre-%version-i686.tar.bz2') + if hasattr(src, 'info'): + size = int(src.info()['content-length']) else: - print '%d%%, '%int(percent*100), - f.seek(0) - return f - -def extract_tarball(tar, destdir): - print 'Extracting application files...' - if hasattr(tar, 'read'): - try: - tarfile.open(fileobj=tar, mode='r').extractall(destdir) - except: # tarfile.py on Fedora 9 is buggy - subprocess.check_call(['tar', 'xjf', tar.name, '-C', destdir]) - else: - tarfile.open(tar, 'r').extractall(destdir) - -def main(): - defdir = '/opt/calibre' - destdir = raw_input('Enter the installation directory for calibre (Its contents will be deleted!)[%s]: '%defdir).strip() - if not destdir: - destdir = defdir - destdir = os.path.abspath(destdir) - if os.path.exists(destdir): - shutil.rmtree(destdir) - os.makedirs(destdir) + src.seek(0, 2) + size = src.tell() + src.seek(0) + f = tempfile.NamedTemporaryFile() + while f.tell() < size: + f.write(src.read(4*1024)) + percent = f.tell()/float(size) + if pb is not None: + pb.update(percent) + else: + print '%d%%, '%int(percent*100), + f.seek(0) + return f - f = download_tarball() + def extract_tarball(tar, destdir): + print 'Extracting application files...' + if hasattr(tar, 'read'): + try: + tarfile.open(fileobj=tar, mode='r').extractall(destdir) + except: # tarfile.py on Fedora 9 is buggy + subprocess.check_call(['tar', 'xjf', tar.name, '-C', destdir]) + else: + tarfile.open(tar, 'r').extractall(destdir) + + def main(): + defdir = '/opt/calibre' + destdir = raw_input('Enter the installation directory for calibre (Its contents will be deleted!)[%s]: '%defdir).strip() + if not destdir: + destdir = defdir + destdir = os.path.abspath(destdir) + if os.path.exists(destdir): + shutil.rmtree(destdir) + os.makedirs(destdir) + + f = download_tarball() + + print 'Extracting files to %s ...'%destdir + extract_tarball(f, destdir) + pi = os.path.join(destdir, 'calibre_postinstall') + subprocess.call(pi, shell=True) + return 0 + ''' - print 'Extracting files to %s ...'%destdir - extract_tarball(f, destdir) - pi = os.path.join(destdir, 'calibre_postinstall') - subprocess.call(pi, shell=True) - return 0 -''' diff --git a/src/calibre/trac/plugins/templates/download.html b/src/calibre/trac/plugins/templates/download.html index f0eee5de7e..97f3000810 100644 --- a/src/calibre/trac/plugins/templates/download.html +++ b/src/calibre/trac/plugins/templates/download.html @@ -6,36 +6,142 @@ xmlns:xi="http://www.w3.org/2001/XInclude"> - $title + ${title} + -

    If you have a 64bit computer, or an outdated operating system, the distribution - specific installation may not work for you. In that case, first try the binary installer. - If that also does not work, your only recourse is to try to install from source. In order - to do that you will have to install all the dependencies as well as the -dev package of PyQt4. -

    -
    -

    $title

    -
    - - - - -
    - - - - -
    - ${os['title']} -
    -
    -
    - -
    +

    ${title}

    +

    + The latest release of ${app} is ${version}. See the + Changelog for a list of new features. +

    +

    + ${app} is available in the software repositories of the following + linux distributions: + + + + + + + + + + +
    Supported distributionsUnsupported distributions
    +
    +
    + ${distro.title} +
    + ${distro.title} +
    +
    +
    +

    Binary install

    +

    + ${app} has a binary installer that has been + tested on a number of distributions on both + 32-bit and 64-bit x86 machines. To install, + copy paste the following command into a terminal + and press Enter: +

    +
    +sudo python -c "import urllib2; exec urllib2.urlopen('http://calibre.kovidgoyal.net/download_linux_binary_installer').read(); main()"
    +                            
    +

    Note

    +
      +
    • + When running the command line utilities, + they will segfault after completion. This can + be ignored. +
    • +
    • + You must have help2man and xdg-utils installed + on your system before running the installer. +
    • +
    +

    Source install

    +

    +

      +
    1. + Make sure your system has python ≥ ${dependencies[0][1]} +
    2. +
    3. + Install the various dependencies listed below +
    4. +
    5. + Run the following commands in a terminal: +
    6. +
    +
    +wget -O- http://calibre.kovidgoyal.net/downloads/${app}-${version}.tar.gz | tar xvz 
    +cd calibre*
    +python setup.py build && sudo python setup.py install
    +                                
    + Note that if your distribution does not have a + correctly compiled libunrar.so, ${app} will not + support rar files. +

    +
    +
    +

    +

    + While you wait for the download to complete, please consider + donating to support the development of ${app}. +

    +
    +
    + + + + +
    +
    +
    +

    Dependencies

    + ${app} has the following dependencies (the listed version is the minimum version) +

    + + + + + + + + +
    PackageVersion
    ${dep[0]}${dep[1]}
    diff --git a/src/cherrypy/_cpchecker.py b/src/cherrypy/_cpchecker.py index 0d98e84918..445a1f3201 100644 --- a/src/cherrypy/_cpchecker.py +++ b/src/cherrypy/_cpchecker.py @@ -58,7 +58,7 @@ class Checker(object): "specific sections. You must explicitly pass " "application config via " "cherrypy.tree.mount(..., config=app_config)") - warnings.warn(msg) + warnings.warn(msg[:5]) return def check_static_paths(self): From d65768f2d22ea374c9b8c07d5ff88b707b838500 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 11 Feb 2009 17:13:58 -0800 Subject: [PATCH 05/30] IGN:... --- src/calibre/trac/plugins/download.py | 10 +- .../trac/plugins/templates/distro.html | 68 -------- .../trac/plugins/templates/download.html | 156 +++--------------- src/calibre/trac/plugins/templates/linux.html | 147 +++++++++++++++++ .../trac/plugins/templates/pyinstaller.html | 47 ------ 5 files changed, 173 insertions(+), 255 deletions(-) delete mode 100644 src/calibre/trac/plugins/templates/distro.html create mode 100644 src/calibre/trac/plugins/templates/linux.html delete mode 100644 src/calibre/trac/plugins/templates/pyinstaller.html diff --git a/src/calibre/trac/plugins/download.py b/src/calibre/trac/plugins/download.py index 938e088447..78694588d9 100644 --- a/src/calibre/trac/plugins/download.py +++ b/src/calibre/trac/plugins/download.py @@ -114,10 +114,6 @@ else: return self.osx(req) elif os == 'linux': return self.linux(req) - elif 'binary' in os: - return self.linux_binary(req) - else: - return self.linux_distro(req, os) def top_level(self, req): operating_systems = [ @@ -172,10 +168,6 @@ else: '''%dict(appname=__appname__))) return 'binary.html', data, None - def linux_binary(self, req): - version = self.version_from_filename() - return 'pyinstaller.html', {'app':__appname__, 'version':version}, None - def osx(self, req): version = self.version_from_filename() file = 'calibre-%s.dmg'%(version,) @@ -196,7 +188,7 @@ else: def linux(self, req): data = get_linux_data(version=self.version_from_filename()) - return 'download.html', data, None + return 'linux.html', data, None LINUX_INSTALLER = r''' diff --git a/src/calibre/trac/plugins/templates/distro.html b/src/calibre/trac/plugins/templates/distro.html deleted file mode 100644 index e735c6f4ad..0000000000 --- a/src/calibre/trac/plugins/templates/distro.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - $title - - - - - -
    -

    $title

    - See the Changelog for the changes in the latest version. Note: As of 0.4.80 this install - will not work on 64-bit CPUs. Try the precompiled binary available here instead. -
    - First verify that you have a sufficiently new installation of python -
    python --version
    should return at least 2.5.1
    -

    - Make sure your python is compiled with the sqlite USE flag. -

    -
    - Run the following commands in a terminal as root -
    ${distro.command}
    -
    -

    Manual steps

    -
      - ${distro.manual} -
    -
    -
    -
    -
      -
    1. Make sure that your system has python >= 2.5
    2. -
    3. Install the various dependencies listed below: Make sure that any python packages are installed into python2.5 (e.g. setuptools, python-imaging, PyQt4, etc). You will also have to install the development versions of the packages (these packages usually have -dev added to their names).
    4. -
    5. Run the following commands in a terminal: -
      -wget -O- http://calibre.kovidgoyal.net/downloads/calibre-${version}.tar.gz | tar xvz 
      -cd calibre*
      -python setup.py build && sudo python setup.py install
      -            
    6. -
    -

    Dependencies

    - - - - - - - - -
    NameMinimum version
    ${dep[0]}${dep[1]}
    HAL0.5.10
    -
    - While you wait for the installation to complete, please consider donating to support the development of ${distro.app}. -
    -
    - - - - -
    -
    -
    - - diff --git a/src/calibre/trac/plugins/templates/download.html b/src/calibre/trac/plugins/templates/download.html index 97f3000810..f0eee5de7e 100644 --- a/src/calibre/trac/plugins/templates/download.html +++ b/src/calibre/trac/plugins/templates/download.html @@ -6,142 +6,36 @@ xmlns:xi="http://www.w3.org/2001/XInclude"> - ${title} - + $title +

    If you have a 64bit computer, or an outdated operating system, the distribution + specific installation may not work for you. In that case, first try the binary installer. + If that also does not work, your only recourse is to try to install from source. In order + to do that you will have to install all the dependencies as well as the -dev package of PyQt4. +

    +
    -

    ${title}

    -

    - The latest release of ${app} is ${version}. See the - Changelog for a list of new features. -

    -

    - ${app} is available in the software repositories of the following - linux distributions: - - - - - - - - - - -
    Supported distributionsUnsupported distributions
    -
    -
    - ${distro.title} -
    - ${distro.title} -
    -
    -
    -

    Binary install

    -

    - ${app} has a binary installer that has been - tested on a number of distributions on both - 32-bit and 64-bit x86 machines. To install, - copy paste the following command into a terminal - and press Enter: -

    -
    -sudo python -c "import urllib2; exec urllib2.urlopen('http://calibre.kovidgoyal.net/download_linux_binary_installer').read(); main()"
    -                            
    -

    Note

    -
      -
    • - When running the command line utilities, - they will segfault after completion. This can - be ignored. -
    • -
    • - You must have help2man and xdg-utils installed - on your system before running the installer. -
    • -
    -

    Source install

    -

    -

      -
    1. - Make sure your system has python ≥ ${dependencies[0][1]} -
    2. -
    3. - Install the various dependencies listed below -
    4. -
    5. - Run the following commands in a terminal: -
    6. -
    -
    -wget -O- http://calibre.kovidgoyal.net/downloads/${app}-${version}.tar.gz | tar xvz 
    -cd calibre*
    -python setup.py build && sudo python setup.py install
    -                                
    - Note that if your distribution does not have a - correctly compiled libunrar.so, ${app} will not - support rar files. -

    -
    -
    -

    -

    - While you wait for the download to complete, please consider - donating to support the development of ${app}. -

    -
    -
    - - - - -
    -
    -
    -

    Dependencies

    - ${app} has the following dependencies (the listed version is the minimum version) -

    - - - - - - - - -
    PackageVersion
    ${dep[0]}${dep[1]}
    +

    $title

    +
    + + + + +
    + + + + +
    + ${os['title']} +
    +
    +
    + +
    diff --git a/src/calibre/trac/plugins/templates/linux.html b/src/calibre/trac/plugins/templates/linux.html new file mode 100644 index 0000000000..97f3000810 --- /dev/null +++ b/src/calibre/trac/plugins/templates/linux.html @@ -0,0 +1,147 @@ + + + + + ${title} + + + + + +
    +

    ${title}

    +

    + The latest release of ${app} is ${version}. See the + Changelog for a list of new features. +

    +

    + ${app} is available in the software repositories of the following + linux distributions: + + + + + + + + + + +
    Supported distributionsUnsupported distributions
    +
    +
    + ${distro.title} +
    + ${distro.title} +
    +
    +
    +

    Binary install

    +

    + ${app} has a binary installer that has been + tested on a number of distributions on both + 32-bit and 64-bit x86 machines. To install, + copy paste the following command into a terminal + and press Enter: +

    +
    +sudo python -c "import urllib2; exec urllib2.urlopen('http://calibre.kovidgoyal.net/download_linux_binary_installer').read(); main()"
    +                            
    +

    Note

    +
      +
    • + When running the command line utilities, + they will segfault after completion. This can + be ignored. +
    • +
    • + You must have help2man and xdg-utils installed + on your system before running the installer. +
    • +
    +

    Source install

    +

    +

      +
    1. + Make sure your system has python ≥ ${dependencies[0][1]} +
    2. +
    3. + Install the various dependencies listed below +
    4. +
    5. + Run the following commands in a terminal: +
    6. +
    +
    +wget -O- http://calibre.kovidgoyal.net/downloads/${app}-${version}.tar.gz | tar xvz 
    +cd calibre*
    +python setup.py build && sudo python setup.py install
    +                                
    + Note that if your distribution does not have a + correctly compiled libunrar.so, ${app} will not + support rar files. +

    +
    +
    +

    +

    + While you wait for the download to complete, please consider + donating to support the development of ${app}. +

    +
    +
    + + + + +
    +
    +
    +

    Dependencies

    + ${app} has the following dependencies (the listed version is the minimum version) +

    + + + + + + + + +
    PackageVersion
    ${dep[0]}${dep[1]}
    +
    + + diff --git a/src/calibre/trac/plugins/templates/pyinstaller.html b/src/calibre/trac/plugins/templates/pyinstaller.html deleted file mode 100644 index f85b3b9499..0000000000 --- a/src/calibre/trac/plugins/templates/pyinstaller.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - - Download $app for Linux - - - - - -
    -

    Download $app for Linux

    -

    This binary package is compatible with most recent linux distributions running on Intel 32 bit CPUs. It needs testing on 64 bit CPUs. There have been reports of its working on some 64bit machines.

    -

    - - (Version: $version Changelog) -

    -

    To install, copy paste the following command into a terminal and press Enter: -

    -
    sudo python -c "import urllib2; exec urllib2.urlopen('http://calibre.kovidgoyal.net/download_linux_binary_installer').read(); main()"
    -

    - While you wait for the download to complete, please consider donating to support the development - of ${app}.

    -
    -
    - - - - -
    - -
    -

    Note

    -
    -
      -
    • This installer is very new and has only been tested on a couple of systems, so if you encounter - problems, please report them.
    • -
    • You shoud have help2man and xdg-utils installed on your system.
    • -
    -
    -
    - - From eec83533a915e21f7c516dd9639c2f3450f2bbc0 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 11 Feb 2009 17:15:51 -0800 Subject: [PATCH 06/30] IGN:... --- src/calibre/trac/plugins/templates/linux.html | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/calibre/trac/plugins/templates/linux.html b/src/calibre/trac/plugins/templates/linux.html index 97f3000810..50ea7facb3 100644 --- a/src/calibre/trac/plugins/templates/linux.html +++ b/src/calibre/trac/plugins/templates/linux.html @@ -10,8 +10,6 @@ \n" +"

    " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:126 msgid "Edit Meta information" @@ -3519,7 +3599,7 @@ msgid "" "do not have one, you can register " "for free!.

    " msgstr "" -"

    Zadajte vaše používateľské meno a heslo pre LibraryThing.com. " +"

    Zadajte vaše prihlasovacie meno a heslo pre LibraryThing.com. " "
    Ak ich zatiaľ nemáte, bezplatne sa zaregistrujte.

    " @@ -3580,7 +3660,7 @@ msgstr "Odstrániť označené formáty tejto knihy z databázy" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:364 msgid "Set the cover for the book from the selected format" -msgstr "" +msgstr "Obálku knihy prevziať zo zvoleného formátu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370 msgid "Reset cover to default" @@ -3593,145 +3673,145 @@ msgstr "Prevziať obálku zo servera" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:373 msgid "" "Change the username and/or password for your account at LibraryThing.com" -msgstr "" +msgstr "Zmeniť prihlasovacie meno a/alebo heslo vášho účtu LibraryThing.com" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:374 msgid "Change password" -msgstr "" +msgstr "Zmeniť heslo" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:55 msgid "Password needed" -msgstr "" +msgstr "Operácia vyžaduje heslo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:43 msgid "Aborting..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:40 msgid "You" -msgstr "" +msgstr "Vy" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:138 msgid "Custom" -msgstr "" +msgstr "Vlastné" #: /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 "Naplánované" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search" -msgstr "" +msgstr "Hľadať" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:308 msgid "%d recipes" -msgstr "" +msgstr "%d receptov" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:309 msgid "Monday" -msgstr "" +msgstr "Pondelok" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:309 msgid "Tuesday" -msgstr "" +msgstr "Utorok" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:309 msgid "Wednesday" -msgstr "" +msgstr "Streda" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:309 msgid "day" -msgstr "" +msgstr "deň" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:310 msgid "Friday" -msgstr "" +msgstr "Piatok" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:310 msgid "Saturday" -msgstr "" +msgstr "Sobota" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:310 msgid "Sunday" -msgstr "" +msgstr "Nedeľa" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:310 msgid "Thursday" -msgstr "" +msgstr "Štvrtok" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:343 msgid "Must set account information" -msgstr "" +msgstr "Operácia vyžaduje prihlasovacie údaje" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:344 msgid "This recipe requires a username and password" -msgstr "" +msgstr "Tento recept vyžaduje prihlasovacie meno a heslo" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 msgid "Created by: " -msgstr "" +msgstr "Autor: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 msgid "%d days, %d hours and %d minutes ago" -msgstr "" +msgstr "pred %d dňami, %d hodinami a %d minútami" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 msgid "Last downloaded" -msgstr "" +msgstr "Posledne prevzatý" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 msgid "Last downloaded: never" -msgstr "" +msgstr "Posledne prevzatý: nikdy" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 msgid "Schedule news download" -msgstr "" +msgstr "Naplánovať preberanie správ" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 msgid "Add a custom news source" -msgstr "" +msgstr "Pridať vlastný zdroj správ" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:775 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:779 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1086 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:809 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:813 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1122 msgid "News" -msgstr "" +msgstr "Správy" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" -msgstr "" +msgstr "Recepty" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 msgid "Schedule for download" -msgstr "" +msgstr "Plán preberania" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 msgid "title" -msgstr "" +msgstr "názov" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 msgid "description" -msgstr "" +msgstr "opis" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 msgid "author" -msgstr "" +msgstr "autor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 msgid "&Schedule for download:" -msgstr "" +msgstr "&Naplánovať preberanie:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "Every " -msgstr "" +msgstr "Každých " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "at" @@ -3742,34 +3822,38 @@ msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." msgstr "" +"Interval preberania receptu. Nastavenie na 0 spôsobí, že recept sa bude " +"preberať každú hodinu." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" -msgstr "" +msgstr " dní" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Account" -msgstr "" +msgstr "Úč&et" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 msgid "For the scheduling to work, you must leave calibre running." msgstr "" +"Ak má plánované preberanie fungovať, program calibre musí ostať spustený." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 msgid "&Download now" -msgstr "" +msgstr "&Previziať teraz" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." msgstr "" +"Mazať správy staršie ako určený počet dní. Zadaním 0 funkciu vypnete." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 msgid "Delete downloaded news older than " -msgstr "" +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 @@ -3778,206 +3862,216 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:36 msgid "contains" -msgstr "" +msgstr "obsahuje" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:37 msgid "The text to search for. It is interpreted as a regular expression." -msgstr "" +msgstr "Text, ktorý sa má hľadať. Bude interpretovaný ako regulárny výraz." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:38 msgid "" "

    Negate this match. That is, only return results that do not match " "this query." msgstr "" +"Negovať toto hľadanie, t.j. vrátiť len výsledky, ktoré sa nezhodujú " +"so zadanými podmienkami." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:39 msgid "Negate" -msgstr "" +msgstr "Negovať" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:88 msgid "Advanced Search" -msgstr "" +msgstr "Rozšírené vyhľadávanie" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:89 msgid "Find entries that have..." -msgstr "" +msgstr "Nájsť prvky, ktoré obsahujú..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:90 msgid "&All these words:" -msgstr "" +msgstr "&Všetky tieto slová:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:91 msgid "This exact &phrase:" -msgstr "" +msgstr "&Presne tento výraz:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:92 msgid "&One or more of these words:" -msgstr "" +msgstr "&Jedno alebo viac z týchto slov:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:93 msgid "But dont show entries that have..." -msgstr "" +msgstr "Ale nezobraziť prvky, ktoré obsahujú..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:94 msgid "Any of these &unwanted words:" -msgstr "" +msgstr "Akékoľvek z týchto nechcených slov:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:95 msgid "" "See the User Manual for more help" msgstr "" +"Bližšie informácie získate v Používateľskej príručke" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:123 msgid "Tag Editor" -msgstr "" +msgstr "Editor tagov" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:124 msgid "A&vailable tags" -msgstr "" +msgstr "&Dostupné tagy" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:125 msgid "" "Delete tag from database. This will unapply the tag from all books and then " "remove it from the database." msgstr "" +"Odstrániť tag z databázy. Týmto sa tag automaticky odstráni zo všetkých kníh " +"a nakoniec aj z databázy." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:127 msgid "Apply tag to current book" -msgstr "" +msgstr "Aplikovať tag na aktuálnu knihu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:129 msgid "A&pplied tags" -msgstr "" +msgstr "&Aplikované tagy" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:130 msgid "Unapply (remove) tag from current book" -msgstr "" +msgstr "Odstrániť tag z aktuálnej knihy" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:132 msgid "&Add tag:" -msgstr "" +msgstr "&Pridať tag:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:133 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 "" +"Ak tag, ktorý hľadáte nie je v zozname dostupných tagov, môžte ho tu pridať. " +"Je možné zadať viac tagov oddelených čiarkami." #: /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" msgstr "" +"Pridať tag do zoznamu dostupných tagov a aplikovať ho na aktuálnu knihu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:62 msgid "No recipe selected" -msgstr "" +msgstr "Nie je zvolený recept" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:68 msgid "The attached file: %s is a recipe to download %s." -msgstr "" +msgstr "Pripojený súbor: %s je recept na preberanie %s." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:69 msgid "Recipe for " -msgstr "" +msgstr "Recept pre " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:255 msgid "Switch to Advanced mode" -msgstr "" +msgstr "Prepnúť do rozšíreného režimu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:99 msgid "Switch to Basic mode" -msgstr "" +msgstr "Prepnúť do základného režimu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:109 msgid "Feed must have a title" -msgstr "" +msgstr "Zdroj musí mať názov" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:110 msgid "The feed must have a title" -msgstr "" +msgstr "Zdroj musí mať názov" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:114 msgid "Feed must have a URL" -msgstr "" +msgstr "Zdroj musí mať URL" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:115 msgid "The feed %s must have a URL" -msgstr "" +msgstr "Zdroj %s musí mať URL" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:120 msgid "Already exists" -msgstr "" +msgstr "Už existuje" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:121 msgid "This feed has already been added to the recipe" -msgstr "" +msgstr "Tento zdroj bol už do receptu pridaný" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:171 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:228 msgid "Invalid input" -msgstr "" +msgstr "Neplatný vstup" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:172 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:229 msgid "

    Could not create recipe. Error:
    %s" -msgstr "" +msgstr "

    Nebolo možné vytvoriť recept. Chyba:
    %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:178 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:210 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:234 msgid "Replace recipe?" -msgstr "" +msgstr "Nahradiť recept?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:211 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:235 msgid "A custom recipe named %s already exists. Do you want to replace it?" -msgstr "" +msgstr "Recept s názvom %s už existuje. Chcete ho nahradiť?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 msgid "Pick recipe" -msgstr "" +msgstr "Zvoľte recept" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 msgid "Pick the recipe to customize" -msgstr "" +msgstr "Vyberte recept, ktorý si želáte upraviť" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Choose a recipe file" -msgstr "" +msgstr "Vyberte súbor s receptom" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:248 msgid "Add custom news source" -msgstr "" +msgstr "Pridať vlastný zdroj noviniek" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:249 msgid "Available user recipes" -msgstr "" +msgstr "Dostupné vlastné recepty" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:250 msgid "Add/Update &recipe" -msgstr "" +msgstr "Pridať/aktualizovať &recept" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:251 msgid "&Remove recipe" -msgstr "" +msgstr "&Odstrániť recept" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:252 msgid "&Share recipe" -msgstr "" +msgstr "&Zdieľať recept" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:253 msgid "Customize &builtin recipe" -msgstr "" +msgstr "Upraviť &vstavaný recept" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:254 msgid "&Load recipe from file" -msgstr "" +msgstr "Otvoriť recept zo &súboru" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:256 msgid "" @@ -3992,61 +4086,74 @@ msgid "" "use the \"Advanced mode\" to further customize the fetch " "process.

    " msgstr "" +"\n" +"

    Základný recept vytvoríte " +"tak, že doň pridáte RSS zdroje.
    Pre väčšinu zdrojov budete musieť " +"použiť \"rozšírený režim\" na ďalšie úpravy procesu " +"preberania.

    " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:260 msgid "Recipe &title:" -msgstr "" +msgstr "&Názov receptu:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:261 msgid "&Oldest article:" -msgstr "" +msgstr "&Najstraší článok" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:262 msgid "The oldest article to download" -msgstr "" +msgstr "Najstarší článok, ktorý sa má prevziať" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:264 msgid "&Max. number of articles per feed:" -msgstr "" +msgstr "&Max. počet článkov na zdroj:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:265 msgid "Maximum number of articles to download per feed." -msgstr "" +msgstr "Maximálny počet článkov, ktoré sa majú prevziať pre každý zdroj." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:266 msgid "Feeds in recipe" -msgstr "" +msgstr "Zdroje v recepte" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:268 msgid "Remove feed from recipe" -msgstr "" +msgstr "Odstrániť zdroj z receptu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:271 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:274 msgid "Add feed to recipe" -msgstr "" +msgstr "Pridať zdroj do receptu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:272 msgid "&Feed title:" -msgstr "" +msgstr "&Názov zdroja:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:273 msgid "Feed &URL:" -msgstr "" +msgstr "&URL zdroja:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:275 msgid "&Add feed" -msgstr "" +msgstr "&Pridať zdroj" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:276 msgid "" "For help with writing advanced news recipes, please visit User Recipes" msgstr "" +"Viac informácií o písaní pokročilých receptov nájdete v príručke Vlastné " +"recepty" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:277 msgid "Recipe source code (python)" -msgstr "" +msgstr "Zdrojový kód receptu (python)" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:97 msgid "" @@ -4074,27 +4181,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:104 msgid "Regular &expression" -msgstr "" +msgstr "Regulárny &výraz" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:105 msgid "&Test" -msgstr "" +msgstr "&Test" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:106 msgid "File &name:" -msgstr "" +msgstr "&Názov súboru:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:107 msgid "Test" -msgstr "" +msgstr "Test" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:108 msgid "Title:" -msgstr "" +msgstr "Názov:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:109 msgid "Regular expression (?P<title>)" -msgstr "" +msgstr "Regulárny výraz (?P<title>)" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:113 @@ -4107,349 +4214,350 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:68 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:70 msgid "No match" -msgstr "" +msgstr "Žiadna zhoda" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:111 msgid "Authors:" -msgstr "" +msgstr "Autori:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:112 msgid "Regular expression (?P)" -msgstr "" +msgstr "Regulárny výraz (?P)" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:114 msgid "Series:" -msgstr "" +msgstr "Séria:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:115 msgid "Regular expression (?P)" -msgstr "" +msgstr "Regulárny výraz (?P)" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:117 msgid "Series index:" -msgstr "" +msgstr "Poradie v sérii:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:118 msgid "Regular expression (?P)" -msgstr "" +msgstr "Regulárny výraz (?P)" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:120 msgid "ISBN:" -msgstr "" +msgstr "ISBN:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:121 msgid "Regular expression (?P)" -msgstr "" +msgstr "Regulárny výraz (?P)" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:46 msgid "Job" -msgstr "" +msgstr "Úloha" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:47 msgid "Status" -msgstr "" +msgstr "Stav" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:48 msgid "Progress" -msgstr "" +msgstr "Priebeh" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:49 msgid "Running time" -msgstr "" +msgstr "Uplynulý čas" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:65 msgid "Unknown job" -msgstr "" +msgstr "Neznáma úloha" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:70 msgid "Finished" -msgstr "" +msgstr "Dokončená" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:72 msgid "Error" -msgstr "" +msgstr "Chyba" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:74 msgid "Waiting" -msgstr "" +msgstr "Čaká" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:76 msgid "Working" -msgstr "" +msgstr "Pracuje" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:172 #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:176 msgid "Cannot kill job" -msgstr "" +msgstr "Úlohu nemožno zastaviť" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 msgid "Cannot kill jobs that communicate with the device" -msgstr "" +msgstr "Nie je možné zastaviť úlohy, ktoré komunikujú so zariadením" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:177 msgid "Job has already run" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:105 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:972 -msgid "Size (MB)" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:106 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:973 -msgid "Date" -msgstr "" +msgstr "Úloha je už dokončená" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:966 +msgid "Size (MB)" +msgstr "Veľkosť (MB)" + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:967 +msgid "Date" +msgstr "Dátum" + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:109 msgid "Rating" -msgstr "" +msgstr "Hodnotenie" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:319 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:321 msgid "None" -msgstr "" +msgstr "Žiadne" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:327 msgid "Book %s of %s." -msgstr "" +msgstr "Kniha %s z %s." -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:734 msgid "Not allowed" -msgstr "" +msgstr "Nedovolené" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:741 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:735 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 msgid "Format" -msgstr "" +msgstr "Formát" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 -msgid "Timestamp" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1007 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1001 msgid "Search (For Advanced Search click the button to the left)" -msgstr "" +msgstr "Hľadať (pre rozšírené vyhľadávanie kliknite na tlačidlo vľavo)" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:47 msgid "Configure Viewer" -msgstr "" +msgstr "Nastavenie prehliadača" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:48 msgid "Use white background" -msgstr "" +msgstr "Biele pozadie" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:49 msgid "Hyphenate" -msgstr "" +msgstr "Delenie slov" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:50 msgid "Changes will only take effect after a restart." -msgstr "" +msgstr "Zmeny sa prejavia až po reštarte programu." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:64 msgid " - LRF Viewer" -msgstr "" +msgstr " - Prehliadač LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 msgid "No matches for the search phrase %s were found." -msgstr "" +msgstr "Pre hľadaný výraz %s neboli nájdené žiadne výsledky." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:378 msgid "No matches found" -msgstr "" +msgstr "Neboli nájdené žiadne výsledky" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:128 msgid "LRF Viewer" -msgstr "" +msgstr "Prehliadač LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:129 msgid "Parsing LRF file" -msgstr "" +msgstr "Čítanie LRF súboru" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:130 msgid "LRF Viewer toolbar" -msgstr "" +msgstr "Nástrojová lišta prehliadača LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 msgid "Next Page" -msgstr "" +msgstr "Nasledujúca strana" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 msgid "Previous Page" -msgstr "" +msgstr "Predošlá strana" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 msgid "Back" -msgstr "" +msgstr "Späť" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 msgid "Forward" -msgstr "" +msgstr "Dopredu" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:135 msgid "Next match" -msgstr "" +msgstr "Ďalší výsledok" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:162 msgid "Open ebook" -msgstr "" +msgstr "Otvoriť elektronickú knihu" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:137 msgid "Configure" -msgstr "" +msgstr "Nastavenie" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:89 msgid "Error communicating with device" -msgstr "" +msgstr "Chyba komunikácie so zariadením" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 +msgid "&Restore" +msgstr "&Obnoviť" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 -msgid "&Restore" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:103 msgid "&Donate to support calibre" -msgstr "" +msgstr "&Prispejte na vývoj calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:105 msgid "&Restart" -msgstr "" +msgstr "&Reštartovať" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:136 msgid "" "

    For help visit %s.kovidgoyal.net
    " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:137 msgid "%s: %s by Kovid Goyal %%(version)s
    %%(device)s

    " msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:157 +msgid "Send to main memory" +msgstr "Uložiť do hlavnej pamäte" + #: /home/kovid/work/calibre/src/calibre/gui2/main.py:156 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:158 -msgid "Send to main memory" -msgstr "" +msgid "Send to storage card" +msgstr "Uložiť na pamäťovú kartu" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:159 -msgid "Send to storage card" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/main.py:158 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:159 msgid "and delete from library" -msgstr "" +msgstr "a zmazať z knižnice" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:160 msgid "Send to storage card by default" msgstr "Ukladať prednostne na pamäťovú kartu" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Edit metadata individually" -msgstr "" +msgstr "Upraviť metadáta individuálne" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:171 msgid "Edit metadata in bulk" -msgstr "" +msgstr "Upraviť metadáta dávkovo" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:174 +msgid "Add books from a single directory" +msgstr "Pridať knihy z jedného adresára" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:175 -msgid "Add books from a single directory" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:176 msgid "" "Add books from directories, including sub-directories (One book per " "directory, assumes every ebook file is the same book in a different format)" msgstr "" +"Pridať knihy z adresárov, vrátane podadresárov (predpokladá sa, že každý " +"adresár predstavuje jednu knihu a súbory v ňom sú rôzne formáty tej istej " +"knihy)" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:176 msgid "" "Add books from directories, including sub directories (Multiple books per " "directory, assumes every ebook file is a different book)" msgstr "" +"Pridať knihy z adresárov, vrátane podadresárov (viacero kníh na adresár, " +"t.j. predpokladá sa, že každý súbor je iná kniha)" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:353 msgid "Save to disk" -msgstr "" +msgstr "Uložiť na disk" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 +msgid "Save to disk in a single directory" +msgstr "Uložiť na disk v jednom adresári" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:193 -msgid "Save to disk in a single directory" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:194 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1280 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1248 msgid "Save only %s format to disk" -msgstr "" +msgstr "Uložiť len formát %s na disk" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:359 msgid "View" -msgstr "" +msgstr "Prezrieť" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:197 msgid "View specific format" -msgstr "" +msgstr "Prezrieť určitý formát" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:214 +msgid "Convert individually" +msgstr "Previesť individuálne" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:215 -msgid "Convert individually" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:216 msgid "Bulk convert" -msgstr "" +msgstr "Previesť dávkovo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:217 msgid "Set defaults for conversion" msgstr "Štandardné nastavenie prevodu" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:218 msgid "Set defaults for conversion of comics" msgstr "Štandardné nastavenie prevodu komiksov" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:240 msgid "Similar books..." -msgstr "" +msgstr "Podobné knihy..." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:288 msgid "Bad database location" -msgstr "" +msgstr "Neplatné umiestnenie databázy" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:291 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1388 msgid "Choose a location for your ebook library." -msgstr "" +msgstr "Zvoľte umiestnenie pre vašu elektronickú knižnicu." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:440 msgid "Browse by covers" -msgstr "" +msgstr "Prehliadať obálky" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:529 +msgid "Device: " +msgstr "Zariadenie: " #: /home/kovid/work/calibre/src/calibre/gui2/main.py:530 -msgid "Device: " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:531 msgid " detected." -msgstr "" +msgstr " nájdené." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:553 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:552 msgid "Connected " -msgstr "" +msgstr "Pripojené " + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:563 +msgid "Device database corrupted" +msgstr "Databáza zariadenia je poškodená" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:564 -msgid "Device database corrupted" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:565 msgid "" "\n" "

    The database of books on the reader is corrupted. Try the " @@ -4464,313 +4572,306 @@ msgid "" " \n" " " msgstr "" +"\n" +"

    Databáza kníh v zariadení je poškodená. Skúste nasledovný " +"postup:\n" +"

      \n" +"
    1. Odpojte zariadenie. Počkajte kým obnoví databázu (t.j. " +"kým nebude pripravené na použitie). Znovu ho zapojte. Potom by malo fungovať " +"s %(app)s. Ak nie, skúste nasledovný krok.
    2. \n" +"
    3. Zatvorte %(app)s. Nájdite súbor media.xml v hlavnej " +"pamäti zariadenia a zmažte ho. Odpojte zariadenie. Počkajte kým súbor " +"zregeneruje. Zariadenie znovu pripojte a spustite %(app)s.
    4. \n" +"
    \n" +" " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:614 -msgid "Adding books recursively..." -msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:707 +msgid "Uploading books to device." +msgstr "Odosielam knihy do zariadenia." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 -msgid "Added " -msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:663 +msgid "Books" +msgstr "Knihy" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 -msgid "Searching..." -msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:664 +msgid "EPUB Books" +msgstr "EPUB knihy" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:629 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:735 -msgid "" -"

    Books with the same title as the following already exist in the database. " -"Add them anyway?

      " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:738 -msgid "Duplicates found!" -msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:665 +msgid "LRF Books" +msgstr "LRF knihy" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:666 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:690 -msgid "Uploading books to device." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:674 -msgid "Books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:675 -msgid "EPUB Books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:676 -msgid "LRF Books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:677 msgid "HTML Books" -msgstr "" +msgstr "HTML knihy" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:667 msgid "LIT Books" -msgstr "" +msgstr "LIT knihy" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:668 msgid "MOBI Books" -msgstr "" +msgstr "MOBI knihy" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:680 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:669 msgid "Text books" -msgstr "" +msgstr "TXT knihy" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:681 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:670 msgid "PDF Books" -msgstr "" +msgstr "PDF knihy" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:671 msgid "Comics" -msgstr "" +msgstr "Komiksy" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:683 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:672 msgid "Archives" -msgstr "" +msgstr "Archívy" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:699 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:693 msgid "Adding books..." -msgstr "" +msgstr "Pridávam knihy..." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:699 -msgid "Reading metadata..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:724 -msgid "Read metadata from " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:728 -msgid "Adding books to database..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:771 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:735 msgid "No space on device" -msgstr "" +msgstr "Prekročená kapacita zariadenia" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:736 msgid "" "

      Cannot upload books to device there is no more free space available " msgstr "" +"

      Knihy nie je možné odoslať do zariadenia pre nedostatok voľného úložného " +"priestoru " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:768 msgid "" "The selected books will be permanently deleted and the files removed " "from your computer. Are you sure?" msgstr "" +"Označené knihy budú permanentne zmazané a súbory budú odstránené z " +"vášho počítača. Určite ich chcete odstrániť?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:813 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:780 msgid "Deleting books from device." -msgstr "" +msgstr "Mažem knihy zo zariadenia." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:844 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:811 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:836 msgid "Cannot edit metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:844 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:869 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:994 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1073 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:811 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:836 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:962 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1041 msgid "No books selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:887 msgid "Sending news to device." -msgstr "" +msgstr "Odosielam správy do zariadenia." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:973 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:941 msgid "Sending books to device." -msgstr "" +msgstr "Odosielam knihy do zariadenia." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:976 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:944 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:945 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found:

        %s
      " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:962 msgid "Cannot save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:966 msgid "Saving to disk..." -msgstr "" +msgstr "Ukladám na disk..." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1003 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:971 msgid "Saved" -msgstr "" +msgstr "Uložené" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:977 msgid "Choose destination directory" -msgstr "" +msgstr "Zvoľte cieľový adresár" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1023 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:991 msgid "" "

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

        " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1027 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:995 msgid "Could not save some ebooks" -msgstr "" +msgstr "Niektoré elektronické knihy sa nepodarilo uložiť" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1049 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1017 msgid "Fetching news from " -msgstr "" +msgstr "Preberám správy z " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1063 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1031 msgid " fetched." -msgstr "" +msgstr " prevzaté." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1184 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1202 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1214 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1182 msgid "No book selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1184 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1214 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Cannot view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1190 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1237 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1158 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1205 msgid "Choose the format to view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1202 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1170 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1233 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1201 msgid "%s has no available formats." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1239 msgid "Cannot configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1239 msgid "Cannot configure while there are running jobs." msgstr "" +"Nastavenia nie je možné zmeniť, kým neprebehne spracovanie všetkých úloh." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1289 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1257 msgid "Copying database" -msgstr "" +msgstr "Kopírujem databázu" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1291 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1259 msgid "Copying library to " -msgstr "" +msgstr "Kopírujem databázu do " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1301 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1269 msgid "Invalid database" -msgstr "" +msgstr "Neplatná alebo poškodená databáza" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1302 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1270 msgid "" "

        An invalid database already exists at %s, delete it before trying to move " "the existing database.
        Error: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1276 msgid "Could not move database" -msgstr "" +msgstr "Nepodarilo sa presunúť databázu" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1328 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1296 msgid "No detailed info available" -msgstr "" +msgstr "Bližšie informácie nie sú dostupné" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1329 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1297 msgid "No detailed information is available for books on the device." -msgstr "" +msgstr "Bližšie informácie o knihách v tomto zariadení nie sú dostupné" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1372 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1340 msgid "Error talking to device" -msgstr "" +msgstr "Chyba komunikácie so zariadením" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1341 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." msgstr "" +"Dočasná chyba komunikácie so zariadením. Prosím odpojte a znovu pripojte " +"zariadenie a/alebo reštartujte počítač." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1386 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1401 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1405 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1354 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1369 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1373 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1387 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1355 msgid "" "

        Could not convert: %s

        It is a DRMed book. You must " "first remove the DRM using 3rd party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1457 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1432 msgid "" "is the result of the efforts of many volunteers from all over the world. If " "you find it useful, please consider donating to support its development." msgstr "" +"je výsledkom snahy mnohých dobrovoľníkov z celého sveta. Ak je pre vás " +"užitočný, prosím zvážte možnosť príspevku na jeho vývoj." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1479 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 msgid "There are active jobs. Are you sure you want to quit?" -msgstr "" +msgstr "Prebieha spracovanie úloh. Určite chcete program ukončiť?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1481 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 msgid "" " is communicating with the device!
        \n" " 'Quitting may cause corruption on the device.
        \n" " 'Are you sure you want to quit?" msgstr "" +" komunikuje so zariadením!
        \n" +" 'Skončenie programu by mohlo spôsobiť poškodenie dát v " +"zariadení.
        \n" +" 'Určite chcete program ukončiť?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1485 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1460 msgid "WARNING: Active jobs" -msgstr "" +msgstr "UPOZORNENIE: Prebieha spracovanie úloh" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1519 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1494 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." msgstr "" +"bude ďalej bežať v systémovej lište. Ak si želáte ho ukončiť, z kontextového " +"menu ikony v systémovej lište zvoľte položku Ukončiť." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1536 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1511 msgid "" "Latest version: %s" msgstr "" +"Najnovšia verzia: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1516 msgid "" "%s has been updated to version %s. See the new features. " "Visit the download page?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1516 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1556 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1531 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1558 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1533 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1560 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "Log debugging information to console" msgstr "" @@ -5510,20 +5611,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1182 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "

        Copying books to %s

        " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1195 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1304 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1343 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1275 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1314 msgid "

        Migrating old database to ebook library in %s

        " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1321 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1360 msgid "Compacting database" msgstr "" @@ -5584,7 +5685,7 @@ msgstr "Štandardný výstupný formát pre prevody kníh." #: /home/kovid/work/calibre/src/calibre/utils/config.py:545 msgid "Read metadata from files" -msgstr "" +msgstr "Čítať metadáta zo súborov" #: /home/kovid/work/calibre/src/calibre/utils/config.py:547 msgid "The priority of worker processes" @@ -5846,6 +5947,7 @@ msgid "Article download failed: %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1000 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pobjeda.py:84 msgid "Fetching feed" msgstr "" @@ -5882,6 +5984,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -5894,7 +5997,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_guardian.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers.py:13 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:80 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_joelonsoftware.py:15 @@ -5925,6 +6030,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_smh.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_spiegel_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_st_petersburg_times.py:20 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_starbulletin.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_telegraph_uk.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_teleread.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_age.py:19 @@ -5953,6 +6059,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:49 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:60 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:58 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pobjeda.py:20 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_politika.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_vijesti.py:60 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_vreme.py:108 msgid "Serbian" @@ -5986,6 +6094,10 @@ msgstr "" msgid "German" msgstr "" +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_jutarnji.py:23 +msgid "Croatian" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:452 msgid "" "%prog URL\n" diff --git a/src/calibre/translations/sl.po b/src/calibre/translations/sl.po index 65aab571a5..f0830e6554 100644 --- a/src/calibre/translations/sl.po +++ b/src/calibre/translations/sl.po @@ -6,14 +6,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.17\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-08 21:09+0000\n" +"POT-Creation-Date: 2009-02-11 03:58+0000\n" "PO-Revision-Date: 2009-01-19 08:55+0000\n" "Last-Translator: Janko Slatenšek \n" "Language-Team: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-02-09 05:36+0000\n" +"X-Launchpad-Export-Date: 2009-02-13 19:24+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" @@ -23,10 +23,10 @@ msgstr "Ne naredi popolnoma nič" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:498 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1014 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1030 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1032 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:499 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1015 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1031 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1033 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:77 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:81 @@ -40,24 +40,24 @@ msgstr "Ne naredi popolnoma nič" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/pdf/convert_from.py:69 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/rtf/convert_from.py:179 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/txt/convert_from.py:70 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:199 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:232 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:261 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:283 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:45 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:47 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:87 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:89 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:200 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:230 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:233 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:263 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:287 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:51 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:53 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:93 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:95 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:145 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:334 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:449 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:849 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:851 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -65,6 +65,8 @@ msgstr "Ne naredi popolnoma nič" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1153 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 @@ -73,24 +75,23 @@ msgstr "Ne naredi popolnoma nič" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:121 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:364 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:900 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:717 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:962 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:965 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:894 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:930 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:933 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:257 -#: /home/kovid/work/calibre/src/calibre/library/database.py:920 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1405 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1434 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1468 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1594 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:466 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:831 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:864 +#: /home/kovid/work/calibre/src/calibre/library/database.py:916 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:472 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:484 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:865 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:900 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1201 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1452 #: /home/kovid/work/calibre/src/calibre/library/server.py:315 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" @@ -174,11 +175,11 @@ msgstr "" msgid "No valid plugin found in " msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:184 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:185 msgid "Initialization of plugin %s failed with traceback:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:261 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:262 msgid "" " %prog options\n" " \n" @@ -186,34 +187,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:267 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:268 msgid "Add a plugin by specifying the path to the zip file containing it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:269 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:270 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:271 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:272 msgid "" "Customize plugin. Specify name of plugin and customization string separated " "by a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:273 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:274 msgid "List all installed plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:275 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:276 msgid "Enable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:277 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:278 msgid "Disable the named plugin" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:41 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:385 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 msgid "The reader has no storage card connected." msgstr "Reader nima vstavljene spominske kartice." @@ -231,9 +232,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:140 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:168 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:196 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:192 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:228 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:255 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:195 +#: /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 "Zaznava diska v pogonu %s ni mogoča. Poskusite s ponovnim zagonom." @@ -465,11 +466,11 @@ msgid "" "formats are: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:103 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:105 msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:225 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:227 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -480,14 +481,14 @@ msgid "" "the element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:476 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:478 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:613 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:498 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1117 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:500 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1118 msgid "You must specify an input HTML file" msgstr "Izbrati morate vhodno HTML datoteko" @@ -506,25 +507,25 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:510 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:511 msgid "Written processed HTML to " msgstr "Obdelane HTML datoteke so zapisane v " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:898 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:899 msgid "Options to control the traversal of HTML" msgstr "Možnosti za nadzor sprehajanja po HTML" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:905 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:906 msgid "The output directory. Default is the current directory." msgstr "Izhodni direktorij. Privzeti je trenutni direktorij." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:907 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:908 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:560 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" "Kodna tabela znakov za HTML datoteke. Privzeto je samodejno zaznavanje." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:909 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:910 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." @@ -532,11 +533,11 @@ msgstr "" "Ustvari izhodne podatke v zip datoteki. Če je izbrana ta možnost mora biti --" "output ime datoteke, ne direktorija." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:911 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:912 msgid "Control the following of links in HTML files." msgstr "Nadzira sledeče povezave v HTML datotekah." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:913 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:914 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" @@ -544,7 +545,7 @@ msgstr "" "Po povezavah v HTML datoteki se sprehodi najprej po širini. Običajno se " "najprej sprehodi po globini" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:915 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:916 msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" "negative. 0 implies that no links in the root HTML file are followed." @@ -553,49 +554,49 @@ msgstr "" "biti pozitivna vrednost. 0 pomeni da se ne sledi nobeni povezavi v osnovni " "HTML datoteki." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:917 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:918 msgid "Set metadata of the generated ebook" msgstr "Nastavi meta podatke od generirane eknjige" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:919 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 msgid "Set the title. Default is to autodetect." msgstr "Nastavi naslov. Privzeto je samodejno zaznavanje." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:921 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:922 msgid "The author(s) of the ebook, as a & separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:923 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:924 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:925 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:926 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:928 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:930 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:932 msgid "Options useful for debugging" msgstr "Možnosti koristne za razhroščevanje" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:934 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:936 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "Izhodni HTML je \"lepo oblikovan\" za lažje analiziranje" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -616,7 +617,7 @@ msgid "%prog [options] LITFILE" msgstr "%prog [options] LITFILE" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:503 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:506 msgid "Output directory. Defaults to current directory." msgstr "Izhodni direktorij. Privzet je trenutni direktorij." @@ -631,7 +632,7 @@ msgid "Useful for debugging." msgstr "Koristno za razhroščevanje." #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:872 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:530 msgid "OEB ebook created in" msgstr "OEB eknjiga ustvarjena v" @@ -673,9 +674,9 @@ msgid "Sort key for the author" msgstr "Sortirni ključ za avtorja" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:284 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:110 msgid "Publisher" msgstr "Založnik" @@ -1409,7 +1410,7 @@ msgid "Extract thumbnail from LRF file" msgstr "Pridobi thumbnail iz LRF datoteke" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:606 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:182 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:188 msgid "Set the publisher" msgstr "" @@ -1526,61 +1527,66 @@ msgstr "Nastavi avtorje" msgid "Set the comment" msgstr "Nastavi opombe" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:286 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:36 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:103 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:359 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:970 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:964 msgid "Title" msgstr "Naslov" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:104 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:364 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:971 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:965 msgid "Author(s)" msgstr "Avtor(ji)" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:285 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:289 msgid "Producer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:489 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:357 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:322 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "Opombe" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:109 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:309 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:910 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:974 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:968 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Tags" msgstr "Značke" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:290 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:110 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:294 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Series" msgstr "Serija" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:295 msgid "Language" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:297 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:903 +msgid "Timestamp" +msgstr "Časovna znamka" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:202 msgid "A comma separated list of tags to set" msgstr "Z vejico ločen seznam značk, ki se nastavi" @@ -1655,7 +1661,11 @@ msgstr "Naslov iskane knjige." msgid "The publisher of the book to search for." msgstr "Založnik iskane knjige." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:47 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:46 +msgid "LibraryThing.com timed out. Try again later." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:53 msgid "" "Could not fetch cover as server is experiencing high load. Please try again " "later." @@ -1663,16 +1673,16 @@ msgstr "" "Prenos naslovne strani ni uspel ker je strežnik preobremenjen. Prosim " "poskusite kasneje." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:48 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:54 msgid " not found." msgstr " ni najden." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:82 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:57 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:88 msgid "LibraryThing.com server error. Try again later." msgstr "Napaka LibraryThing.com strežnika. Ponovno poskusite kasneje." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:60 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:66 msgid "" "\n" "%prog [options] ISBN\n" @@ -1689,23 +1699,23 @@ msgid "Usage: %s file.lit" msgstr "Uporaba: %s datoteka.lit" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:233 msgid "Cover saved to" msgstr "Naslovnica shranjena v" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:178 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:184 msgid "Set the subject tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:180 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:186 msgid "Set the language" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:190 msgid "Set the ISBN" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1012 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1014 msgid "Set the dc:language field" msgstr "" @@ -1721,11 +1731,11 @@ msgstr "Uporaba: rb-meta datoteka.rb" msgid "Creating Mobipocket file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:501 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:504 msgid "%prog [options] myebook.mobi" msgstr "%prog [options] mojaeknjiga.mobi" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:528 msgid "Raw MOBI HTML saved in" msgstr "Neobdelan MOBI HTML shranjen v" @@ -1892,97 +1902,142 @@ msgid "" "\t" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Frequently used directories" msgstr "Pogosto rabljeni direktoriji" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 msgid "The format to use when saving single files to disk" msgstr "Format, ki se uporablja pri shranjevanju posameznih datotek na disk" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 msgid "Confirm before deleting" msgstr "Potrdite pred brisanjem" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 msgid "Toolbar icon size" msgstr "Velikost ikon v orodni vrstici" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 msgid "Show button labels in the toolbar" msgstr "Prikaži tekstovne oznake v orodni vrstici" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 msgid "Main window geometry" msgstr "Geometrija glavnega okna" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 msgid "Notify when a new version is available" msgstr "Opozori me kadar je na voljo nova verzija" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 msgid "Use Roman numerals for series number" msgstr "Uporabi rimska števila za številke serij" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 msgid "Sort tags list by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 msgid "Number of covers to show in the cover browsing mode" msgstr "Število naslovnic, ki se pokažejo v cover browsing mode" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 msgid "Defaults for conversion to LRF" msgstr "Privzete nastavitve za pretvorbo v LRF" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 msgid "Options for the LRF ebook viewer" msgstr "Možnosti za pregledovalnik LRF eknjig" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 msgid "Show system tray icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:61 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:63 msgid "Delete books from library after uploading to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:65 msgid "" "Show the cover flow in a separate window instead of in the main calibre " "window" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:67 msgid "Disable notifications from the system tray icon" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:87 +msgid "Added %s to library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:156 +msgid "Read metadata from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:212 +msgid "" +"

        Books with the same title as the following already exist in the database. " +"Add them anyway?

          " +msgstr "" +"

          Knjige z istim naslovom že obstajajo v bazi. Jih vseeno dodam?

            " + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:217 +msgid "Duplicates found!" +msgstr "Duplikati najdeni!" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:140 +msgid "Adding books recursively..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:141 +msgid "Searching for books in all sub-directories..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:170 +msgid "Adding books to database..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:694 +msgid "Reading metadata..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:186 +msgid "Searching in" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/device.py:72 msgid "Device no longer connected." msgstr "Naprava ni več priklopljena." @@ -2018,8 +2073,8 @@ msgstr "Poglej knjigo na napravi" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:86 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:316 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:899 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "Pot" @@ -2028,7 +2083,7 @@ msgstr "Pot" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:315 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:317 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Formats" @@ -2201,7 +2256,7 @@ msgid "Access log:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:345 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:401 msgid "Failed to start content server" msgstr "" @@ -2627,7 +2682,7 @@ msgid " is not a valid picture" msgstr " ni veljavna slika" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1073 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1041 msgid "Cannot convert" msgstr "Pretvorba ni možna" @@ -3429,7 +3484,7 @@ msgstr "Spremeni geslo" msgid "Password needed" msgstr "Potrebno je geslo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:43 msgid "Aborting..." msgstr "" @@ -3523,9 +3578,9 @@ msgstr "Dodaj vir novic po meri" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:775 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:779 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1086 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:809 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:813 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1122 msgid "News" msgstr "" @@ -4025,49 +4080,45 @@ msgstr "Ne morem prekiniti poslov, ki komunicirajo z napravo" msgid "Job has already run" msgstr "Posel je že bil pognan" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:105 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:972 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:966 msgid "Size (MB)" msgstr "Velikost (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:106 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:973 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:967 msgid "Date" msgstr "Datum" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:109 msgid "Rating" msgstr "Ocena" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:319 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:321 msgid "None" msgstr "Nič" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:327 msgid "Book %s of %s." msgstr "Knjiga %s od %s." -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:734 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:741 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:735 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 msgid "Format" msgstr "Format" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 -msgid "Timestamp" -msgstr "Časovna znamka" - -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1007 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1001 msgid "Search (For Advanced Search click the button to the left)" msgstr "Najdi (Za Napredno Iskanje pritisnite gumb na levi)" @@ -4143,23 +4194,23 @@ msgstr "Odpri eknjigo" msgid "Configure" msgstr "Nastavi" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:89 msgid "Error communicating with device" msgstr "Napaka pri komuniciranju z napravo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:105 msgid "&Restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:136 msgid "" "

            For help visit %s.kovidgoyal.net
            " @@ -4167,126 +4218,126 @@ msgstr "" "

            Za pomoč obiščite %s.kovidgoyal.net
            " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:137 msgid "%s: %s by Kovid Goyal %%(version)s
            %%(device)s

            " msgstr "%s: %s by Kovid Goyal %%(version)s
            %%(device)s

            " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:156 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:157 msgid "Send to main memory" msgstr "Pošlji v glavni pomnilnik" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:158 msgid "Send to storage card" msgstr "Pošlji v spominsko kartico" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:157 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:158 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:159 msgid "and delete from library" msgstr "in izbriši iz knjižnice" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:160 msgid "Send to storage card by default" msgstr "Privzeto pošlji v spominsko kartico" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Edit metadata individually" msgstr "Posamično urejanje meta podatkov" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:171 msgid "Edit metadata in bulk" msgstr "Paketno urejanje meta podatkov" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:174 msgid "Add books from a single directory" msgstr "Dodaj knjige iz enega direktorija" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:175 msgid "" "Add books from directories, including sub-directories (One book per " "directory, assumes every ebook file is the same book in a different format)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:176 msgid "" "Add books from directories, including sub directories (Multiple books per " "directory, assumes every ebook file is a different book)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:353 msgid "Save to disk" msgstr "Shrani na disk" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 msgid "Save to disk in a single directory" msgstr "Shrani na disk v en direktorij" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:194 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1280 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1248 msgid "Save only %s format to disk" msgstr "Shrani samo %s format na disk" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:359 msgid "View" msgstr "Poglej" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:197 msgid "View specific format" msgstr "Poglej specifičen format" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:214 msgid "Convert individually" msgstr "Posamična pretvorba" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:215 msgid "Bulk convert" msgstr "Paketna pretvorba" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:217 msgid "Set defaults for conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:218 msgid "Set defaults for conversion of comics" msgstr "Nastavi privzete možnosti za pretvorbo stripov" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:240 msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:288 msgid "Bad database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:291 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1388 msgid "Choose a location for your ebook library." msgstr "Izberite lokacijo za vašo eKnjižnico." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:440 msgid "Browse by covers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:530 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:529 msgid "Device: " msgstr "Naprava: " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:530 msgid " detected." msgstr " zaznan." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:553 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:552 msgid "Connected " msgstr "Povezan " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:564 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:563 msgid "Device database corrupted" msgstr "Podatkovna baza poškodovana" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:565 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:564 msgid "" "\n" "

            The database of books on the reader is corrupted. Try the " @@ -4316,137 +4367,100 @@ msgstr "" " \n" " " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:614 -msgid "Adding books recursively..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 -msgid "Added " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 -msgid "Searching..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:629 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:735 -msgid "" -"

            Books with the same title as the following already exist in the database. " -"Add them anyway?

              " -msgstr "" -"

              Knjige z istim naslovom že obstajajo v bazi. Jih vseeno dodam?

                " - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:738 -msgid "Duplicates found!" -msgstr "Duplikati najdeni!" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:666 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:690 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:707 msgid "Uploading books to device." msgstr "Prenašanje knjig na napravo." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:674 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:663 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:664 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:676 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:665 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:666 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:667 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:668 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:680 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:669 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:681 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:670 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:671 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:683 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:672 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:699 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:693 msgid "Adding books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:699 -msgid "Reading metadata..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:724 -msgid "Read metadata from " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:728 -msgid "Adding books to database..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:771 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:735 msgid "No space on device" msgstr "Na napravi ni več prostora" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:736 msgid "" "

                Cannot upload books to device there is no more free space available " msgstr "" "

                Prenos knjig na napravo ni mogoč, ker na napravi ni dovolj prostora " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:768 msgid "" "The selected books will be permanently deleted and the files removed " "from your computer. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:813 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:780 msgid "Deleting books from device." msgstr "Izbriši knjige iz naprave." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:844 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:811 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:836 msgid "Cannot edit metadata" msgstr "Spreminjanje meta podatkov ni mogoče" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:844 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:869 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:994 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1073 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:811 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:836 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:962 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1041 msgid "No books selected" msgstr "Nobena od knjig ni izbrana." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:887 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:973 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:941 msgid "Sending books to device." msgstr "Pošlji knjige v napravo." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:976 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:944 msgid "No suitable formats" msgstr "Ni ustreznih formatov" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:945 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found:

                  %s
                " @@ -4454,23 +4468,23 @@ msgstr "" "Prenos sledečih knjig ni uspel, ker ni bil najden potreben " "format:
                  %s
                " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:962 msgid "Cannot save to disk" msgstr "Ne morem shraniti na disk" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:966 msgid "Saving to disk..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1003 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:971 msgid "Saved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:977 msgid "Choose destination directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1023 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:991 msgid "" "

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

                  " @@ -4478,64 +4492,64 @@ msgstr "" "

                  Prenos sledečih knjig na disk ni uspek, ker %s format ni na voljo " "zanje:

                    " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1027 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:995 msgid "Could not save some ebooks" msgstr "Nekaterih knjig ni bilo mogoče shraniti" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1049 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1017 msgid "Fetching news from " msgstr "Prenašam novice iz " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1063 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1031 msgid " fetched." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1184 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1202 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1214 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1182 msgid "No book selected" msgstr "Nobena od knjig ni izbrana" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1184 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1214 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Cannot view" msgstr "Pogled ni možen" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1190 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1237 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1158 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1205 msgid "Choose the format to view" msgstr "Izberite format, ki ga želite videti" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1202 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1170 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1233 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1201 msgid "%s has no available formats." msgstr "%s nima razpoložljivih formatov." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1239 msgid "Cannot configure" msgstr "Nemogoča konfiguracija" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1239 msgid "Cannot configure while there are running jobs." msgstr "Spreminjanje konfiguracije med poganjanjem poslov ni mogoče." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1289 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1257 msgid "Copying database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1291 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1259 msgid "Copying library to " msgstr "Kopiram knjižnico v " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1301 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1269 msgid "Invalid database" msgstr "Neustrezna podatkovna baza" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1302 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1270 msgid "" "

                    An invalid database already exists at %s, delete it before trying to move " "the existing database.
                    Error: %s" @@ -4543,23 +4557,23 @@ msgstr "" "

                    Neveljavna podatkovna baza že obstaja v %s, izbrišite jo preden poskusite " "premakniti obstoječo podatkovno bazo.
                    Napaka: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1276 msgid "Could not move database" msgstr "Premik podatkovne baze ni bil mogoč" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1328 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1296 msgid "No detailed info available" msgstr "Podrobne informacije niso na voljo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1329 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1297 msgid "No detailed information is available for books on the device." msgstr "Podrobne informacije za knjige na napravi niso na voljo." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1372 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1340 msgid "Error talking to device" msgstr "Napaka pri pogovoru z napravo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1341 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -4567,46 +4581,46 @@ msgstr "" "Prišlo je do napake pri komuniciranju z napravo. Prosim ponovno zaženite ali " "izklopite in ponovno vklopite napravo." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1386 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1401 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1405 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1354 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1369 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1373 msgid "Conversion Error" msgstr "Pretvorna Napaka" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1387 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1355 msgid "" "

                    Could not convert: %s

                    It is a DRMed book. You must " "first remove the DRM using 3rd party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1457 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1432 msgid "" "is the result of the efforts of many volunteers from all over the world. If " "you find it useful, please consider donating to support its development." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1479 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1481 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 msgid "" " is communicating with the device!
                    \n" " 'Quitting may cause corruption on the device.
                    \n" " 'Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1485 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1460 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1519 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1494 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1536 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1511 msgid "" "Latest version: %s" @@ -4614,7 +4628,7 @@ msgstr "" "Zadnja verzija: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1516 msgid "" "%s has been updated to version %s. See the new features. " @@ -4624,19 +4638,19 @@ msgstr "" "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">seznam " "posodobitev. Prikažem domačo stran?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1516 msgid "Update available" msgstr "Navoljo je posodobitev" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1556 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1531 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1558 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1533 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1560 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "Log debugging information to console" msgstr "" @@ -5448,20 +5462,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1182 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "

                    Copying books to %s

                    " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1195 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1304 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1343 msgid "Copying %s" msgstr "Kopiram %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1275 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1314 msgid "

                    Migrating old database to ebook library in %s

                    " msgstr "

                    Selitev stare podatkovne baze v knjižnico eknjig v %s

                    " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1321 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1360 msgid "Compacting database" msgstr "Krčim bazo" @@ -5809,6 +5823,7 @@ msgid "Article download failed: %s" msgstr "Prenos članka ni uspel: %s" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1000 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pobjeda.py:84 msgid "Fetching feed" msgstr "Prenašam feed" @@ -5845,6 +5860,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -5857,7 +5873,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_guardian.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers.py:13 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:80 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_joelonsoftware.py:15 @@ -5888,6 +5906,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_smh.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_spiegel_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_st_petersburg_times.py:20 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_starbulletin.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_telegraph_uk.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_teleread.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_age.py:19 @@ -5916,6 +5935,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:49 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:60 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:58 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pobjeda.py:20 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_politika.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_vijesti.py:60 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_vreme.py:108 msgid "Serbian" @@ -5949,6 +5970,10 @@ msgstr "" msgid "German" msgstr "" +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_jutarnji.py:23 +msgid "Croatian" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:452 msgid "" "%prog URL\n" diff --git a/src/calibre/translations/sv.po b/src/calibre/translations/sv.po index 8513e8da7d..b7b1818ffc 100644 --- a/src/calibre/translations/sv.po +++ b/src/calibre/translations/sv.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-02-08 21:09+0000\n" +"POT-Creation-Date: 2009-02-11 03:58+0000\n" "PO-Revision-Date: 2008-09-14 18:45+0000\n" "Last-Translator: Linus C Unneback \n" "Language-Team: Swedish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-02-09 05:36+0000\n" +"X-Launchpad-Export-Date: 2009-02-13 19:24+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -23,10 +23,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:498 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1014 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1030 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1032 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:499 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1015 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1031 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1033 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:77 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:81 @@ -40,24 +40,24 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/pdf/convert_from.py:69 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/rtf/convert_from.py:179 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/txt/convert_from.py:70 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:199 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:232 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:261 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:283 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:45 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:47 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:87 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:89 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:200 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:230 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:233 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:263 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:287 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:51 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:53 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:93 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:95 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:145 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:334 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:449 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:849 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:851 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -65,6 +65,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1153 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 @@ -73,24 +75,23 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:121 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:364 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:900 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:717 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:962 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:965 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:894 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:930 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:933 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:257 -#: /home/kovid/work/calibre/src/calibre/library/database.py:920 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1405 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1434 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1468 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1594 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:466 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:831 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:864 +#: /home/kovid/work/calibre/src/calibre/library/database.py:916 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:472 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:484 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:865 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:900 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1201 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1452 #: /home/kovid/work/calibre/src/calibre/library/server.py:315 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" @@ -174,11 +175,11 @@ msgstr "" msgid "No valid plugin found in " msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:184 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:185 msgid "Initialization of plugin %s failed with traceback:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:261 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:262 msgid "" " %prog options\n" " \n" @@ -186,34 +187,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:267 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:268 msgid "Add a plugin by specifying the path to the zip file containing it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:269 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:270 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:271 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:272 msgid "" "Customize plugin. Specify name of plugin and customization string separated " "by a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:273 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:274 msgid "List all installed plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:275 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:276 msgid "Enable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:277 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:278 msgid "Disable the named plugin" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:41 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:385 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 msgid "The reader has no storage card connected." msgstr "Läsaren har inga minneskort inkopplade." @@ -231,9 +232,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:140 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:168 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:196 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:192 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:228 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:255 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:195 +#: /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 "" @@ -462,11 +463,11 @@ msgid "" "formats are: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:103 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:105 msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:225 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:227 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -477,14 +478,14 @@ msgid "" "the element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:476 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:478 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:613 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:498 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1117 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:500 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1118 msgid "You must specify an input HTML file" msgstr "" @@ -503,88 +504,88 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:510 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:511 msgid "Written processed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:898 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:899 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:905 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:906 msgid "The output directory. Default is the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:907 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:908 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:560 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:909 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:910 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 "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:911 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:912 msgid "Control the following of links in HTML files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:913 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:914 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:915 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:916 msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" "negative. 0 implies that no links in the root HTML file are followed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:917 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:918 msgid "Set metadata of the generated ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:919 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 msgid "Set the title. Default is to autodetect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:921 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:922 msgid "The author(s) of the ebook, as a & separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:923 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:924 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:925 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:926 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:928 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:930 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:932 msgid "Options useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:934 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:936 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -605,7 +606,7 @@ msgid "%prog [options] LITFILE" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:503 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:506 msgid "Output directory. Defaults to current directory." msgstr "" @@ -620,7 +621,7 @@ msgid "Useful for debugging." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:872 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:530 msgid "OEB ebook created in" msgstr "" @@ -661,9 +662,9 @@ msgid "Sort key for the author" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:284 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:110 msgid "Publisher" msgstr "" @@ -1288,7 +1289,7 @@ msgid "Extract thumbnail from LRF file" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:606 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:182 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:188 msgid "Set the publisher" msgstr "" @@ -1383,61 +1384,66 @@ msgstr "" msgid "Set the comment" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:286 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:36 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:103 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:359 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:970 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:964 msgid "Title" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:104 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:364 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:971 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:965 msgid "Author(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:285 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:289 msgid "Producer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:489 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:357 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:322 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:109 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:309 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:910 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:974 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:968 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:290 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:110 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:294 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:295 msgid "Language" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:297 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:903 +msgid "Timestamp" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:202 msgid "A comma separated list of tags to set" msgstr "" @@ -1502,22 +1508,26 @@ msgstr "" msgid "The publisher of the book to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:47 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:46 +msgid "LibraryThing.com timed out. Try again later." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:53 msgid "" "Could not fetch cover as server is experiencing high load. Please try again " "later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:48 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:54 msgid " not found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:82 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:57 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:88 msgid "LibraryThing.com server error. Try again later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:60 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:66 msgid "" "\n" "%prog [options] ISBN\n" @@ -1530,23 +1540,23 @@ msgid "Usage: %s file.lit" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:233 msgid "Cover saved to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:178 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:184 msgid "Set the subject tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:180 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:186 msgid "Set the language" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:190 msgid "Set the ISBN" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1012 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1014 msgid "Set the dc:language field" msgstr "" @@ -1562,11 +1572,11 @@ msgstr "" msgid "Creating Mobipocket file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:501 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:504 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:528 msgid "Raw MOBI HTML saved in" msgstr "" @@ -1733,97 +1743,141 @@ msgid "" "\t" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Frequently used directories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 msgid "The format to use when saving single files to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 msgid "Confirm before deleting" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 msgid "Toolbar icon size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 msgid "Show button labels in the toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 msgid "Main window geometry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 msgid "Notify when a new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 msgid "Use Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 msgid "Sort tags list by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 msgid "Number of covers to show in the cover browsing mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 msgid "Defaults for conversion to LRF" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 msgid "Options for the LRF ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 msgid "Show system tray icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:61 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:63 msgid "Delete books from library after uploading to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:65 msgid "" "Show the cover flow in a separate window instead of in the main calibre " "window" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:67 msgid "Disable notifications from the system tray icon" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:87 +msgid "Added %s to library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:156 +msgid "Read metadata from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:212 +msgid "" +"

                    Books with the same title as the following already exist in the database. " +"Add them anyway?

                      " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:217 +msgid "Duplicates found!" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:140 +msgid "Adding books recursively..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:141 +msgid "Searching for books in all sub-directories..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:170 +msgid "Adding books to database..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:694 +msgid "Reading metadata..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:186 +msgid "Searching in" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/device.py:72 msgid "Device no longer connected." msgstr "" @@ -1859,8 +1913,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:86 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:316 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:899 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "" @@ -1869,7 +1923,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:315 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:317 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Formats" @@ -2042,7 +2096,7 @@ msgid "Access log:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:345 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:401 msgid "Failed to start content server" msgstr "" @@ -2466,7 +2520,7 @@ msgid " is not a valid picture" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1073 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1041 msgid "Cannot convert" msgstr "" @@ -3247,7 +3301,7 @@ msgstr "" msgid "Password needed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:43 msgid "Aborting..." msgstr "" @@ -3341,9 +3395,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:775 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:779 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1086 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:809 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:813 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1122 msgid "News" msgstr "" @@ -3834,49 +3888,45 @@ msgstr "" msgid "Job has already run" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:105 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:972 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:966 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:106 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:973 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:967 msgid "Date" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:109 msgid "Rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:319 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:321 msgid "None" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:327 msgid "Book %s of %s." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:734 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:741 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:735 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 msgid "Format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 -msgid "Timestamp" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1007 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1001 msgid "Search (For Advanced Search click the button to the left)" msgstr "" @@ -3952,148 +4002,148 @@ msgstr "" msgid "Configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:89 msgid "Error communicating with device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:105 msgid "&Restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:136 msgid "" "

                      For help visit %s.kovidgoyal.net
                      " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:137 msgid "%s: %s by Kovid Goyal %%(version)s
                      %%(device)s

                      " msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:157 +msgid "Send to main memory" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/main.py:156 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:158 -msgid "Send to main memory" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:159 msgid "Send to storage card" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:157 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:158 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:159 msgid "and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:160 msgid "Send to storage card by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Edit metadata individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:171 msgid "Edit metadata in bulk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:174 msgid "Add books from a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:175 msgid "" "Add books from directories, including sub-directories (One book per " "directory, assumes every ebook file is the same book in a different format)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:176 msgid "" "Add books from directories, including sub directories (Multiple books per " "directory, assumes every ebook file is a different book)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:353 msgid "Save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 msgid "Save to disk in a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:194 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1280 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1248 msgid "Save only %s format to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:359 msgid "View" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:197 msgid "View specific format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:214 msgid "Convert individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:215 msgid "Bulk convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:217 msgid "Set defaults for conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:218 msgid "Set defaults for conversion of comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:240 msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:288 msgid "Bad database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:291 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1388 msgid "Choose a location for your ebook library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:440 msgid "Browse by covers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:530 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:529 msgid "Device: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:530 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:553 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:552 msgid "Connected " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:564 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:563 msgid "Device database corrupted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:565 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:564 msgid "" "\n" "

                      The database of books on the reader is corrupted. Try the " @@ -4109,312 +4159,276 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:614 -msgid "Adding books recursively..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 -msgid "Added " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 -msgid "Searching..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:629 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:735 -msgid "" -"

                      Books with the same title as the following already exist in the database. " -"Add them anyway?

                        " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:738 -msgid "Duplicates found!" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:666 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:690 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:707 msgid "Uploading books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:674 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:663 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:664 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:676 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:665 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:666 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:667 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:668 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:680 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:669 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:681 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:670 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:671 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:683 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:672 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:699 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:693 msgid "Adding books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:699 -msgid "Reading metadata..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:724 -msgid "Read metadata from " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:728 -msgid "Adding books to database..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:771 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:735 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:736 msgid "" "

                        Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:768 msgid "" "The selected books will be permanently deleted and the files removed " "from your computer. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:813 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:780 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:844 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:811 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:836 msgid "Cannot edit metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:844 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:869 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:994 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1073 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:811 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:836 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:962 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1041 msgid "No books selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:887 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:973 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:941 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:976 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:944 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:945 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found:

                          %s
                        " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:962 msgid "Cannot save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:966 msgid "Saving to disk..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1003 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:971 msgid "Saved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:977 msgid "Choose destination directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1023 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:991 msgid "" "

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

                          " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1027 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:995 msgid "Could not save some ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1049 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1017 msgid "Fetching news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1063 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1031 msgid " fetched." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1184 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1202 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1214 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1182 msgid "No book selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1184 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1214 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Cannot view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1190 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1237 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1158 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1205 msgid "Choose the format to view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1202 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1170 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1233 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1201 msgid "%s has no available formats." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1239 msgid "Cannot configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1239 msgid "Cannot configure while there are running jobs." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1289 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1257 msgid "Copying database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1291 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1259 msgid "Copying library to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1301 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1269 msgid "Invalid database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1302 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1270 msgid "" "

                          An invalid database already exists at %s, delete it before trying to move " "the existing database.
                          Error: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1276 msgid "Could not move database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1328 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1296 msgid "No detailed info available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1329 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1297 msgid "No detailed information is available for books on the device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1372 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1340 msgid "Error talking to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1341 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1386 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1401 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1405 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1354 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1369 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1373 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1387 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1355 msgid "" "

                          Could not convert: %s

                          It is a DRMed book. You must " "first remove the DRM using 3rd party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1457 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1432 msgid "" "is the result of the efforts of many volunteers from all over the world. If " "you find it useful, please consider donating to support its development." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1479 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1481 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 msgid "" " is communicating with the device!
                          \n" " 'Quitting may cause corruption on the device.
                          \n" " 'Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1485 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1460 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1519 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1494 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1536 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1511 msgid "" "Latest version: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1516 msgid "" "%s has been updated to version %s. See the new features. " "Visit the download page?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1516 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1556 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1531 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1558 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1533 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1560 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "Log debugging information to console" msgstr "" @@ -5154,20 +5168,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1182 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "

                          Copying books to %s

                          " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1195 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1304 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1343 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1275 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1314 msgid "

                          Migrating old database to ebook library in %s

                          " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1321 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1360 msgid "Compacting database" msgstr "" @@ -5490,6 +5504,7 @@ msgid "Article download failed: %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1000 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pobjeda.py:84 msgid "Fetching feed" msgstr "" @@ -5526,6 +5541,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -5538,7 +5554,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_guardian.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers.py:13 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:80 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_joelonsoftware.py:15 @@ -5569,6 +5587,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_smh.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_spiegel_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_st_petersburg_times.py:20 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_starbulletin.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_telegraph_uk.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_teleread.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_age.py:19 @@ -5597,6 +5616,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:49 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:60 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:58 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pobjeda.py:20 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_politika.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_vijesti.py:60 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_vreme.py:108 msgid "Serbian" @@ -5630,6 +5651,10 @@ msgstr "" msgid "German" msgstr "" +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_jutarnji.py:23 +msgid "Croatian" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:452 msgid "" "%prog URL\n" diff --git a/src/calibre/translations/te.po b/src/calibre/translations/te.po index 361121f050..03fe2bf312 100644 --- a/src/calibre/translations/te.po +++ b/src/calibre/translations/te.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-02-08 21:09+0000\n" +"POT-Creation-Date: 2009-02-11 03:58+0000\n" "PO-Revision-Date: 2008-06-24 13:22+0000\n" "Last-Translator: వీవెన్ (Veeven) \n" "Language-Team: Telugu \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-02-09 05:36+0000\n" +"X-Launchpad-Export-Date: 2009-02-13 19:24+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -23,10 +23,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:498 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1014 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1030 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1032 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:499 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1015 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1031 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1033 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:77 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:79 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:81 @@ -40,24 +40,24 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/pdf/convert_from.py:69 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/rtf/convert_from.py:179 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/txt/convert_from.py:70 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:199 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:232 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:261 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:283 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:45 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:47 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:87 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:89 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:200 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:230 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:233 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:263 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:287 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:51 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:53 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:93 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:95 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:145 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:334 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:449 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:849 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:851 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -65,6 +65,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1153 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 @@ -73,24 +75,23 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:121 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:364 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:900 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:717 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:962 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:965 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:894 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:930 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:933 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:257 -#: /home/kovid/work/calibre/src/calibre/library/database.py:920 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1405 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1434 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1468 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1594 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:466 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:831 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:864 +#: /home/kovid/work/calibre/src/calibre/library/database.py:916 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:472 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:484 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:865 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:900 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1201 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1401 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1452 #: /home/kovid/work/calibre/src/calibre/library/server.py:315 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" @@ -174,11 +175,11 @@ msgstr "" msgid "No valid plugin found in " msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:184 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:185 msgid "Initialization of plugin %s failed with traceback:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:261 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:262 msgid "" " %prog options\n" " \n" @@ -186,34 +187,34 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:267 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:268 msgid "Add a plugin by specifying the path to the zip file containing it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:269 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:270 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:271 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:272 msgid "" "Customize plugin. Specify name of plugin and customization string separated " "by a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:273 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:274 msgid "List all installed plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:275 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:276 msgid "Enable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:277 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:278 msgid "Disable the named plugin" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:41 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:385 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 msgid "The reader has no storage card connected." msgstr "" @@ -231,9 +232,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:140 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:168 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:196 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:192 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:228 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:255 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:195 +#: /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 "" @@ -462,11 +463,11 @@ msgid "" "formats are: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:103 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:105 msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:225 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:227 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -477,14 +478,14 @@ msgid "" "the element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:476 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:478 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:613 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:498 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1117 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:500 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1118 msgid "You must specify an input HTML file" msgstr "" @@ -503,88 +504,88 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:510 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:511 msgid "Written processed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:898 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:899 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:905 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:906 msgid "The output directory. Default is the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:907 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:908 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:560 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:909 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:910 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 "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:911 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:912 msgid "Control the following of links in HTML files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:913 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:914 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:915 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:916 msgid "" "Maximum levels of recursion when following links in HTML files. Must be non-" "negative. 0 implies that no links in the root HTML file are followed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:917 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:918 msgid "Set metadata of the generated ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:919 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 msgid "Set the title. Default is to autodetect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:921 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:922 msgid "The author(s) of the ebook, as a & separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:923 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:924 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:925 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:926 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:928 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:930 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:932 msgid "Options useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:934 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:936 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -605,7 +606,7 @@ msgid "%prog [options] LITFILE" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:503 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:506 msgid "Output directory. Defaults to current directory." msgstr "" @@ -620,7 +621,7 @@ msgid "Useful for debugging." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:872 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:527 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:530 msgid "OEB ebook created in" msgstr "" @@ -661,9 +662,9 @@ msgid "Sort key for the author" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:284 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:110 msgid "Publisher" msgstr "ప్రచురణకర్త" @@ -1288,7 +1289,7 @@ msgid "Extract thumbnail from LRF file" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:606 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:182 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:188 msgid "Set the publisher" msgstr "" @@ -1383,61 +1384,66 @@ msgstr "" msgid "Set the comment" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:286 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:36 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:103 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:359 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:970 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:964 msgid "Title" msgstr "శీర్షిక" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:104 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:364 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:971 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:965 msgid "Author(s)" msgstr "రచయిత(లు)" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:285 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:289 msgid "Producer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:489 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:517 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:357 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:322 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "వ్యాఖ్యలు" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:109 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:309 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:910 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:974 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:968 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:290 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:110 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:294 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:327 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:291 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:295 msgid "Language" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:297 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:903 +msgid "Timestamp" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:202 msgid "A comma separated list of tags to set" msgstr "" @@ -1502,22 +1508,26 @@ msgstr "" msgid "The publisher of the book to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:47 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:46 +msgid "LibraryThing.com timed out. Try again later." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:53 msgid "" "Could not fetch cover as server is experiencing high load. Please try again " "later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:48 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:54 msgid " not found." msgstr " దొరకలేదు." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:82 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:57 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:88 msgid "LibraryThing.com server error. Try again later." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:60 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:66 msgid "" "\n" "%prog [options] ISBN\n" @@ -1530,23 +1540,23 @@ msgid "Usage: %s file.lit" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:233 msgid "Cover saved to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:178 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:184 msgid "Set the subject tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:180 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:186 msgid "Set the language" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:184 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:190 msgid "Set the ISBN" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1012 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1014 msgid "Set the dc:language field" msgstr "" @@ -1562,11 +1572,11 @@ msgstr "" msgid "Creating Mobipocket file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:501 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:504 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:528 msgid "Raw MOBI HTML saved in" msgstr "" @@ -1733,97 +1743,141 @@ msgid "" "\t" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Frequently used directories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 msgid "The format to use when saving single files to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 msgid "Confirm before deleting" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 msgid "Toolbar icon size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 msgid "Show button labels in the toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 msgid "Main window geometry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 msgid "Notify when a new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 msgid "Use Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 msgid "Sort tags list by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 msgid "Number of covers to show in the cover browsing mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 msgid "Defaults for conversion to LRF" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 msgid "Options for the LRF ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 msgid "Show system tray icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:61 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:63 msgid "Delete books from library after uploading to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:65 msgid "" "Show the cover flow in a separate window instead of in the main calibre " "window" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:67 msgid "Disable notifications from the system tray icon" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:87 +msgid "Added %s to library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:156 +msgid "Read metadata from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:212 +msgid "" +"

                          Books with the same title as the following already exist in the database. " +"Add them anyway?

                            " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:217 +msgid "Duplicates found!" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:140 +msgid "Adding books recursively..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:141 +msgid "Searching for books in all sub-directories..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:170 +msgid "Adding books to database..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:694 +msgid "Reading metadata..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:186 +msgid "Searching in" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/device.py:72 msgid "Device no longer connected." msgstr "" @@ -1859,8 +1913,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:86 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:316 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:899 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "" @@ -1869,7 +1923,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:315 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:317 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Formats" @@ -2042,7 +2096,7 @@ msgid "Access log:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:345 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:401 msgid "Failed to start content server" msgstr "" @@ -2466,7 +2520,7 @@ msgid " is not a valid picture" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1073 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1041 msgid "Cannot convert" msgstr "" @@ -3247,7 +3301,7 @@ msgstr "సంకేతపదం మార్చు" msgid "Password needed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:43 msgid "Aborting..." msgstr "" @@ -3341,9 +3395,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:775 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:779 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1086 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:809 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:813 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1122 msgid "News" msgstr "" @@ -3834,49 +3888,45 @@ msgstr "" msgid "Job has already run" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:105 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:972 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:966 msgid "Size (MB)" msgstr "పరిమాణం (మెబై)" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:106 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:973 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:967 msgid "Date" msgstr "తేదీ" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:109 msgid "Rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:319 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:321 msgid "None" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:327 msgid "Book %s of %s." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:734 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:741 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:735 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 msgid "Format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 -msgid "Timestamp" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1007 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1001 msgid "Search (For Advanced Search click the button to the left)" msgstr "" @@ -3952,148 +4002,148 @@ msgstr "" msgid "Configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:89 msgid "Error communicating with device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:105 msgid "&Restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:136 msgid "" "

                            For help visit %s.kovidgoyal.net
                            " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:137 msgid "%s: %s by Kovid Goyal %%(version)s
                            %%(device)s

                            " msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:157 +msgid "Send to main memory" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/main.py:156 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:158 -msgid "Send to main memory" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:159 msgid "Send to storage card" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:157 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:158 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:159 msgid "and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:160 msgid "Send to storage card by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Edit metadata individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:171 msgid "Edit metadata in bulk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:174 msgid "Add books from a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:175 msgid "" "Add books from directories, including sub-directories (One book per " "directory, assumes every ebook file is the same book in a different format)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:176 msgid "" "Add books from directories, including sub directories (Multiple books per " "directory, assumes every ebook file is a different book)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:191 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:353 msgid "Save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 msgid "Save to disk in a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:194 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1280 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1248 msgid "Save only %s format to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:359 msgid "View" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:197 msgid "View specific format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:214 msgid "Convert individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:215 msgid "Bulk convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:217 msgid "Set defaults for conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:218 msgid "Set defaults for conversion of comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:240 msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:289 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:288 msgid "Bad database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:291 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1388 msgid "Choose a location for your ebook library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:440 msgid "Browse by covers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:530 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:529 msgid "Device: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:530 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:553 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:552 msgid "Connected " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:564 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:563 msgid "Device database corrupted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:565 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:564 msgid "" "\n" "

                            The database of books on the reader is corrupted. Try the " @@ -4109,312 +4159,276 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:614 -msgid "Adding books recursively..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 -msgid "Added " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 -msgid "Searching..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:629 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:735 -msgid "" -"

                            Books with the same title as the following already exist in the database. " -"Add them anyway?

                              " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:738 -msgid "Duplicates found!" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:666 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:690 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:655 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:707 msgid "Uploading books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:674 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:663 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:664 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:676 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:665 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:666 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:667 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:668 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:680 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:669 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:681 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:670 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:671 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:683 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:672 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:699 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:693 msgid "Adding books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:699 -msgid "Reading metadata..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:724 -msgid "Read metadata from " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:728 -msgid "Adding books to database..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:771 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:735 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:736 msgid "" "

                              Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:804 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:768 msgid "" "The selected books will be permanently deleted and the files removed " "from your computer. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:813 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:780 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:844 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:811 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:836 msgid "Cannot edit metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:844 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:869 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:994 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1073 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:811 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:836 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:962 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1041 msgid "No books selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:887 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:973 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:941 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:976 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:944 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:945 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found:

                                %s
                              " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:962 msgid "Cannot save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:966 msgid "Saving to disk..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1003 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:971 msgid "Saved" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:977 msgid "Choose destination directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1023 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:991 msgid "" "

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

                                " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1027 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:995 msgid "Could not save some ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1049 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1017 msgid "Fetching news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1063 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1031 msgid " fetched." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1184 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1202 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1214 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1182 msgid "No book selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1184 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1214 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1182 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Cannot view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1190 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1237 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1158 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1205 msgid "Choose the format to view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1202 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1170 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1233 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1201 msgid "%s has no available formats." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1239 msgid "Cannot configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1239 msgid "Cannot configure while there are running jobs." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1289 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1257 msgid "Copying database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1291 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1259 msgid "Copying library to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1301 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1269 msgid "Invalid database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1302 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1270 msgid "" "

                                An invalid database already exists at %s, delete it before trying to move " "the existing database.
                                Error: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1276 msgid "Could not move database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1328 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1296 msgid "No detailed info available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1329 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1297 msgid "No detailed information is available for books on the device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1372 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1340 msgid "Error talking to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1373 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1341 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1386 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1401 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1405 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1354 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1369 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1373 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1387 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1355 msgid "" "

                                Could not convert: %s

                                It is a DRMed book. You must " "first remove the DRM using 3rd party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1457 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1432 msgid "" "is the result of the efforts of many volunteers from all over the world. If " "you find it useful, please consider donating to support its development." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1479 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1481 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 msgid "" " is communicating with the device!
                                \n" " 'Quitting may cause corruption on the device.
                                \n" " 'Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1485 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1460 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1519 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1494 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1536 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1511 msgid "" "Latest version: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1516 msgid "" "%s has been updated to version %s. See the new features. " "Visit the download page?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1541 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1516 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1556 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1531 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1558 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1533 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1560 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "Log debugging information to console" msgstr "" @@ -5154,20 +5168,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1182 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1221 msgid "

                                Copying books to %s

                                " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1195 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1304 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1343 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1275 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1314 msgid "

                                Migrating old database to ebook library in %s

                                " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1321 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1360 msgid "Compacting database" msgstr "" @@ -5490,6 +5504,7 @@ msgid "Article download failed: %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1000 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pobjeda.py:84 msgid "Fetching feed" msgstr "" @@ -5526,6 +5541,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -5538,7 +5554,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_guardian.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers.py:13 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:80 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_joelonsoftware.py:15 @@ -5569,6 +5587,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_smh.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_spiegel_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_st_petersburg_times.py:20 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_starbulletin.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_telegraph_uk.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_teleread.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_age.py:19 @@ -5597,6 +5616,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:49 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:60 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:58 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pobjeda.py:20 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_politika.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_vijesti.py:60 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_vreme.py:108 msgid "Serbian" @@ -5630,6 +5651,10 @@ msgstr "" msgid "German" msgstr "" +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_jutarnji.py:23 +msgid "Croatian" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:452 msgid "" "%prog URL\n" From 4cf815d792baced515f96860f5b09291bf50c70c Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 13 Feb 2009 11:29:36 -0800 Subject: [PATCH 29/30] IGN:Tag release From b92651ec37fc94b087c8b6f7d1fd71f99a6fe841 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 13 Feb 2009 13:08:36 -0800 Subject: [PATCH 30/30] New recipe for The Glasgow Herald by mccande --- src/calibre/web/feeds/recipes/__init__.py | 2 +- .../feeds/recipes/recipe_glasgow_herald.py | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 src/calibre/web/feeds/recipes/recipe_glasgow_herald.py diff --git a/src/calibre/web/feeds/recipes/__init__.py b/src/calibre/web/feeds/recipes/__init__.py index 3167b5dbf2..761b5ab4de 100644 --- a/src/calibre/web/feeds/recipes/__init__.py +++ b/src/calibre/web/feeds/recipes/__init__.py @@ -28,7 +28,7 @@ recipe_modules = ['recipe_' + r for r in ( 'la_tercera', 'el_mercurio_chile', 'la_cuarta', 'lanacion_chile', 'la_segunda', 'jb_online', 'estadao', 'o_globo', 'vijesti', 'elmundo', 'the_oz', 'honoluluadvertiser', 'starbulletin', 'exiled', 'indy_star', 'dna', - 'pobjeda', 'chicago_breaking_news', + 'pobjeda', 'chicago_breaking_news', 'glasgow_herald', )] import re, imp, inspect, time, os diff --git a/src/calibre/web/feeds/recipes/recipe_glasgow_herald.py b/src/calibre/web/feeds/recipes/recipe_glasgow_herald.py new file mode 100644 index 0000000000..a2f5577d81 --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_glasgow_herald.py @@ -0,0 +1,34 @@ +import re + +from calibre.web.feeds.news import BasicNewsRecipe + +class GlasgowHerald(BasicNewsRecipe): + title = u'Glasgow Herald' + oldest_article = 1 + max_articles_per_feed = 100 + no_stylesheets = True + language = _('English') + __author__ = 'McCande' + + preprocess_regexps = [ (re.compile(i[0], re.IGNORECASE | re.DOTALL), i[1]) for i in + [ + (r'

                                ', lambda match : '

                                '), + (r'Click here to comment on this story...', lambda match : ''), + (r'

                                Related links

                                .*?', lambda match : ''), + ] + ] + + + + + feeds = [ + (u'News', u'http://www.theherald.co.uk/news/news/rss.xml'), + (u'Politics', u'http://www.theherald.co.uk/politics/news/rss.xml'), + (u'Features', u'http://www.theherald.co.uk/features/features/rss.xml'), + (u'Business', u'http://www.theherald.co.uk/business/news/rss.xml')] + + def print_version(self, url): + (beginning,end)=url.split(".var.") + num=end[0:7] + main="http://www.theherald.co.uk/misc/print.php?artid="+num + return main