diff --git a/installer/linux/freeze.py b/installer/linux/freeze.py index 32581abee2..c381041675 100644 --- a/installer/linux/freeze.py +++ b/installer/linux/freeze.py @@ -16,6 +16,7 @@ def freeze(): from calibre.linux import entry_points from calibre import walk from calibre.web.feeds.recipes import recipe_modules + from calibre.ebooks.lrf.fonts import FONT_MAP import calibre @@ -37,6 +38,7 @@ def freeze(): '/usr/lib/libxml2.so.2', '/usr/lib/libxslt.so.1', '/usr/lib/libxslt.so.1', + '/usr/lib/libexslt.so.0', '/usr/lib/libMagickWand.so', '/usr/lib/libMagickCore.so', ] @@ -72,6 +74,7 @@ def freeze(): os.makedirs(DIST_DIR) includes = [x[0] for x in executables.values()] + includes += ['calibre.ebooks.lrf.fonts.prs500.'+x for x in FONT_MAP.values()] excludes = ['matplotlib', "Tkconstants", "Tkinter", "tcl", "_imagingtk", "ImageTk", "FixTk", 'wx', 'PyQt4.QtAssistant', 'PyQt4.QtOpenGL.so', diff --git a/installer/osx/freeze.py b/installer/osx/freeze.py index 2a74d15802..de93a344c2 100644 --- a/installer/osx/freeze.py +++ b/installer/osx/freeze.py @@ -326,7 +326,7 @@ def main(): 'genshi', 'calibre.web.feeds.recipes.*', 'calibre.ebooks.lrf.any.*', 'calibre.ebooks.lrf.feeds.*', 'keyword', 'codeop', 'pydoc', 'readline', - 'BeautifulSoup' + 'BeautifulSoup', 'calibre.ebooks.lrf.fonts.prs500.*', ], 'packages' : ['PIL', 'Authorization', 'lxml'], 'excludes' : ['IPython'], diff --git a/installer/windows/freeze.py b/installer/windows/freeze.py index 73bb9cae56..064615f422 100644 --- a/installer/windows/freeze.py +++ b/installer/windows/freeze.py @@ -176,6 +176,7 @@ def main(args=sys.argv): 'BeautifulSoup', 'pyreadline', 'pydoc', 'IPython.Extensions.*', 'calibre.web.feeds.recipes.*', + 'calibre.ebooks.lrf.fonts.prs500.*', 'PyQt4.QtWebKit', 'PyQt4.QtNetwork', ], 'packages' : ['PIL', 'lxml', 'cherrypy'], diff --git a/setup.py b/setup.py index d31ea9d523..e7c16e6aa6 100644 --- a/setup.py +++ b/setup.py @@ -380,13 +380,16 @@ if __name__ == '__main__': class build(_build): - sub_commands = \ - [ + sub_commands = [ ('resources', lambda self : 'CALIBRE_BUILDBOT' not in os.environ.keys()), ('translations', lambda self : 'CALIBRE_BUILDBOT' not in os.environ.keys()), ('gui', lambda self : 'CALIBRE_BUILDBOT' not in os.environ.keys()), - ] + _build.sub_commands - + ('build_ext', lambda self: True), + ('build_py', lambda self: True), + ('build_clib', _build.has_c_libraries), + ('build_scripts', _build.has_scripts), + ] + entry_points['console_scripts'].append('calibre_postinstall = calibre.linux:post_install') ext_modules = [ Extension('calibre.plugins.lzx', diff --git a/src/calibre/__init__.py b/src/calibre/__init__.py index f483902126..e8d4b61ce1 100644 --- a/src/calibre/__init__.py +++ b/src/calibre/__init__.py @@ -13,7 +13,8 @@ from calibre.startup import plugins, winutil, winutilerror from calibre.constants import iswindows, isosx, islinux, isfrozen, \ terminal_controller, preferred_encoding, \ __appname__, __version__, __author__, \ - win32event, win32api, winerror, fcntl + win32event, win32api, winerror, fcntl, \ + filesystem_encoding import mechanize mimetypes.add_type('application/epub+zip', '.epub') @@ -41,6 +42,28 @@ def osx_version(): return int(m.group(1)), int(m.group(2)), int(m.group(3)) +_filename_sanitize = re.compile(r'[\xae\0\\|\?\*<":>\+\[\]/]') + +def sanitize_file_name(name, substitute='_', as_unicode=False): + ''' + Sanitize the filename `name`. All invalid characters are replaced by `substitute`. + The set of invalid characters is the union of the invalid characters in Windows, + OS X and Linux. Also removes leading an trailing whitespace. + **WARNING:** This function also replaces path separators, so only pass file names + and not full paths to it. + *NOTE:* This function always returns byte strings, not unicode objects. The byte strings + are encoded in the filesystem encoding of the platform, or UTF-8. + ''' + if isinstance(name, unicode): + name = name.encode(filesystem_encoding, 'ignore') + one = _filename_sanitize.sub(substitute, name) + one = re.sub(r'\s', ' ', one).strip() + one = re.sub(r'^\.+$', '_', one) + if as_unicode: + one = one.decode(filesystem_encoding) + return one + + class CommandLineError(Exception): pass @@ -201,13 +224,6 @@ class CurrentDir(object): def __exit__(self, *args): os.chdir(self.cwd) -def sanitize_file_name(name): - ''' - Remove characters that are illegal in filenames from name. - Also remove path separators. All illegal characters are replaced by - underscores. - ''' - return re.sub(r'\s', ' ', re.sub(r'[\xae"\'\|\~\:\?\\\/]|^-', '_', name.strip())) def detect_ncpus(): """Detects the number of effective CPUs in the system""" @@ -365,7 +381,13 @@ def strftime(fmt, t=time.localtime()): fmt = fmt.encode('mbcs') return plugins['winutil'][0].strftime(fmt, t) return time.strftime(fmt, t).decode(preferred_encoding, 'replace') - + +def my_unichr(num): + try: + return unichr(num) + except ValueError: + return u'?' + def entity_to_unicode(match, exceptions=[], encoding='cp1252'): ''' @param match: A match object such that '&'+match.group(1)';' is the entity. @@ -381,7 +403,7 @@ def entity_to_unicode(match, exceptions=[], encoding='cp1252'): if ent.startswith(u'#x'): num = int(ent[2:], 16) if encoding is None or num > 255: - return unichr(num) + return my_unichr(num) return chr(num).decode(encoding) if ent.startswith(u'#'): try: @@ -389,13 +411,13 @@ def entity_to_unicode(match, exceptions=[], encoding='cp1252'): except ValueError: return '&'+ent+';' if encoding is None or num > 255: - return unichr(num) + return my_unichr(num) try: return chr(num).decode(encoding) except UnicodeDecodeError: - return unichr(num) + return my_unichr(num) try: - return unichr(name2codepoint[ent]) + return my_unichr(name2codepoint[ent]) except KeyError: return '&'+ent+';' diff --git a/src/calibre/constants.py b/src/calibre/constants.py index bfbebd5273..2209f482f5 100644 --- a/src/calibre/constants.py +++ b/src/calibre/constants.py @@ -2,7 +2,7 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net' __docformat__ = 'restructuredtext en' __appname__ = 'calibre' -__version__ = '0.4.121' +__version__ = '0.4.126' __author__ = "Kovid Goyal " ''' Various run time constants. @@ -29,6 +29,10 @@ winerror = __import__('winerror') if iswindows else None win32api = __import__('win32api') if iswindows else None fcntl = None if iswindows else __import__('fcntl') +filesystem_encoding = sys.getfilesystemencoding() +if filesystem_encoding is None: filesystem_encoding = 'utf-8' + + ################################################################################ plugins = None if plugins is None: diff --git a/src/calibre/customize/ui.py b/src/calibre/customize/ui.py index 68e17fd0aa..067185b0c3 100644 --- a/src/calibre/customize/ui.py +++ b/src/calibre/customize/ui.py @@ -105,30 +105,43 @@ def reread_metadata_plugins(): for plugin in _initialized_plugins: if isinstance(plugin, MetadataReaderPlugin): for ft in plugin.file_types: - _metadata_readers[ft] = plugin + if not _metadata_readers.has_key(ft): + _metadata_readers[ft] = [] + _metadata_readers[ft].append(plugin) elif isinstance(plugin, MetadataWriterPlugin): for ft in plugin.file_types: - _metadata_writers[ft] = plugin + if not _metadata_writers.has_key(ft): + _metadata_writers[ft] = [] + _metadata_writers[ft].append(plugin) + + def get_file_type_metadata(stream, ftype): mi = MetaInformation(None, None) - try: - plugin = _metadata_readers[ftype.lower().strip()] - if not is_disabled(plugin): - with plugin: - mi = plugin.get_metadata(stream, ftype.lower().strip()) - except: - pass + ftype = ftype.lower().strip() + if _metadata_readers.has_key(ftype): + for plugin in _metadata_readers[ftype]: + if not is_disabled(plugin): + with plugin: + try: + mi = plugin.get_metadata(stream, ftype.lower().strip()) + break + except: + continue return mi def set_file_type_metadata(stream, mi, ftype): - try: - plugin = _metadata_writers[ftype.lower().strip()] - if not is_disabled(plugin): - with plugin: - plugin.set_metadata(stream, mi, ftype.lower().strip()) - except: - traceback.print_exc() + ftype = ftype.lower().strip() + if _metadata_writers.has_key(ftype): + for plugin in _metadata_writers[ftype]: + if not is_disabled(plugin): + with plugin: + try: + plugin.set_metadata(stream, mi, ftype.lower().strip()) + break + except: + traceback.print_exc() + def _run_filetype_plugins(path_to_file, ft=None, occasion='preprocess'): occasion = {'import':_on_import, 'preprocess':_on_preprocess, @@ -185,6 +198,20 @@ def add_plugin(path_to_zip_file): initialize_plugins() return plugin +def remove_plugin(plugin_or_name): + name = getattr(plugin_or_name, 'name', plugin_or_name) + plugins = config['plugins'] + removed = False + if name in plugins.keys(): + removed = True + zfp = plugins[name] + if os.path.exists(zfp): + os.remove(zfp) + plugins.pop(name) + config['plugins'] = plugins + initialize_plugins() + return removed + def is_disabled(plugin): return plugin.name in config['disabled_plugins'] @@ -237,6 +264,8 @@ def option_parser(): ''')) parser.add_option('-a', '--add-plugin', default=None, help=_('Add a plugin by specifying the path to the zip file containing it.')) + parser.add_option('-r', '--remove-plugin', default=None, + help=_('Remove a custom plugin by name. Has no effect on builtin plugins')) parser.add_option('--customize-plugin', default=None, help=_('Customize plugin. Specify name of plugin and customization string separated by a comma.')) parser.add_option('-l', '--list-plugins', default=False, action='store_true', @@ -267,6 +296,11 @@ def main(args=sys.argv): if opts.add_plugin is not None: plugin = add_plugin(opts.add_plugin) print 'Plugin added:', plugin.name, plugin.version + if opts.remove_plugin is not None: + if remove_plugin(opts.remove_plugin): + print 'Plugin removed' + else: + print 'No custom pluginnamed', opts.remove_plugin if opts.customize_plugin is not None: name, custom = opts.customize_plugin.split(',') plugin = find_plugin(name.strip()) diff --git a/src/calibre/devices/__init__.py b/src/calibre/devices/__init__.py index f2c89ea1c5..f300c666b9 100644 --- a/src/calibre/devices/__init__.py +++ b/src/calibre/devices/__init__.py @@ -1,5 +1,6 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal ' + ''' Device drivers. ''' @@ -8,8 +9,9 @@ def devices(): from calibre.devices.prs500.driver import PRS500 from calibre.devices.prs505.driver import PRS505 from calibre.devices.prs700.driver import PRS700 + from calibre.devices.cybookg3.driver import CYBOOKG3 #from calibre.devices.kindle.driver import KINDLE - return (PRS500, PRS505, PRS700) + return (PRS500, PRS505, PRS700, CYBOOKG3) import time diff --git a/src/calibre/devices/cybookg3/__init__.py b/src/calibre/devices/cybookg3/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/calibre/devices/cybookg3/books.py b/src/calibre/devices/cybookg3/books.py new file mode 100644 index 0000000000..9ff8aa70a7 --- /dev/null +++ b/src/calibre/devices/cybookg3/books.py @@ -0,0 +1,85 @@ +__license__ = 'GPL v3' +__copyright__ = '2009, John Schember ' + +''' +''' +import os, fnmatch, time + +from calibre.devices.interface import BookList as _BookList + +EBOOK_DIR = "eBooks" +EBOOK_TYPES = ['mobi', 'prc', 'html', 'pdf', 'rtf', 'txt'] + +class Book(object): + def __init__(self, path, title, authors): + self.title = title + self.authors = authors + self.size = os.path.getsize(path) + self.datetime = time.gmtime(os.path.getctime(path)) + self.path = path + self.thumbnail = None + self.tags = [] + + @apply + def title_sorter(): + doc = '''String to sort the title. If absent, title is returned''' + def fget(self): + return re.sub('^\s*A\s+|^\s*The\s+|^\s*An\s+', '', self.title).rstrip() + return property(doc=doc, fget=fget) + + @apply + def thumbnail(): + return None + + def __str__(self): + """ Return a utf-8 encoded string with title author and path information """ + return self.title.encode('utf-8') + " by " + \ + self.authors.encode('utf-8') + " at " + self.path.encode('utf-8') + + +class BookList(_BookList): + def __init__(self, mountpath): + self._mountpath = mountpath + _BookList.__init__(self) + self.return_books(mountpath) + + def return_books(self, mountpath): + # Get all books in all directories under the root EBOOK_DIR directory + for path, dirs, files in os.walk(os.path.join(mountpath, EBOOK_DIR)): + # Filter out anything that isn't in the list of supported ebook types + for book_type in EBOOK_TYPES: + for filename in fnmatch.filter(files, '*.%s' % (book_type)): + book_title = '' + book_author = '' + # Calibre uses a specific format for file names. They take the form + # title_-_author_number.extention We want to see if the file name is + # in this format. + if fnmatch.fnmatchcase(filename, '*_-_*.*'): + # Get the title and author from the file name + title, sep, author = filename.rpartition('_-_') + author, sep, ext = author.rpartition('_') + book_title = title.replace('_', ' ') + book_author = author.replace('_', ' ') + # if the filename did not match just set the title to + # the filename without the extension + else: + book_title = os.path.splitext(filename)[0].replace('_', ' ') + + self.append(Book(os.path.join(path, filename), book_title, book_author)) + + def add_book(self, path, title): + self.append(Book(path, title, "")) + + def remove_book(self, path): + for book in self: + if path.endswith(book.path): + self.remove(book) + break + + def supports_tags(self): + ''' Return True if the the device supports tags (collections) for this book list. ''' + return False + + def set_tags(self, book, tags): + pass + diff --git a/src/calibre/devices/cybookg3/driver.py b/src/calibre/devices/cybookg3/driver.py new file mode 100644 index 0000000000..c689767457 --- /dev/null +++ b/src/calibre/devices/cybookg3/driver.py @@ -0,0 +1,332 @@ +__license__ = 'GPL v3' +__copyright__ = '2009, John Schember ' + +''' +Device driver for Bookeen's Cybook Gen 3 +''' +import os, fnmatch, shutil, time +from itertools import cycle + +from calibre.devices.interface import Device +from calibre.devices.errors import DeviceError, FreeSpaceError + +from calibre.devices.cybookg3.books import BookList, EBOOK_DIR, EBOOK_TYPES +from calibre import iswindows, islinux, isosx, __appname__ + +class CYBOOKG3(Device): + # Ordered list of supported formats + FORMATS = EBOOK_TYPES + VENDOR_ID = 0x0bda + PRODUCT_ID = 0x0703 + BCD = 0x110 + + VENDOR_NAME = 'BOOKEEN' + PRODUCT_NAME = 'CYBOOK_GEN3' + + MAIN_MEMORY_VOLUME_LABEL = 'Cybook Gen 3 Main Memory' + STORAGE_CARD_VOLUME_LABEL = 'Cybook Gen 3 Storage Card' + + FDI_TEMPLATE = \ +''' + + + + + + + %(main_memory)s + %(deviceclass)s + + + + + + + + + + + + + %(storage_card)s + %(deviceclass)s + + + + + + +''' + + + def __init__(self, key='-1', log_packets=False, report_progress=None) : + self._main_prefix = self._card_prefix = None + + @classmethod + def get_fdi(cls): + return cls.FDI_TEMPLATE%dict( + app=__appname__, + deviceclass=cls.__name__, + vendor_id=hex(cls.VENDOR_ID), + product_id=hex(cls.PRODUCT_ID), + bcd=hex(cls.BCD), + main_memory=cls.MAIN_MEMORY_VOLUME_LABEL, + storage_card=cls.STORAGE_CARD_VOLUME_LABEL, + ) + + def set_progress_reporter(self, report_progress): + self.report_progress = report_progress + + def get_device_information(self, end_session=True): + """ + Ask device for device information. See L{DeviceInfoQuery}. + @return: (device name, device version, software version on device, mime type) + """ + return (self.__class__.__name__, '', '', '') + + def card_prefix(self, end_session=True): + return self._card_prefix + + @classmethod + def _windows_space(cls, prefix): + if prefix is None: + return 0, 0 + win32file = __import__('win32file', globals(), locals(), [], -1) + try: + sectors_per_cluster, bytes_per_sector, free_clusters, total_clusters = \ + win32file.GetDiskFreeSpace(prefix[:-1]) + except Exception, err: + if getattr(err, 'args', [None])[0] == 21: # Disk not ready + time.sleep(3) + sectors_per_cluster, bytes_per_sector, free_clusters, total_clusters = \ + win32file.GetDiskFreeSpace(prefix[:-1]) + else: raise + mult = sectors_per_cluster * bytes_per_sector + return total_clusters * mult, free_clusters * mult + + def total_space(self, end_session=True): + msz = csz = 0 + print self._main_prefix + if not iswindows: + if self._main_prefix is not None: + stats = os.statvfs(self._main_prefix) + msz = stats.f_frsize * (stats.f_blocks + stats.f_bavail - stats.f_bfree) + if self._card_prefix is not None: + stats = os.statvfs(self._card_prefix) + csz = stats.f_frsize * (stats.f_blocks + stats.f_bavail - stats.f_bfree) + else: + msz = self._windows_space(self._main_prefix)[0] + csz = self._windows_space(self._card_prefix)[0] + + return (msz, 0, csz) + + def free_space(self, end_session=True): + msz = csz = 0 + if not iswindows: + if self._main_prefix is not None: + stats = os.statvfs(self._main_prefix) + msz = stats.f_frsize * stats.f_bavail + if self._card_prefix is not None: + stats = os.statvfs(self._card_prefix) + csz = stats.f_frsize * stats.f_bavail + else: + msz = self._windows_space(self._main_prefix)[1] + csz = self._windows_space(self._card_prefix)[1] + + return (msz, 0, csz) + + def books(self, oncard=False, end_session=True): + if oncard and self._card_prefix is None: + return [] + prefix = self._card_prefix if oncard else self._main_prefix + bl = BookList(prefix) + return bl + + def upload_books(self, files, names, on_card=False, end_session=True): + if on_card and not self._card_prefix: + raise ValueError(_('The reader has no storage card connected.')) + + if not on_card: + path = os.path.join(self._main_prefix, EBOOK_DIR) + else: + path = os.path.join(self._card_prefix, EBOOK_DIR) + + sizes = map(os.path.getsize, files) + size = sum(sizes) + + if on_card and size > self.free_space()[2] - 1024*1024: + raise FreeSpaceError("There is insufficient free space "+\ + "on the storage card") + if not on_card and size > self.free_space()[0] - 2*1024*1024: + raise FreeSpaceError("There is insufficient free space " +\ + "in main memory") + + paths = [] + names = iter(names) + + for infile in files: + filepath = os.path.join(path, names.next()) + paths.append(filepath) + + shutil.copy2(infile, filepath) + + return zip(paths, cycle([on_card])) + + @classmethod + def add_books_to_metadata(cls, locations, metadata, booklists): + for location in locations: + path = location[0] + on_card = 1 if location[1] else 0 + booklists[on_card].add_book(path, os.path.basename(path)) + + def delete_books(self, paths, end_session=True): + for path in paths: + if os.path.exists(path): + # Delete the ebook + os.unlink(path) + + filepath, ext = os.path.splitext(path) + basepath, filename = os.path.split(filepath) + + # Delete the ebook auxiliary file + if os.path.exists(filepath + '.mbp'): + os.unlink(filepath + '.mbp') + + # Delete the thumbnails file auto generated for the ebook + for p, d, files in os.walk(basepath): + for filen in fnmatch.filter(files, filename + "*.t2b"): + os.unlink(os.path.join(p, filen)) + + @classmethod + def remove_books_from_metadata(cls, paths, booklists): + for path in paths: + for bl in booklists: + bl.remove_book(path) + + def sync_booklists(self, booklists, end_session=True): + # There is no meta data on the device to update. The device is treated + # as a mass storage device and does not use a meta data xml file like + # the Sony Readers. + pass + + def get_file(self, path, outfile, end_session=True): + path = self.munge_path(path) + src = open(path, 'rb') + shutil.copyfileobj(src, outfile, 10*1024*1024) + + def munge_path(self, path): + if path.startswith('/') and not (path.startswith(self._main_prefix) or \ + (self._card_prefix and path.startswith(self._card_prefix))): + path = self._main_prefix + path[1:] + elif path.startswith('card:'): + path = path.replace('card:', self._card_prefix[:-1]) + return path + + @classmethod + def windows_match_device(cls, device_id): + device_id = device_id.upper() + if 'VEN_'+cls.VENDOR_NAME in device_id and \ + 'PROD_'+cls.PRODUCT_NAME in device_id: + return True + + vid, pid = hex(cls.VENDOR_ID)[2:], hex(cls.PRODUCT_ID)[2:] + while len(vid) < 4: vid = '0' + vid + while len(pid) < 4: pid = '0' + pid + if 'VID_'+vid in device_id and 'PID_'+pid in device_id: + return True + + return False + + # This only supports Windows >= 2000 + def open_windows(self): + drives = [] + wmi = __import__('wmi', globals(), locals(), [], -1) + c = wmi.WMI() + for drive in c.Win32_DiskDrive(): + if self.__class__.windows_match_device(str(drive.PNPDeviceID)): + if drive.Partitions == 0: + continue + try: + partition = drive.associators("Win32_DiskDriveToDiskPartition")[0] + logical_disk = partition.associators('Win32_LogicalDiskToPartition')[0] + prefix = logical_disk.DeviceID+os.sep + drives.append((drive.Index, prefix)) + except IndexError: + continue + + if not drives: + raise DeviceError(_('Unable to detect the %s disk drive. Try rebooting.')%self.__class__.__name__) + + drives.sort(cmp=lambda a, b: cmp(a[0], b[0])) + self._main_prefix = drives[0][1] + if len(drives) > 1: + self._card_prefix = drives[1][1] + + def open_osx(self): + raise NotImplementedError() + + def open_linux(self): + import dbus + bus = dbus.SystemBus() + hm = dbus.Interface(bus.get_object("org.freedesktop.Hal", "/org/freedesktop/Hal/Manager"), "org.freedesktop.Hal.Manager") + + def conditional_mount(dev): + mmo = bus.get_object("org.freedesktop.Hal", dev) + label = mmo.GetPropertyString('volume.label', dbus_interface='org.freedesktop.Hal.Device') + is_mounted = mmo.GetPropertyString('volume.is_mounted', dbus_interface='org.freedesktop.Hal.Device') + mount_point = mmo.GetPropertyString('volume.mount_point', dbus_interface='org.freedesktop.Hal.Device') + fstype = mmo.GetPropertyString('volume.fstype', dbus_interface='org.freedesktop.Hal.Device') + if is_mounted: + return str(mount_point) + mmo.Mount(label, fstype, ['umask=077', 'uid='+str(os.getuid()), 'sync'], + dbus_interface='org.freedesktop.Hal.Device.Volume') + return os.path.normpath('/media/'+label)+'/' + + mm = hm.FindDeviceStringMatch(__appname__+'.mainvolume', self.__class__.__name__) + if not mm: + raise DeviceError(_('Unable to detect the %s disk drive. Try rebooting.')%(self.__class__.__name__,)) + self._main_prefix = None + for dev in mm: + try: + self._main_prefix = conditional_mount(dev)+os.sep + break + except dbus.exceptions.DBusException: + continue + + if not self._main_prefix: + raise DeviceError('Could not open device for reading. Try a reboot.') + + self._card_prefix = None + cards = hm.FindDeviceStringMatch(__appname__+'.cardvolume', self.__class__.__name__) + + for dev in cards: + try: + self._card_prefix = conditional_mount(dev)+os.sep + break + except: + import traceback + print traceback + continue + + def open(self): + time.sleep(5) + self._main_prefix = self._card_prefix = None + if islinux: + try: + self.open_linux() + except DeviceError: + time.sleep(3) + self.open_linux() + if iswindows: + try: + self.open_windows() + except DeviceError: + time.sleep(3) + self.open_windows() + if isosx: + try: + self.open_osx() + except DeviceError: + time.sleep(3) + self.open_osx() + diff --git a/src/calibre/devices/interface.py b/src/calibre/devices/interface.py index fb581e9545..e2959cd49f 100644 --- a/src/calibre/devices/interface.py +++ b/src/calibre/devices/interface.py @@ -39,6 +39,18 @@ class Device(object): '''Return the FDI description of this device for HAL on linux.''' return '' + def open(self): + ''' + Perform any device specific initialization. Called after the device is + detected but before any other functions that communicate with the device. + For example: For devices that present themselves as USB Mass storage + devices, this method would be responsible for mounting the device or + if the device has been automounted, for finding out where it has been + mounted. The driver for the PRS505 has a implementation of this function + that should serve as a good example for USB Mass storage devices. + ''' + raise NotImplementedError() + def set_progress_reporter(self, report_progress): ''' @param report_progress: Function that is called with a % progress diff --git a/src/calibre/ebooks/epub/from_html.py b/src/calibre/ebooks/epub/from_html.py index 8ebd426a14..9165e99313 100644 --- a/src/calibre/ebooks/epub/from_html.py +++ b/src/calibre/ebooks/epub/from_html.py @@ -35,7 +35,7 @@ Conversion of HTML/OPF files follows several stages: import os, sys, cStringIO, logging, re, functools, shutil from lxml.etree import XPath -from lxml import html +from lxml import html, etree from PyQt4.Qt import QApplication, QPixmap from calibre.ebooks.html import Processor, merge_metadata, get_filelist,\ @@ -55,13 +55,13 @@ content = functools.partial(os.path.join, u'content') def remove_bad_link(element, attribute, link, pos): if attribute is not None: - if element.tag in ['link', 'img']: + if element.tag in ['link']: element.getparent().remove(element) else: element.set(attribute, '') del element.attrib[attribute] -def check(opf_path, pretty_print): +def check_links(opf_path, pretty_print): ''' Find and remove all invalid links in the HTML files ''' @@ -123,6 +123,10 @@ class HTMLProcessor(Processor, Rationalizer): if opts.verbose > 2: self.debug_tree('nocss') + if hasattr(self.body, 'xpath'): + for script in list(self.body.xpath('descendant::script')): + script.getparent().remove(script) + def convert_image(self, img): rpath = img.get('src', '') path = os.path.join(os.path.dirname(self.save_path()), *rpath.split('/')) @@ -280,6 +284,16 @@ def find_oeb_cover(htmlfile): if match: return match.group(1) +def condense_ncx(ncx_path): + tree = etree.parse(ncx_path) + for tag in tree.getroot().iter(tag=etree.Element): + if tag.text: + tag.text = tag.text.strip() + if tag.tail: + tag.tail = tag.tail.strip() + compressed = etree.tostring(tree.getroot(), encoding='utf-8') + open(ncx_path, 'wb').write(compressed) + def convert(htmlfile, opts, notification=None, create_epub=True, oeb_cover=False, extract_to=None): htmlfile = os.path.abspath(htmlfile) @@ -362,7 +376,8 @@ def convert(htmlfile, opts, notification=None, create_epub=True, if opts.show_ncx: print toc split(opf_path, opts, stylesheet_map) - check(opf_path, opts.pretty_print) + check_links(opf_path, opts.pretty_print) + opf = OPF(opf_path, tdir) opf.remove_guide() oeb_cover_file = None @@ -383,6 +398,13 @@ def convert(htmlfile, opts, notification=None, create_epub=True, if not raw.startswith('\n'+raw f.write(raw) + ncx_path = os.path.join(os.path.dirname(opf_path), 'toc.ncx') + if os.path.exists(ncx_path) and os.stat(ncx_path).st_size > opts.profile.flow_size: + logger.info('Condensing NCX from %d bytes...'%os.stat(ncx_path).st_size) + condense_ncx(ncx_path) + if os.stat(ncx_path).st_size > opts.profile.flow_size: + logger.warn('NCX still larger than allowed size at %d bytes. Menu based Table of Contents may not work on device.'%os.stat(ncx_path).st_size) + if create_epub: epub = initialize_container(opts.output) epub.add_dir(tdir) diff --git a/src/calibre/ebooks/html.py b/src/calibre/ebooks/html.py index 630dbc1264..84af7527bd 100644 --- a/src/calibre/ebooks/html.py +++ b/src/calibre/ebooks/html.py @@ -314,10 +314,22 @@ def opf_traverse(opf_reader, verbose=0, encoding=None): convert_entities = functools.partial(entity_to_unicode, exceptions=['quot', 'apos', 'lt', 'gt', 'amp']) +_span_pat = re.compile('', re.DOTALL|re.IGNORECASE) + +def sanitize_head(match): + x = match.group(1) + x = _span_pat.sub('', x) + return '\n'+x+'\n' + class PreProcessor(object): PREPROCESS = [ + # Some idiotic HTML generators (Frontpage I'm looking at you) + # Put all sorts of crap into . This messes up lxml + (re.compile(r']*>(.*?)', re.IGNORECASE|re.DOTALL), + sanitize_head), # Convert all entities, since lxml doesn't handle them well (re.compile(r'&(\S+?);'), convert_entities), + ] # Fix pdftohtml markup @@ -446,6 +458,8 @@ class Parser(PreProcessor, LoggingInterface): def parse_html(self): ''' Create lxml ElementTree from HTML ''' self.log_info('\tParsing '+os.sep.join(self.htmlfile.path.split(os.sep)[-3:])) + if self.htmlfile.is_binary: + raise ValueError('Not a valid HTML file: '+self.htmlfile.path) src = open(self.htmlfile.path, 'rb').read().decode(self.htmlfile.encoding, 'replace').strip() src = src.replace('\x00', '') src = self.preprocess(src) @@ -776,7 +790,10 @@ class Processor(Parser): size = '3' if size and size.strip() and size.strip()[0] in ('+', '-'): size = 3 + float(size) # Hack assumes basefont=3 - setting = 'font-size: %d%%;'%int((float(size)/3) * 100) + try: + setting = 'font-size: %d%%;'%int((float(size)/3) * 100) + except ValueError: + setting = '' face = font.attrib.pop('face', None) if face is not None: setting += 'font-face:%s;'%face @@ -809,7 +826,7 @@ class Processor(Parser): css = '\n'.join(['.%s {%s;}'%(cn, setting) for \ setting, cn in cache.items()]) - sheet = self.css_parser.parseString(self.preprocess_css(css)) + sheet = self.css_parser.parseString(self.preprocess_css(css.replace(';;}', ';}'))) for rule in sheet: self.stylesheet.add(rule) css = '' @@ -875,7 +892,7 @@ def option_parser(): %prog [options] file.html|opf Follow all links in an HTML file and collect them into the specified directory. -Also collects any references resources like images, stylesheets, scripts, etc. +Also collects any resources like images, stylesheets, scripts, etc. If an OPF file is specified instead, the list of files in its element is used. ''')) diff --git a/src/calibre/ebooks/lit/reader.py b/src/calibre/ebooks/lit/reader.py index 0e7f9a1ccf..461c067382 100644 --- a/src/calibre/ebooks/lit/reader.py +++ b/src/calibre/ebooks/lit/reader.py @@ -7,24 +7,20 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal ' \ 'and Marshall T. Vandegrift ' -import sys, struct, os +import sys, struct, cStringIO, os import functools import re from urlparse import urldefrag -from cStringIO import StringIO -from urllib import unquote as urlunquote from lxml import etree from calibre.ebooks.lit import LitError from calibre.ebooks.lit.maps import OPF_MAP, HTML_MAP import calibre.ebooks.lit.mssha1 as mssha1 -from calibre.ebooks.oeb.base import XML_PARSER, urlnormalize +from calibre.ebooks.oeb.base import urlnormalize from calibre.ebooks import DRMError from calibre import plugins lzx, lxzerror = plugins['lzx'] msdes, msdeserror = plugins['msdes'] -__all__ = ["LitReader"] - XML_DECL = """ """ OPF_DECL = """ @@ -112,9 +108,6 @@ def consume_sized_utf8_string(bytes, zpad=False): pos += 1 return u''.join(result), bytes[pos:] -def encode(string): - return unicode(string).encode('ascii', 'xmlcharrefreplace') - class UnBinary(object): AMPERSAND_RE = re.compile( r'&(?!(?:#[0-9]+|#x[0-9a-fA-F]+|[a-zA-Z_:][a-zA-Z0-9.-_:]+);)') @@ -125,13 +118,13 @@ class UnBinary(object): def __init__(self, bin, path, manifest={}, map=HTML_MAP): self.manifest = manifest self.tag_map, self.attr_map, self.tag_to_attr_map = map - self.is_html = map is HTML_MAP + self.opf = map is OPF_MAP + self.bin = bin self.dir = os.path.dirname(path) - buf = StringIO() - self.binary_to_text(bin, buf) - self.raw = buf.getvalue().lstrip() + self.buf = cStringIO.StringIO() + self.binary_to_text() + self.raw = self.buf.getvalue().lstrip().decode('utf-8') self.escape_reserved() - self._tree = None def escape_reserved(self): raw = self.raw @@ -158,28 +151,18 @@ class UnBinary(object): return '/'.join(relpath) def __unicode__(self): - return self.raw.decode('utf-8') - - def __str__(self): return self.raw - - def tree(): - def fget(self): - if not self._tree: - self._tree = etree.fromstring(self.raw, parser=XML_PARSER) - return self._tree - return property(fget=fget) - tree = tree() - def binary_to_text(self, bin, buf, index=0, depth=0): + def binary_to_text(self, base=0, depth=0): tag_name = current_map = None dynamic_tag = errors = 0 in_censorship = is_goingdown = False state = 'text' + index = base flags = 0 - while index < len(bin): - c, index = read_utf8_char(bin, index) + while index < len(self.bin): + c, index = read_utf8_char(self.bin, index) oc = ord(c) if state == 'text': @@ -192,7 +175,7 @@ class UnBinary(object): c = '>>' elif c == '<': c = '<<' - buf.write(encode(c)) + self.buf.write(c.encode('ascii', 'xmlcharrefreplace')) elif state == 'get flags': if oc == 0: @@ -205,7 +188,7 @@ class UnBinary(object): state = 'text' if oc == 0 else 'get attr' if flags & FLAG_OPENING: tag = oc - buf.write('<') + self.buf.write('<') if not (flags & FLAG_CLOSING): is_goingdown = True if tag == 0x8000: @@ -222,7 +205,7 @@ class UnBinary(object): tag_name = '?'+unichr(tag)+'?' current_map = self.tag_to_attr_map[tag] print 'WARNING: tag %s unknown' % unichr(tag) - buf.write(encode(tag_name)) + self.buf.write(unicode(tag_name).encode('utf-8')) elif flags & FLAG_CLOSING: if depth == 0: raise LitError('Extra closing tag') @@ -234,14 +217,15 @@ class UnBinary(object): if not is_goingdown: tag_name = None dynamic_tag = 0 - buf.write(' />') + self.buf.write(' />') else: - buf.write('>') - index = self.binary_to_text(bin, buf, index, depth+1) + self.buf.write('>') + index = self.binary_to_text(base=index, depth=depth+1) is_goingdown = False if not tag_name: raise LitError('Tag ends before it begins.') - buf.write(encode(u''.join(('')))) + self.buf.write(u''.join( + ('')).encode('utf-8')) dynamic_tag = 0 tag_name = None state = 'text' @@ -261,7 +245,7 @@ class UnBinary(object): in_censorship = True state = 'get value length' continue - buf.write(' ' + encode(attr) + '=') + self.buf.write(' ' + unicode(attr).encode('utf-8') + '=') if attr in ['href', 'src']: state = 'get href length' else: @@ -269,39 +253,40 @@ class UnBinary(object): elif state == 'get value length': if not in_censorship: - buf.write('"') + self.buf.write('"') count = oc - 1 if count == 0: if not in_censorship: - buf.write('"') + self.buf.write('"') in_censorship = False state = 'get attr' continue state = 'get value' if oc == 0xffff: continue - if count < 0 or count > (len(bin) - index): + if count < 0 or count > (len(self.bin) - index): raise LitError('Invalid character count %d' % count) elif state == 'get value': if count == 0xfffe: if not in_censorship: - buf.write('%s"' % (oc - 1)) + self.buf.write('%s"' % (oc - 1)) in_censorship = False state = 'get attr' elif count > 0: if not in_censorship: - buf.write(encode(c)) + self.buf.write(c.encode( + 'ascii', 'xmlcharrefreplace')) count -= 1 if count == 0: if not in_censorship: - buf.write('"') + self.buf.write('"') in_censorship = False state = 'get attr' elif state == 'get custom length': count = oc - 1 - if count <= 0 or count > len(bin)-index: + if count <= 0 or count > len(self.bin)-index: raise LitError('Invalid character count %d' % count) dynamic_tag += 1 state = 'get custom' @@ -311,26 +296,26 @@ class UnBinary(object): tag_name += c count -= 1 if count == 0: - buf.write(encode(tag_name)) + self.buf.write(unicode(tag_name).encode('utf-8')) state = 'get attr' elif state == 'get attr length': count = oc - 1 - if count <= 0 or count > (len(bin) - index): + if count <= 0 or count > (len(self.bin) - index): raise LitError('Invalid character count %d' % count) - buf.write(' ') + self.buf.write(' ') state = 'get custom attr' elif state == 'get custom attr': - buf.write(encode(c)) + self.buf.write(unicode(c).encode('utf-8')) count -= 1 if count == 0: - buf.write('=') + self.buf.write('=') state = 'get value length' elif state == 'get href length': count = oc - 1 - if count <= 0 or count > (len(bin) - index): + if count <= 0 or count > (len(self.bin) - index): raise LitError('Invalid character count %d' % count) href = '' state = 'get href' @@ -344,11 +329,10 @@ class UnBinary(object): if frag: path = '#'.join((path, frag)) path = urlnormalize(path) - buf.write(encode(u'"%s"' % path)) + self.buf.write((u'"%s"' % path).encode('utf-8')) state = 'get attr' return index - class DirectoryEntry(object): def __init__(self, name, section, offset, size): self.name = name @@ -363,7 +347,6 @@ class DirectoryEntry(object): def __str__(self): return repr(self) - class ManifestItem(object): def __init__(self, original, internal, mime_type, offset, root, state): self.original = original @@ -391,87 +374,65 @@ class ManifestItem(object): % (self.internal, self.path, self.mime_type, self.offset, self.root, self.state) - def preserve(function): def wrapper(self, *args, **kwargs): - opos = self.stream.tell() + opos = self._stream.tell() try: return function(self, *args, **kwargs) finally: - self.stream.seek(opos) + self._stream.seek(opos) functools.update_wrapper(wrapper, function) return wrapper -class LitFile(object): +class LitReader(object): PIECE_SIZE = 16 - - def __init__(self, filename_or_stream): - if hasattr(filename_or_stream, 'read'): - self.stream = filename_or_stream - else: - self.stream = open(filename_or_stream, 'rb') - try: - self.opf_path = os.path.splitext( - os.path.basename(self.stream.name))[0] + '.opf' - except AttributeError: - self.opf_path = 'content.opf' - if self.magic != 'ITOLITLS': - raise LitError('Not a valid LIT file') - if self.version != 1: - raise LitError('Unknown LIT version %d' % (self.version,)) - self.read_secondary_header() - self.read_header_pieces() - self.read_section_names() - self.read_manifest() - self.read_drm() - - def warn(self, msg): - print "WARNING: %s" % (msg,) + XML_PARSER = etree.XMLParser( + recover=True, resolve_entities=False) def magic(): @preserve def fget(self): - self.stream.seek(0) - return self.stream.read(8) + self._stream.seek(0) + return self._stream.read(8) return property(fget=fget) magic = magic() def version(): def fget(self): - self.stream.seek(8) - return u32(self.stream.read(4)) + self._stream.seek(8) + return u32(self._stream.read(4)) return property(fget=fget) version = version() def hdr_len(): @preserve def fget(self): - self.stream.seek(12) - return int32(self.stream.read(4)) + self._stream.seek(12) + return int32(self._stream.read(4)) return property(fget=fget) hdr_len = hdr_len() def num_pieces(): @preserve def fget(self): - self.stream.seek(16) - return int32(self.stream.read(4)) + self._stream.seek(16) + return int32(self._stream.read(4)) return property(fget=fget) num_pieces = num_pieces() def sec_hdr_len(): @preserve def fget(self): - self.stream.seek(20) - return int32(self.stream.read(4)) + self._stream.seek(20) + return int32(self._stream.read(4)) return property(fget=fget) sec_hdr_len = sec_hdr_len() def guid(): @preserve def fget(self): - self.stream.seek(24) - return self.stream.read(16) + self._stream.seek(24) + return self._stream.read(16) return property(fget=fget) guid = guid() @@ -481,27 +442,44 @@ class LitFile(object): size = self.hdr_len \ + (self.num_pieces * self.PIECE_SIZE) \ + self.sec_hdr_len - self.stream.seek(0) - return self.stream.read(size) + self._stream.seek(0) + return self._stream.read(size) return property(fget=fget) header = header() + def __init__(self, filename_or_stream): + if hasattr(filename_or_stream, 'read'): + self._stream = filename_or_stream + else: + self._stream = open(filename_or_stream, 'rb') + if self.magic != 'ITOLITLS': + raise LitError('Not a valid LIT file') + if self.version != 1: + raise LitError('Unknown LIT version %d' % (self.version,)) + self.entries = {} + self._read_secondary_header() + self._read_header_pieces() + self._read_section_names() + self._read_manifest() + self._read_meta() + self._read_drm() + @preserve def __len__(self): - self.stream.seek(0, 2) - return self.stream.tell() + self._stream.seek(0, 2) + return self._stream.tell() @preserve - def read_raw(self, offset, size): - self.stream.seek(offset) - return self.stream.read(size) + def _read_raw(self, offset, size): + self._stream.seek(offset) + return self._stream.read(size) - def read_content(self, offset, size): - return self.read_raw(self.content_offset + offset, size) + def _read_content(self, offset, size): + return self._read_raw(self.content_offset + offset, size) - def read_secondary_header(self): + def _read_secondary_header(self): offset = self.hdr_len + (self.num_pieces * self.PIECE_SIZE) - bytes = self.read_raw(offset, self.sec_hdr_len) + bytes = self._read_raw(offset, self.sec_hdr_len) offset = int32(bytes[4:]) while offset < len(bytes): blocktype = bytes[offset:offset+4] @@ -529,21 +507,21 @@ class LitFile(object): if not hasattr(self, 'content_offset'): raise LitError('Could not figure out the content offset') - def read_header_pieces(self): + def _read_header_pieces(self): src = self.header[self.hdr_len:] for i in xrange(self.num_pieces): piece = src[i * self.PIECE_SIZE:(i + 1) * self.PIECE_SIZE] if u32(piece[4:]) != 0 or u32(piece[12:]) != 0: raise LitError('Piece %s has 64bit value' % repr(piece)) offset, size = u32(piece), int32(piece[8:]) - piece = self.read_raw(offset, size) + piece = self._read_raw(offset, size) if i == 0: continue # Dont need this piece elif i == 1: if u32(piece[8:]) != self.entry_chunklen or \ u32(piece[12:]) != self.entry_unknown: raise LitError('Secondary header does not match piece') - self.read_directory(piece) + self._read_directory(piece) elif i == 2: if u32(piece[8:]) != self.count_chunklen or \ u32(piece[12:]) != self.count_unknown: @@ -554,13 +532,12 @@ class LitFile(object): elif i == 4: self.piece4_guid = piece - def read_directory(self, piece): + def _read_directory(self, piece): if not piece.startswith('IFCM'): raise LitError('Header piece #1 is not main directory.') chunk_size, num_chunks = int32(piece[8:12]), int32(piece[24:28]) if (32 + (num_chunks * chunk_size)) != len(piece): - raise LitError('IFCM header has incorrect length') - self.entries = {} + raise LitError('IFCM HEADER has incorrect length') for i in xrange(num_chunks): offset = 32 + (i * chunk_size) chunk = piece[offset:offset + chunk_size] @@ -594,17 +571,17 @@ class LitFile(object): entry = DirectoryEntry(name, section, offset, size) self.entries[name] = entry - def read_section_names(self): + def _read_section_names(self): if '::DataSpace/NameList' not in self.entries: raise LitError('Lit file does not have a valid NameList') raw = self.get_file('::DataSpace/NameList') if len(raw) < 4: raise LitError('Invalid Namelist section') pos = 4 - num_sections = u16(raw[2:pos]) - self.section_names = [""] * num_sections - self.section_data = [None] * num_sections - for section in xrange(num_sections): + self.num_sections = u16(raw[2:pos]) + self.section_names = [""]*self.num_sections + self.section_data = [None]*self.num_sections + for section in xrange(self.num_sections): size = u16(raw[pos:pos+2]) pos += 2 size = size*2 + 2 @@ -614,12 +591,11 @@ class LitFile(object): raw[pos:pos+size].decode('utf-16-le').rstrip('\000') pos += size - def read_manifest(self): + def _read_manifest(self): if '/manifest' not in self.entries: raise LitError('Lit file does not have a valid manifest') raw = self.get_file('/manifest') self.manifest = {} - self.paths = {self.opf_path: None} while raw: slen, raw = ord(raw[0]), raw[1:] if slen == 0: break @@ -658,9 +634,28 @@ class LitFile(object): for item in mlist: if item.path[0] == '/': item.path = os.path.basename(item.path) - self.paths[item.path] = item - def read_drm(self): + def _pretty_print(self, xml): + f = cStringIO.StringIO(xml.encode('utf-8')) + doc = etree.parse(f, parser=self.XML_PARSER) + pretty = etree.tostring(doc, encoding='ascii', pretty_print=True) + return XML_DECL + unicode(pretty) + + def _read_meta(self): + path = 'content.opf' + raw = self.get_file('/meta') + xml = OPF_DECL + try: + xml += unicode(UnBinary(raw, path, self.manifest, OPF_MAP)) + except LitError: + if 'PENGUIN group' not in raw: raise + print "WARNING: attempting PENGUIN malformed OPF fix" + raw = raw.replace( + 'PENGUIN group', '\x00\x01\x18\x00PENGUIN group', 1) + xml += unicode(UnBinary(raw, path, self.manifest, OPF_MAP)) + self.meta = xml + + def _read_drm(self): self.drmlevel = 0 if '/DRMStorage/Licenses/EUL' in self.entries: self.drmlevel = 5 @@ -671,7 +666,7 @@ class LitFile(object): else: return if self.drmlevel < 5: - msdes.deskey(self.calculate_deskey(), msdes.DE1) + msdes.deskey(self._calculate_deskey(), msdes.DE1) bookkey = msdes.des(self.get_file('/DRMStorage/DRMSealed')) if bookkey[0] != '\000': raise LitError('Unable to decrypt title key!') @@ -679,7 +674,7 @@ class LitFile(object): else: raise DRMError("Cannot access DRM-protected book") - def calculate_deskey(self): + def _calculate_deskey(self): hashfiles = ['/meta', '/DRMStorage/DRMSource'] if self.drmlevel == 3: hashfiles.append('/DRMStorage/DRMBookplate') @@ -703,18 +698,18 @@ class LitFile(object): def get_file(self, name): entry = self.entries[name] if entry.section == 0: - return self.read_content(entry.offset, entry.size) + return self._read_content(entry.offset, entry.size) section = self.get_section(entry.section) return section[entry.offset:entry.offset+entry.size] def get_section(self, section): data = self.section_data[section] if not data: - data = self.get_section_uncached(section) + data = self._get_section(section) self.section_data[section] = data return data - def get_section_uncached(self, section): + def _get_section(self, section): name = self.section_names[section] path = '::DataSpace/Storage/' + name transform = self.get_file(path + '/Transform/List') @@ -726,29 +721,29 @@ class LitFile(object): raise LitError("ControlData is too short") guid = msguid(transform) if guid == DESENCRYPT_GUID: - content = self.decrypt(content) + content = self._decrypt(content) control = control[csize:] elif guid == LZXCOMPRESS_GUID: reset_table = self.get_file( '/'.join(('::DataSpace/Storage', name, 'Transform', LZXCOMPRESS_GUID, 'InstanceData/ResetTable'))) - content = self.decompress(content, control, reset_table) + content = self._decompress(content, control, reset_table) control = control[csize:] else: raise LitError("Unrecognized transform: %s." % repr(guid)) transform = transform[16:] return content - def decrypt(self, content): + def _decrypt(self, content): length = len(content) extra = length & 0x7 if extra > 0: - self.warn("content length not a multiple of block size") + self._warn("content length not a multiple of block size") content += "\0" * (8 - extra) msdes.deskey(self.bookkey, msdes.DE1) return msdes.des(content) - def decompress(self, content, control, reset_table): + def _decompress(self, content, control, reset_table): if len(control) < 32 or control[CONTROL_TAG:CONTROL_TAG+4] != "LZXC": raise LitError("Invalid ControlData tag value") if len(reset_table) < (RESET_INTERVAL + 8): @@ -789,7 +784,7 @@ class LitFile(object): result.append( lzx.decompress(content[base:size], window_bytes)) except lzx.LZXError: - self.warn("LZX decompression error; skipping chunk") + self._warn("LZX decompression error; skipping chunk") bytes_remaining -= window_bytes base = size accum += int32(reset_table[RESET_INTERVAL:]) @@ -799,88 +794,55 @@ class LitFile(object): try: result.append(lzx.decompress(content[base:], bytes_remaining)) except lzx.LZXError: - self.warn("LZX decompression error; skipping chunk") + self._warn("LZX decompression error; skipping chunk") bytes_remaining = 0 if bytes_remaining > 0: raise LitError("Failed to completely decompress section") return ''.join(result) - -class LitReader(object): - def __init__(self, filename_or_stream): - self._litfile = LitFile(filename_or_stream) - - def namelist(self): - return self._litfile.paths.keys() - - def exists(self, name): - return urlunquote(name) in self._litfile.paths - - def read_xml(self, name): - entry = self._litfile.paths[urlunquote(name)] if name else None - if entry is None: - content = self._read_meta() - elif 'spine' in entry.state: - internal = '/'.join(('/data', entry.internal, 'content')) - raw = self._litfile.get_file(internal) - unbin = UnBinary(raw, name, self._litfile.manifest, HTML_MAP) - content = unbin.tree - else: - raise LitError('Requested non-XML content as XML') - return content - - def read(self, name, pretty_print=False): - entry = self._litfile.paths[urlunquote(name)] if name else None - if entry is None: - meta = self._read_meta() - content = OPF_DECL + etree.tostring( - meta, encoding='ascii', pretty_print=pretty_print) - elif 'spine' in entry.state: - internal = '/'.join(('/data', entry.internal, 'content')) - raw = self._litfile.get_file(internal) - unbin = UnBinary(raw, name, self._litfile.manifest, HTML_MAP) - content = HTML_DECL + def get_entry_content(self, entry, pretty_print=False): + if 'spine' in entry.state: + name = '/'.join(('/data', entry.internal, 'content')) + path = entry.path + raw = self.get_file(name) + decl, map = (OPF_DECL, OPF_MAP) \ + if name == '/meta' else (HTML_DECL, HTML_MAP) + content = decl + unicode(UnBinary(raw, path, self.manifest, map)) if pretty_print: - content += etree.tostring(unbin.tree, - encoding='ascii', pretty_print=True) - else: - content += str(unbin) + content = self._pretty_print(content) + content = content.encode('utf-8') else: - internal = '/'.join(('/data', entry.internal)) - content = self._litfile.get_file(internal) + name = '/'.join(('/data', entry.internal)) + content = self.get_file(name) return content - - def meta(): - def fget(self): - return self.read(self._litfile.opf_path) - return property(fget=fget) - meta = meta() - + + def extract_content(self, output_dir=os.getcwdu(), pretty_print=False): + output_dir = os.path.abspath(output_dir) + try: + opf_path = os.path.splitext( + os.path.basename(self._stream.name))[0] + '.opf' + except AttributeError: + opf_path = 'content.opf' + opf_path = os.path.join(output_dir, opf_path) + self._ensure_dir(opf_path) + with open(opf_path, 'wb') as f: + xml = self.meta + if pretty_print: + xml = self._pretty_print(xml) + f.write(xml.encode('utf-8')) + for entry in self.manifest.values(): + path = os.path.join(output_dir, entry.path) + self._ensure_dir(path) + with open(path, 'wb') as f: + f.write(self.get_entry_content(entry, pretty_print)) + def _ensure_dir(self, path): dir = os.path.dirname(path) if not os.path.isdir(dir): os.makedirs(dir) - - def extract_content(self, output_dir=os.getcwdu(), pretty_print=False): - for name in self.namelist(): - path = os.path.join(output_dir, name) - self._ensure_dir(path) - with open(path, 'wb') as f: - f.write(self.read(name, pretty_print=pretty_print)) - - def _read_meta(self): - path = 'content.opf' - raw = self._litfile.get_file('/meta') - try: - unbin = UnBinary(raw, path, self._litfile.manifest, OPF_MAP) - except LitError: - if 'PENGUIN group' not in raw: raise - print "WARNING: attempting PENGUIN malformed OPF fix" - raw = raw.replace( - 'PENGUIN group', '\x00\x01\x18\x00PENGUIN group', 1) - unbin = UnBinary(raw, path, self._litfile.manifest, OPF_MAP) - return unbin.tree + def _warn(self, msg): + print "WARNING: %s" % (msg,) def option_parser(): from calibre.utils.config import OptionParser @@ -890,8 +852,7 @@ def option_parser(): help=_('Output directory. Defaults to current directory.')) parser.add_option( '-p', '--pretty-print', default=False, action='store_true', - help=_('Legibly format extracted markup.' \ - ' May modify meaningful whitespace.')) + help=_('Legibly format extracted markup. May modify meaningful whitespace.')) parser.add_option( '--verbose', default=False, action='store_true', help=_('Useful for debugging.')) diff --git a/src/calibre/ebooks/lrf/__init__.py b/src/calibre/ebooks/lrf/__init__.py index 7c195f96e4..73a261b931 100644 --- a/src/calibre/ebooks/lrf/__init__.py +++ b/src/calibre/ebooks/lrf/__init__.py @@ -108,6 +108,8 @@ def option_parser(usage, gui_mode=False): help=_('Add a header to all the pages with title and author.')) laf.add_option('--headerformat', default="%t by %a", dest='headerformat', type='string', help=_('Set the format of the header. %a is replaced by the author and %t by the title. Default is %default')) + laf.add_option('--header-separation', default=0, type='int', + help=_('Add extra spacing below the header. Default is %default px.')) laf.add_option('--override-css', default=None, dest='_override_css', type='string', help=_('Override the CSS. Can be either a path to a CSS stylesheet or a string. If it is a string it is interpreted as CSS.')) laf.add_option('--use-spine', default=False, dest='use_spine', action='store_true', @@ -260,10 +262,11 @@ def Book(options, logger, font_delta=0, header=None, hb.append(header) hdr.PutObj(hb) ps['headheight'] = profile.header_height + ps['headsep'] = options.header_separation ps['header'] = hdr ps['topmargin'] = 0 ps['textheight'] = profile.screen_height - (options.bottom_margin + ps['topmargin']) \ - - ps['headheight'] - profile.fudge + - ps['headheight'] - ps['headsep'] - profile.fudge fontsize = int(10*profile.font_size+font_delta*20) baselineskip = fontsize + 20 diff --git a/src/calibre/ebooks/lrf/epub/convert_from.py b/src/calibre/ebooks/lrf/epub/convert_from.py index 071a2cb497..c564930ea5 100644 --- a/src/calibre/ebooks/lrf/epub/convert_from.py +++ b/src/calibre/ebooks/lrf/epub/convert_from.py @@ -2,14 +2,14 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal ' import os, sys, shutil, logging -from tempfile import mkdtemp from calibre.ebooks.lrf import option_parser as lrf_option_parser from calibre.ebooks import ConversionError, DRMError from calibre.ebooks.lrf.html.convert_from import process_file as html_process_file from calibre.ebooks.metadata.opf import OPF from calibre.ebooks.metadata.epub import OCFDirReader from calibre.utils.zipfile import ZipFile -from calibre import __appname__, setup_cli_handlers +from calibre import setup_cli_handlers +from calibre.ptempfile import PersistentTemporaryDirectory def option_parser(): @@ -22,17 +22,16 @@ _('''Usage: %prog [options] mybook.epub def generate_html(pathtoepub, logger): if not os.access(pathtoepub, os.R_OK): - raise ConversionError, 'Cannot read from ' + pathtoepub - tdir = mkdtemp(prefix=__appname__+'_') - os.rmdir(tdir) + raise ConversionError('Cannot read from ' + pathtoepub) + tdir = PersistentTemporaryDirectory('_epub2lrf') + #os.rmdir(tdir) try: ZipFile(pathtoepub).extractall(tdir) - if os.path.exists(os.path.join(tdir, 'META-INF', 'encryption.xml')): - raise DRMError(os.path.basename(pathtoepub)) except: - if os.path.exists(tdir) and os.path.isdir(tdir): - shutil.rmtree(tdir) raise ConversionError, '.epub extraction failed' + if os.path.exists(os.path.join(tdir, 'META-INF', 'encryption.xml')): + raise DRMError(os.path.basename(pathtoepub)) + return tdir def process_file(path, options, logger=None): diff --git a/src/calibre/ebooks/lrf/fonts/__init__.py b/src/calibre/ebooks/lrf/fonts/__init__.py index ebd022bdd3..1f67a50f25 100644 --- a/src/calibre/ebooks/lrf/fonts/__init__.py +++ b/src/calibre/ebooks/lrf/fonts/__init__.py @@ -12,24 +12,62 @@ except ImportError: ''' Default fonts used in the PRS500 ''' -from calibre.ebooks.lrf.fonts.prs500 import tt0003m_, tt0011m_, tt0419m_ + +SYSTEM_FONT_PATH = '/usr/share/fonts/truetype/ttf-liberation/' FONT_MAP = { - 'Swis721 BT Roman' : tt0003m_, - 'Dutch801 Rm BT Roman' : tt0011m_, - 'Courier10 BT Roman' : tt0419m_, + 'Swis721 BT Roman' : 'tt0003m_', + 'Dutch801 Rm BT Roman' : 'tt0011m_', + 'Courier10 BT Roman' : 'tt0419m_', } + +LIBERATION_FONT_MAP = { + 'Swis721 BT Roman' : 'LiberationSans_Regular', + 'Dutch801 Rm BT Roman' : 'LiberationSerif_Regular', + 'Courier10 BT Roman' : 'LiberationMono_Regular', + } + +SYSTEM_FONT_MAP = {} +for key, val in LIBERATION_FONT_MAP.items(): + SYSTEM_FONT_MAP[key] = SYSTEM_FONT_PATH + val.replace('_', '-') + '.ttf' + FONT_FILE_MAP = {} def get_font_path(name): if FONT_FILE_MAP.has_key(name) and os.access(FONT_FILE_MAP[name].name, os.R_OK): return FONT_FILE_MAP[name].name - p = PersistentTemporaryFile('.ttf', 'font_') - p.write(FONT_MAP[name].font_data) - p.close() - FONT_FILE_MAP[name] = p - return p.name + + # translate font into file name + fname = FONT_MAP[name] + + # first, check configuration in /etc/ + etc_file = os.path.join(os.path.sep, 'etc', 'calibre', 'fonts', fname + '.ttf') + if os.access(etc_file, os.R_OK): + return etc_file + + # then, try calibre shipped ones + try: + try: + font_mod = __import__('calibre.ebooks.lrf.fonts.prs500', {}, {}, + [fname], -1) + getattr(font_mod, fname) + except (ImportError, AttributeError): + font_mod = __import__('calibre.ebooks.lrf.fonts.liberation', {}, {}, + [LIBERATION_FONT_MAP[name]], -1) + p = PersistentTemporaryFile('.ttf', 'font_') + p.write(getattr(font_mod, fname).font_data) + p.close() + FONT_FILE_MAP[name] = p + return p.name + except ImportError: + pass + # finally, try system default ones + if SYSTEM_FONT_MAP.has_key(name) and os.access(SYSTEM_FONT_MAP[name], os.R_OK): + return SYSTEM_FONT_MAP[name] + + # not found + raise SystemError, 'font %s (in file %s) not installed' % (name, fname) def get_font(name, size, encoding='unic'): ''' @@ -43,4 +81,4 @@ def get_font(name, size, encoding='unic'): path = get_font_path(name) return ImageFont.truetype(path, size, encoding=encoding) elif name in FONT_FILE_MAP.keys(): - return ImageFont.truetype(FONT_FILE_MAP[name], size, encoding=encoding) \ No newline at end of file + return ImageFont.truetype(FONT_FILE_MAP[name], size, encoding=encoding) diff --git a/src/calibre/ebooks/lrf/html/convert_from.py b/src/calibre/ebooks/lrf/html/convert_from.py index 2ed8d29468..292ae0b50b 100644 --- a/src/calibre/ebooks/lrf/html/convert_from.py +++ b/src/calibre/ebooks/lrf/html/convert_from.py @@ -245,7 +245,6 @@ class HTMLConverter(object, LoggingInterface): self.override_css = {} self.override_pcss = {} - self.table_render_job_server = None if self._override_css is not None: if os.access(self._override_css, os.R_OK): @@ -266,41 +265,37 @@ class HTMLConverter(object, LoggingInterface): paths = [os.path.abspath(path) for path in paths] paths = [path.decode(sys.getfilesystemencoding()) if not isinstance(path, unicode) else path for path in paths] - try: - while len(paths) > 0 and self.link_level <= self.link_levels: - for path in paths: - if path in self.processed_files: - continue - try: - self.add_file(path) - except KeyboardInterrupt: + while len(paths) > 0 and self.link_level <= self.link_levels: + for path in paths: + if path in self.processed_files: + continue + try: + self.add_file(path) + except KeyboardInterrupt: + raise + except: + if self.link_level == 0: # Die on errors in the first level raise - except: - if self.link_level == 0: # Die on errors in the first level - raise - for link in self.links: - if link['path'] == path: - self.links.remove(link) - break - self.log_warn('Could not process '+path) - if self.verbose: - self.log_exception(' ') - self.links = self.process_links() - self.link_level += 1 - paths = [link['path'] for link in self.links] - - if self.current_page is not None and self.current_page.has_text(): - self.book.append(self.current_page) - - for text, tb in self.extra_toc_entries: - self.book.addTocEntry(text, tb) - - if self.base_font_size > 0: - self.log_info('\tRationalizing font sizes...') - self.book.rationalize_font_sizes(self.base_font_size) - finally: - if self.table_render_job_server is not None: - self.table_render_job_server.killall() + for link in self.links: + if link['path'] == path: + self.links.remove(link) + break + self.log_warn('Could not process '+path) + if self.verbose: + self.log_exception(' ') + self.links = self.process_links() + self.link_level += 1 + paths = [link['path'] for link in self.links] + + if self.current_page is not None and self.current_page.has_text(): + self.book.append(self.current_page) + + for text, tb in self.extra_toc_entries: + self.book.addTocEntry(text, tb) + + if self.base_font_size > 0: + self.log_info('\tRationalizing font sizes...') + self.book.rationalize_font_sizes(self.base_font_size) def is_baen(self, soup): return bool(soup.find('meta', attrs={'name':'Publisher', @@ -1732,15 +1727,11 @@ class HTMLConverter(object, LoggingInterface): self.process_children(tag, tag_css, tag_pseudo_css) elif tagname == 'table' and not self.ignore_tables and not self.in_table: if self.render_tables_as_images: - if self.table_render_job_server is None: - from calibre.parallel import Server - self.table_render_job_server = Server(number_of_workers=1) print 'Rendering table...' from calibre.ebooks.lrf.html.table_as_image import render_table pheight = int(self.current_page.pageStyle.attrs['textheight']) pwidth = int(self.current_page.pageStyle.attrs['textwidth']) - images = render_table(self.table_render_job_server, - self.soup, tag, tag_css, + images = render_table(self.soup, tag, tag_css, os.path.dirname(self.target_prefix), pwidth, pheight, self.profile.dpi, self.text_size_multiplier_for_rendered_tables) @@ -1906,6 +1897,8 @@ def process_file(path, options, logger=None): fpb = re.compile(options.force_page_break, re.IGNORECASE) if options.force_page_break else \ re.compile('$') cq = options.chapter_attr.split(',') + if len(cq) < 3: + raise ValueError('The --chapter-attr setting must have 2 commas.') options.chapter_attr = [re.compile(cq[0], re.IGNORECASE), cq[1], re.compile(cq[2], re.IGNORECASE)] options.force_page_break = fpb @@ -1933,7 +1926,7 @@ def process_file(path, options, logger=None): oname = os.path.abspath(os.path.expanduser(oname)) conv.writeto(oname, lrs=options.lrs) run_plugins_on_postprocess(oname, 'lrf') - logger.info('Output written to %s', oname) + conv.log_info('Output written to %s', oname) conv.cleanup() return oname @@ -1980,17 +1973,7 @@ def try_opf(path, options, logger): PILImage.open(cover) options.cover = cover except: - for prefix in opf.possible_cover_prefixes(): - if options.cover: - break - for suffix in ['.jpg', '.jpeg', '.gif', '.png', '.bmp']: - cpath = os.path.join(os.path.dirname(path), prefix+suffix) - try: - PILImage.open(cpath) - options.cover = cpath - break - except: - continue + pass if not getattr(options, 'cover', None) and orig_cover is not None: options.cover = orig_cover if getattr(opf, 'spine', False): diff --git a/src/calibre/ebooks/lrf/html/table_as_image.py b/src/calibre/ebooks/lrf/html/table_as_image.py index 7211dc858e..08eaec0436 100644 --- a/src/calibre/ebooks/lrf/html/table_as_image.py +++ b/src/calibre/ebooks/lrf/html/table_as_image.py @@ -6,14 +6,11 @@ __docformat__ = 'restructuredtext en' ''' Render HTML tables as images. ''' -import os, tempfile, atexit, shutil, time -from PyQt4.Qt import QUrl, QApplication, QSize, \ +import os, tempfile, atexit, shutil +from PyQt4.Qt import QUrl, QApplication, QSize, QEventLoop, \ SIGNAL, QPainter, QImage, QObject, Qt from PyQt4.QtWebKit import QWebPage -from calibre.parallel import ParallelJob - -__app = None class HTMLTableRenderer(QObject): @@ -27,13 +24,15 @@ class HTMLTableRenderer(QObject): self.app = None self.width, self.height, self.dpi = width, height, dpi self.base_dir = base_dir + self.images = [] + self.tdir = tempfile.mkdtemp(prefix='calibre_render_table') + self.loop = QEventLoop() self.page = QWebPage() self.connect(self.page, SIGNAL('loadFinished(bool)'), self.render_html) self.page.mainFrame().setTextSizeMultiplier(factor) self.page.mainFrame().setHtml(html, QUrl('file:'+os.path.abspath(self.base_dir))) - self.images = [] - self.tdir = tempfile.mkdtemp(prefix='calibre_render_table') + def render_html(self, ok): try: @@ -63,7 +62,7 @@ class HTMLTableRenderer(QObject): finally: QApplication.quit() -def render_table(server, soup, table, css, base_dir, width, height, dpi, factor=1.0): +def render_table(soup, table, css, base_dir, width, height, dpi, factor=1.0): head = '' for e in soup.findAll(['link', 'style']): head += unicode(e)+'\n\n' @@ -83,24 +82,13 @@ def render_table(server, soup, table, css, base_dir, width, height, dpi, factor= '''%(head, width-10, style, unicode(table)) - job = ParallelJob('render_table', lambda j : j, None, - args=[html, base_dir, width, height, dpi, factor]) - server.add_job(job) - while not job.has_run: - time.sleep(2) - - if job.exception is not None: - print 'Failed to render table' - print job.exception - print job.traceback - images, tdir = job.result + images, tdir = do_render(html, base_dir, width, height, dpi, factor) atexit.register(shutil.rmtree, tdir) return images def do_render(html, base_dir, width, height, dpi, factor): - app = QApplication.instance() - if app is None: - app = QApplication([]) + if QApplication.instance() is None: + QApplication([]) tr = HTMLTableRenderer(html, base_dir, width, height, dpi, factor) - app.exec_() + tr.loop.exec_() return tr.images, tr.tdir \ No newline at end of file diff --git a/src/calibre/ebooks/lrf/lrfparser.py b/src/calibre/ebooks/lrf/lrfparser.py index f24b265a59..d74841515c 100644 --- a/src/calibre/ebooks/lrf/lrfparser.py +++ b/src/calibre/ebooks/lrf/lrfparser.py @@ -77,7 +77,7 @@ class LRFDocument(LRFMetaFile): for obj in self.image_map.values() + self.font_map.values(): open(obj.file, 'wb').write(obj.stream) - def to_xml(self): + def to_xml(self, write_files=True): bookinfo = u'\n\n\n' bookinfo += u'%s\n'%(self.metadata.title_reading, self.metadata.title) bookinfo += u'%s\n'%(self.metadata.author_reading, self.metadata.author) @@ -89,9 +89,10 @@ class LRFDocument(LRFMetaFile): bookinfo += u'%s\n\n\n'%(self.metadata.free_text,) th = self.doc_info.thumbnail if th: - prefix = sanitize_file_name(self.metadata.title) + prefix = sanitize_file_name(self.metadata.title, as_unicode=True) bookinfo += u'\n'%(prefix+'_thumbnail.'+self.doc_info.thumbnail_extension,) - open(prefix+'_thumbnail.'+self.doc_info.thumbnail_extension, 'wb').write(th) + if write_files: + open(prefix+'_thumbnail.'+self.doc_info.thumbnail_extension, 'wb').write(th) bookinfo += u'%s\n'%(self.doc_info.language,) bookinfo += u'%s\n'%(self.doc_info.creator,) bookinfo += u'%s\n'%(self.doc_info.producer,) @@ -127,12 +128,16 @@ class LRFDocument(LRFMetaFile): objects += unicode(obj) styles += '\n' objects += '\n' - self.write_files() + if write_files: + self.write_files() return '\n' + bookinfo + pages + styles + objects + '' def option_parser(): parser = OptionParser(usage=_('%prog book.lrf\nConvert an LRF file into an LRS (XML UTF-8 encoded) file')) parser.add_option('--output', '-o', default=None, help=_('Output LRS file'), dest='out') + parser.add_option('--dont-output-resources', default=True, action='store_false', + help=_('Do not save embedded image and font files to disk'), + dest='output_resources') parser.add_option('--verbose', default=False, action='store_true', dest='verbose') return parser @@ -154,7 +159,7 @@ def main(args=sys.argv, logger=None): d = LRFDocument(open(args[1], 'rb')) d.parse() logger.info(_('Creating XML...')) - o.write(d.to_xml()) + o.write(d.to_xml(write_files=opts.output_resources)) logger.info(_('LRS written to ')+opts.out) return 0 diff --git a/src/calibre/ebooks/lrf/meta.py b/src/calibre/ebooks/lrf/meta.py index 6b5e296d14..331e101ddd 100644 --- a/src/calibre/ebooks/lrf/meta.py +++ b/src/calibre/ebooks/lrf/meta.py @@ -603,12 +603,18 @@ Show/edit the metadata in an LRF file.\n\n'''), parser.add_option("--get-thumbnail", action="store_true", \ dest="get_thumbnail", default=False, \ help=_("Extract thumbnail from LRF file")) + parser.add_option('--publisher', default=None, help=_('Set the publisher')) + parser.add_option('--classification', default=None, help=_('Set the book classification')) + parser.add_option('--creator', default=None, help=_('Set the book creator')) + parser.add_option('--producer', default=None, help=_('Set the book producer')) parser.add_option('--get-cover', action='store_true', default=False, help=_('Extract cover from LRF file. Note that the LRF format has no defined cover, so we use some heuristics to guess the cover.')) parser.add_option('--bookid', action='store', type='string', default=None, dest='book_id', help=_('Set book ID')) - parser.add_option("-p", "--page", action="store", type="string", \ - dest="page", help=_("Don't know what this is for")) + # The SumPage element specifies the number of "View"s (visible pages for the BookSetting element conditions) of the content. + # Basically, the total pages per the page size, font size, etc. when the LRF is first created. Since this will change as the book is reflowed, it is probably not worth using. + #parser.add_option("-p", "--page", action="store", type="string", \ + # dest="page", help=_("Don't know what this is for")) return parser @@ -624,6 +630,8 @@ def set_metadata(stream, mi): lrf.free_text = mi.comments if mi.author_sort: lrf.author_reading = mi.author_sort + if mi.publisher: + lrf.publisher = mi.publisher def main(args=sys.argv): @@ -644,10 +652,16 @@ def main(args=sys.argv): lrf.author_reading = options.author_reading if options.author: lrf.author = options.author + if options.publisher: + lrf.publisher = options.publisher + if options.classification: + lrf.classification = options.classification if options.category: lrf.category = options.category - if options.page: - lrf.page = options.page + if options.creator: + lrf.creator = options.creator + if options.producer: + lrf.producer = options.producer if options.thumbnail: path = os.path.expanduser(os.path.expandvars(options.thumbnail)) f = open(path, "rb") diff --git a/src/calibre/ebooks/metadata/html.py b/src/calibre/ebooks/metadata/html.py index 8d61a746fa..9ef578c858 100644 --- a/src/calibre/ebooks/metadata/html.py +++ b/src/calibre/ebooks/metadata/html.py @@ -10,9 +10,10 @@ Try to read metadata from an HTML file. import re from calibre.ebooks.metadata import MetaInformation +from calibre.ebooks.chardet import xml_to_unicode def get_metadata(stream): - src = stream.read() + src = xml_to_unicode(stream.read())[0] # Title title = None diff --git a/src/calibre/ebooks/metadata/meta.py b/src/calibre/ebooks/metadata/meta.py index c6d3cf479a..f2c31a538d 100644 --- a/src/calibre/ebooks/metadata/meta.py +++ b/src/calibre/ebooks/metadata/meta.py @@ -83,7 +83,7 @@ def get_metadata(stream, stream_type='lrf', use_libprs_metadata=False): return base def set_metadata(stream, mi, stream_type='lrf'): - if stream_type: + if stream_type: stream_type = stream_type.lower() set_file_type_metadata(stream, mi, stream_type) diff --git a/src/calibre/ebooks/metadata/opf2.py b/src/calibre/ebooks/metadata/opf2.py index 70180b014b..08ed9aacd1 100644 --- a/src/calibre/ebooks/metadata/opf2.py +++ b/src/calibre/ebooks/metadata/opf2.py @@ -418,7 +418,8 @@ class OPF(object): tags_path = XPath('descendant::*[re:match(name(), "subject", "i")]') isbn_path = XPath('descendant::*[re:match(name(), "identifier", "i") and '+ '(re:match(@scheme, "isbn", "i") or re:match(@opf:scheme, "isbn", "i"))]') - application_id_path= XPath('descendant::*[re:match(name(), "identifier", "i") and '+ + identifier_path = XPath('descendant::*[re:match(name(), "identifier", "i")]') + application_id_path = XPath('descendant::*[re:match(name(), "identifier", "i") and '+ '(re:match(@opf:scheme, "calibre|libprs500", "i") or re:match(@scheme, "calibre|libprs500", "i"))]') manifest_path = XPath('descendant::*[re:match(name(), "manifest", "i")]/*[re:match(name(), "item", "i")]') manifest_ppath = XPath('descendant::*[re:match(name(), "manifest", "i")]') @@ -719,6 +720,27 @@ class OPF(object): return property(fget=fget, fset=fset) + def guess_cover(self): + ''' + Try to guess a cover. Needed for some old/badly formed OPF files. + ''' + if self.base_dir and os.path.exists(self.base_dir): + for item in self.identifier_path(self.metadata): + scheme = None + for key in item.attrib.keys(): + if key.endswith('scheme'): + scheme = item.get(key) + break + if scheme is None: + continue + if item.text: + prefix = item.text.replace('-', '') + for suffix in ['.jpg', '.jpeg', '.gif', '.png', '.bmp']: + cpath = os.access(os.path.join(self.base_dir, prefix+suffix), os.R_OK) + if os.access(os.path.join(self.base_dir, prefix+suffix), os.R_OK): + return cpath + + @apply def cover(): @@ -728,6 +750,10 @@ class OPF(object): for item in self.guide: if item.type.lower() == t: return item.path + try: + return self.guess_cover() + except: + pass def fset(self, path): if self.guide is not None: diff --git a/src/calibre/ebooks/mobi/langcodes.py b/src/calibre/ebooks/mobi/langcodes.py index 17fbd7fe3e..5df11c4e38 100644 --- a/src/calibre/ebooks/mobi/langcodes.py +++ b/src/calibre/ebooks/mobi/langcodes.py @@ -305,8 +305,8 @@ IANA_MOBI = \ 'TW': (4, 4)}, 'zu': {None: (53, 0)}} -def iana2mobi(self, icode): - subtags = list(code.split('-')) +def iana2mobi(icode): + subtags = list(icode.split('-')) langdict = IANA_MOBI[None] while len(subtags) > 0: lang = subtags.pop(0).lower() @@ -316,6 +316,8 @@ def iana2mobi(self, icode): mcode = langdict[None] while len(subtags) > 0: subtag = subtags.pop(0) + if subtag not in langdict: + subtag = subtag.title() if subtag not in langdict: subtag = subtag.upper() if subtag in langdict: diff --git a/src/calibre/ebooks/mobi/mobiml.py b/src/calibre/ebooks/mobi/mobiml.py new file mode 100644 index 0000000000..b544d6d2e0 --- /dev/null +++ b/src/calibre/ebooks/mobi/mobiml.py @@ -0,0 +1,379 @@ +''' +Transform XHTML/OPS-ish content into Mobipocket HTML 3.2. +''' +from __future__ import with_statement + +__license__ = 'GPL v3' +__copyright__ = '2008, Marshall T. Vandegrift ' + +import sys +import os +import copy +import re +from lxml import etree +from calibre.ebooks.oeb.base import namespace, barename +from calibre.ebooks.oeb.base import XHTML, XHTML_NS +from calibre.ebooks.oeb.stylizer import Stylizer +from calibre.ebooks.oeb.transforms.flatcss import KeyMapper + +MBP_NS = 'http://mobipocket.com/ns/mbp' +def MBP(name): return '{%s}%s' % (MBP_NS, name) + +MOBI_NSMAP = {None: XHTML_NS, 'mbp': MBP_NS} + +HEADER_TAGS = set(['h1', 'h2', 'h3', 'h4', 'h5', 'h6']) +NESTABLE_TAGS = set(['ol', 'ul', 'li', 'table', 'tr', 'td', 'th']) +TABLE_TAGS = set(['table', 'tr', 'td', 'th']) +SPECIAL_TAGS = set(['hr', 'br']) +CONTENT_TAGS = set(['img', 'hr', 'br']) + +PAGE_BREAKS = set(['always', 'odd', 'even']) + +COLLAPSE = re.compile(r'[ \t\r\n\v]+') + +def asfloat(value): + if not isinstance(value, (int, long, float)): + return 0.0 + return float(value) + +class BlockState(object): + def __init__(self, body): + self.body = body + self.nested = [] + self.para = None + self.inline = None + self.anchor = None + self.vpadding = 0. + self.vmargin = 0. + self.pbreak = False + self.istate = None + self.content = False + +class FormatState(object): + def __init__(self): + self.left = 0. + self.halign = 'auto' + self.indent = 0. + self.fsize = 3 + self.ids = set() + self.valign = 'baseline' + self.italic = False + self.bold = False + self.preserve = False + self.family = 'serif' + self.href = None + self.list_num = 0 + self.attrib = {} + + def __eq__(self, other): + return self.fsize == other.fsize \ + and self.italic == other.italic \ + and self.bold == other.bold \ + and self.href == other.href \ + and self.valign == other.valign \ + and self.preserve == other.preserve \ + and self.family == other.family + + def __ne__(self, other): + return not self.__eq__(other) + + +class MobiMLizer(object): + def transform(self, oeb, context): + oeb.logger.info('Converting XHTML to Mobipocket markup...') + self.oeb = oeb + self.profile = profile = context.dest + self.fnums = fnums = dict((v, k) for k, v in profile.fnums.items()) + self.fmap = KeyMapper(profile.fbase, profile.fbase, fnums.keys()) + self.remove_html_cover() + self.mobimlize_spine() + + def remove_html_cover(self): + oeb = self.oeb + if not oeb.metadata.cover \ + or 'cover' not in oeb.guide: + return + href = oeb.guide['cover'].href + del oeb.guide['cover'] + item = oeb.manifest.hrefs[href] + oeb.manifest.remove(item) + + def mobimlize_spine(self): + for item in self.oeb.spine: + stylizer = Stylizer(item.data, item.href, self.oeb, self.profile) + body = item.data.find(XHTML('body')) + nroot = etree.Element(XHTML('html'), nsmap=MOBI_NSMAP) + nbody = etree.SubElement(nroot, XHTML('body')) + self.mobimlize_elem(body, stylizer, BlockState(nbody), + [FormatState()]) + item.data = nroot + + def mobimlize_font(self, ptsize): + return self.fnums[self.fmap[ptsize]] + + def mobimlize_measure(self, ptsize): + if isinstance(ptsize, basestring): + return ptsize + fbase = self.profile.fbase + if ptsize < fbase: + return "%dpt" % int(round(ptsize)) + return "%dem" % int(round(ptsize / fbase)) + + def preize_text(self, text): + text = unicode(text).replace(u' ', u'\xa0') + text = text.replace('\r\n', '\n') + text = text.replace('\r', '\n') + lines = text.split('\n') + result = lines[:1] + for line in lines[1:]: + result.append(etree.Element(XHTML('br'))) + if line: + result.append(line) + return result + + def mobimlize_content(self, tag, text, bstate, istates): + bstate.content = True + istate = istates[-1] + para = bstate.para + if tag in SPECIAL_TAGS and not text: + para = para if para is not None else bstate.body + elif para is None: + body = bstate.body + if bstate.pbreak: + etree.SubElement(body, MBP('pagebreak')) + bstate.pbreak = False + if istate.ids: + for id in istate.ids: + etree.SubElement(body, XHTML('a'), attrib={'id': id}) + istate.ids.clear() + bstate.istate = None + bstate.anchor = None + parent = bstate.nested[-1] if bstate.nested else bstate.body + indent = istate.indent + left = istate.left + if indent < 0 and abs(indent) < left: + left += indent + indent = 0 + elif indent != 0 and abs(indent) < self.profile.fbase: + indent = (indent / abs(indent)) * self.profile.fbase + if tag in NESTABLE_TAGS: + para = wrapper = etree.SubElement(parent, XHTML(tag)) + bstate.nested.append(para) + if tag == 'li' and len(istates) > 1: + istates[-2].list_num += 1 + para.attrib['value'] = str(istates[-2].list_num) + elif left > 0 and indent >= 0: + para = wrapper = etree.SubElement(parent, XHTML('blockquote')) + para = wrapper + emleft = int(round(left / self.profile.fbase)) - 1 + emleft = min((emleft, 10)) + while emleft > 0: + para = etree.SubElement(para, XHTML('blockquote')) + emleft -= 1 + else: + ptag = tag if tag in HEADER_TAGS else 'p' + para = wrapper = etree.SubElement(parent, XHTML(ptag)) + bstate.inline = bstate.para = para + vspace = bstate.vpadding + bstate.vmargin + bstate.vpadding = bstate.vmargin = 0 + if tag not in TABLE_TAGS: + wrapper.attrib['height'] = self.mobimlize_measure(vspace) + para.attrib['width'] = self.mobimlize_measure(indent) + elif tag == 'table' and vspace > 0: + body = bstate.body + vspace = int(round(vspace / self.profile.fbase)) + index = max((0, len(body) - 1)) + while vspace > 0: + body.insert(index, etree.Element(XHTML('br'))) + vspace -= 1 + if istate.halign != 'auto': + para.attrib['align'] = istate.halign + pstate = bstate.istate + if tag in CONTENT_TAGS: + bstate.inline = para + pstate = bstate.istate = None + etree.SubElement(para, XHTML(tag), attrib=istate.attrib) + elif tag in TABLE_TAGS: + para.attrib['valign'] = 'top' + if not text: + return + if not pstate or istate != pstate: + inline = para + valign = istate.valign + fsize = istate.fsize + href = istate.href + if not href: + bstate.anchor = None + elif pstate and pstate.href == href: + inline = bstate.anchor + else: + inline = etree.SubElement(inline, XHTML('a'), href=href) + bstate.anchor = inline + if valign == 'super': + inline = etree.SubElement(inline, XHTML('sup')) + elif valign == 'sub': + inline = etree.SubElement(inline, XHTML('sub')) + if istate.family == 'monospace': + inline = etree.SubElement(inline, XHTML('tt')) + if fsize != 3: + inline = etree.SubElement(inline, XHTML('font'), + size=str(fsize)) + if istate.italic: + inline = etree.SubElement(inline, XHTML('i')) + if istate.bold: + inline = etree.SubElement(inline, XHTML('b')) + bstate.inline = inline + bstate.istate = istate + inline = bstate.inline + content = self.preize_text(text) if istate.preserve else [text] + for item in content: + if isinstance(item, basestring): + if len(inline) == 0: + inline.text = (inline.text or '') + item + else: + last = inline[-1] + last.tail = (last.tail or '') + item + else: + inline.append(item) + + def mobimlize_elem(self, elem, stylizer, bstate, istates): + if not isinstance(elem.tag, basestring) \ + or namespace(elem.tag) != XHTML_NS: + return + style = stylizer.style(elem) + if style['display'] == 'none' \ + or style['visibility'] == 'hidden': + return + tag = barename(elem.tag) + istate = copy.copy(istates[-1]) + istate.list_num = 0 + istates.append(istate) + left = 0 + display = style['display'] + isblock = not display.startswith('inline') + isblock = isblock and style['float'] == 'none' + isblock = isblock and tag != 'br' + if isblock: + bstate.para = None + istate.halign = style['text-align'] + istate.indent = style['text-indent'] + if style['margin-left'] == 'auto' \ + and style['margin-right'] == 'auto': + istate.halign = 'center' + margin = asfloat(style['margin-left']) + padding = asfloat(style['padding-left']) + if tag != 'body': + left = margin + padding + istate.left += left + vmargin = asfloat(style['margin-top']) + bstate.vmargin = max((bstate.vmargin, vmargin)) + vpadding = asfloat(style['padding-top']) + if vpadding > 0: + bstate.vpadding += bstate.vmargin + bstate.vmargin = 0 + bstate.vpadding += vpadding + elif not istate.href: + margin = asfloat(style['margin-left']) + padding = asfloat(style['padding-left']) + lspace = margin + padding + if lspace > 0: + spaces = int(round((lspace * 3) / style['font-size'])) + elem.text = (u'\xa0' * spaces) + (elem.text or '') + margin = asfloat(style['margin-right']) + padding = asfloat(style['padding-right']) + rspace = margin + padding + if rspace > 0: + spaces = int(round((rspace * 3) / style['font-size'])) + if len(elem) == 0: + elem.text = (elem.text or '') + (u'\xa0' * spaces) + else: + last = elem[-1] + last.text = (last.text or '') + (u'\xa0' * spaces) + if bstate.content and style['page-break-before'] in PAGE_BREAKS: + bstate.pbreak = True + istate.fsize = self.mobimlize_font(style['font-size']) + istate.italic = True if style['font-style'] == 'italic' else False + weight = style['font-weight'] + istate.bold = weight in ('bold', 'bolder') or asfloat(weight) > 400 + istate.preserve = (style['white-space'] in ('pre', 'pre-wrap')) + if 'monospace' in style['font-family']: + istate.family = 'monospace' + elif 'sans-serif' in style['font-family']: + istate.family = 'sans-serif' + else: + istate.family = 'serif' + valign = style['vertical-align'] + if valign in ('super', 'sup') or asfloat(valign) > 0: + istate.valign = 'super' + elif valign == 'sub' or asfloat(valign) < 0: + istate.valign = 'sub' + else: + istate.valign = 'baseline' + if 'id' in elem.attrib: + istate.ids.add(elem.attrib['id']) + if 'name' in elem.attrib: + istate.ids.add(elem.attrib['name']) + if tag == 'a' and 'href' in elem.attrib: + istate.href = elem.attrib['href'] + istate.attrib.clear() + if tag == 'img' and 'src' in elem.attrib: + istate.attrib['src'] = elem.attrib['src'] + istate.attrib['align'] = 'baseline' + for prop in ('width', 'height'): + if style[prop] != 'auto': + value = style[prop] + if value == getattr(self.profile, prop): + result = '100%' + else: + ems = int(round(value / self.profile.fbase)) + result = "%dem" % ems + istate.attrib[prop] = result + elif tag == 'hr' and asfloat(style['width']) > 0: + prop = style['width'] / self.profile.width + istate.attrib['width'] = "%d%%" % int(round(prop * 100)) + elif display == 'table': + tag = 'table' + elif display == 'table-row': + tag = 'tr' + elif display == 'table-cell': + tag = 'td' + text = None + if elem.text: + if istate.preserve: + text = elem.text + elif len(elem) > 0 and elem.text.isspace(): + text = None + else: + text = COLLAPSE.sub(' ', elem.text) + if text or tag in CONTENT_TAGS or tag in NESTABLE_TAGS: + self.mobimlize_content(tag, text, bstate, istates) + for child in elem: + self.mobimlize_elem(child, stylizer, bstate, istates) + tail = None + if child.tail: + if istate.preserve: + tail = child.tail + elif bstate.para is None and child.tail.isspace(): + tail = None + else: + tail = COLLAPSE.sub(' ', child.tail) + if tail: + self.mobimlize_content(tag, tail, bstate, istates) + if bstate.content and style['page-break-after'] in PAGE_BREAKS: + bstate.pbreak = True + if isblock: + para = bstate.para + if para is not None and para.text == u'\xa0': + para.getparent().replace(para, etree.Element(XHTML('br'))) + bstate.para = None + bstate.istate = None + vmargin = asfloat(style['margin-bottom']) + bstate.vmargin = max((bstate.vmargin, vmargin)) + vpadding = asfloat(style['padding-bottom']) + if vpadding > 0: + bstate.vpadding += bstate.vmargin + bstate.vmargin = 0 + bstate.vpadding += vpadding + if tag in NESTABLE_TAGS and bstate.nested: + bstate.nested.pop() + istates.pop() diff --git a/src/calibre/ebooks/mobi/palmdoc.py b/src/calibre/ebooks/mobi/palmdoc.py index e74f6eeedc..340b6d37fd 100644 --- a/src/calibre/ebooks/mobi/palmdoc.py +++ b/src/calibre/ebooks/mobi/palmdoc.py @@ -74,12 +74,13 @@ def compress_doc(data): else: j = i binseq = [ch] - while True: + while j < ldata: ch = data[j] och = ord(ch) if och < 1 or (och > 8 and och < 0x80): break binseq.append(ch) + j += 1 out.write(pack('>B', len(binseq))) out.write(''.join(binseq)) i += len(binseq) - 1 diff --git a/src/calibre/ebooks/mobi/reader.py b/src/calibre/ebooks/mobi/reader.py index 420159299e..d76b5f1574 100644 --- a/src/calibre/ebooks/mobi/reader.py +++ b/src/calibre/ebooks/mobi/reader.py @@ -22,6 +22,7 @@ from calibre.ebooks.mobi.langcodes import main_language, sub_language from calibre.ebooks.metadata import MetaInformation from calibre.ebooks.metadata.opf import OPFCreator from calibre.ebooks.metadata.toc import TOC +from calibre import sanitize_file_name class EXTHHeader(object): @@ -200,7 +201,8 @@ class MobiReader(object): guide = soup.find('guide') for elem in soup.findAll(['metadata', 'guide']): elem.extract() - htmlfile = os.path.join(output_dir, self.name+'.html') + htmlfile = os.path.join(output_dir, + sanitize_file_name(self.name)+'.html') try: for ref in guide.findAll('reference', href=True): ref['href'] = os.path.basename(htmlfile)+ref['href'] @@ -232,6 +234,15 @@ class MobiReader(object): def cleanup_soup(self, soup): if self.verbose: print 'Replacing height, width and align attributes' + size_map = { + 'xx-small' : '0.5', + 'x-small' : '1', + 'small' : '2', + 'medium' : '3', + 'large' : '4', + 'x-large' : '5', + 'xx-large' : '6', + } for tag in soup.recursiveChildGenerator(): if not isinstance(tag, Tag): continue styles = [] @@ -246,6 +257,8 @@ class MobiReader(object): pass try: styles.append('text-indent: %s' % tag['width']) + if tag['width'].startswith('-'): + styles.append('margin-left: %s'%(tag['width'][1:])) del tag['width'] except KeyError: pass @@ -256,6 +269,15 @@ class MobiReader(object): pass if styles: tag['style'] = '; '.join(styles) + + if tag.name.lower() == 'font': + sz = tag.get('size', '') + try: + float(sz) + except ValueError: + sz = sz.lower() + if sz in size_map.keys(): + tag['size'] = size_map[sz] def create_opf(self, htmlfile, guide=None): mi = self.book_header.exth.mi @@ -289,7 +311,8 @@ class MobiReader(object): except: text = '' text = ent_pat.sub(entity_to_unicode, text) - tocobj.add_item(toc.partition('#')[0], a['href'][1:], text) + if a['href'].startswith('#'): + tocobj.add_item(toc.partition('#')[0], a['href'][1:], text) if tocobj is not None: opf.set_toc(tocobj) @@ -313,7 +336,9 @@ class MobiReader(object): while flags: if flags & 1: num += sizeof_trailing_entry(data, size - num) - flags >>= 1 + flags >>= 1 + if self.book_header.extra_flags & 1: + num += (ord(data[size - num - 1]) & 0x3) + 1 return num def text_section(self, index): diff --git a/src/calibre/ebooks/mobi/writer.py b/src/calibre/ebooks/mobi/writer.py index 4986790828..a939243f8d 100644 --- a/src/calibre/ebooks/mobi/writer.py +++ b/src/calibre/ebooks/mobi/writer.py @@ -19,14 +19,23 @@ from collections import defaultdict from urlparse import urldefrag from lxml import etree from PIL import Image +from calibre.ebooks.oeb.base import XML_NS, XHTML, XHTML_NS, OEB_DOCS, \ + OEB_RASTER_IMAGES +from calibre.ebooks.oeb.base import xpath, barename, namespace, prefixname +from calibre.ebooks.oeb.base import FauxLogger, OEBBook +from calibre.ebooks.oeb.profile import Context +from calibre.ebooks.oeb.transforms.flatcss import CSSFlattener +from calibre.ebooks.oeb.transforms.rasterize import SVGRasterizer +from calibre.ebooks.oeb.transforms.trimmanifest import ManifestTrimmer from calibre.ebooks.mobi.palmdoc import compress_doc from calibre.ebooks.mobi.langcodes import iana2mobi -from calibre.ebooks.lit.oeb import XML_NS, XHTML, XHTML_NS, OEB_DOCS -from calibre.ebooks.lit.oeb import xpath, barename, namespace, prefixname -from calibre.ebooks.lit.oeb import FauxLogger, OEBBook +from calibre.ebooks.mobi.mobiml import MBP_NS, MBP, MobiMLizer -MBP_NS = 'http://mobipocket.com/ns/mbp' -def MBP(name): return '{%s}%s' % (MBP_NS, name) +# TODO: +# - Allow override CSS (?) +# - Generate index records +# - Generate in-content ToC +# - Command line options, etc. EXTH_CODES = { 'creator': 100, @@ -43,33 +52,54 @@ EXTH_CODES = { 'title': 503, } +RECORD_SIZE = 0x1000 + UNCOMPRESSED = 1 PALMDOC = 2 HUFFDIC = 17480 -def encode(data): - return data.encode('ascii', 'xmlcharrefreplace') +MAX_IMAGE_SIZE = 63 * 1024 +MAX_THUMB_SIZE = 16 * 1024 +MAX_THUMB_DIMEN = (180, 240) +def encode(data): + return data.encode('utf-8') + +# Almost like the one for MS LIT, but not quite. +DECINT_FORWARD = 0 +DECINT_BACKWARD = 1 +def decint(value, direction): + bytes = [] + while True: + b = value & 0x7f + value >>= 7 + bytes.append(b) + if value == 0: + break + if direction == DECINT_FORWARD: + bytes[0] |= 0x80 + elif direction == DECINT_BACKWARD: + bytes[-1] |= 0x80 + return ''.join(chr(b) for b in reversed(bytes)) class Serializer(object): NSRMAP = {'': None, XML_NS: 'xml', XHTML_NS: '', MBP_NS: 'mbp'} def __init__(self, oeb, images): + oeb.logger.info('Serializing markup content...') self.oeb = oeb self.images = images self.id_offsets = {} self.href_offsets = defaultdict(list) + self.breaks = [] buffer = self.buffer = StringIO() buffer.write('') self.serialize_head() self.serialize_body() buffer.write('') self.fixup_links() - self.raw = buffer.getvalue() - - def __str__(self): - return self.raw + self.text = buffer.getvalue() def serialize_head(self): buffer = self.buffer @@ -80,8 +110,12 @@ class Serializer(object): def serialize_guide(self): buffer = self.buffer + hrefs = self.oeb.manifest.hrefs buffer.write('') for ref in self.oeb.guide.values(): + path, frag = urldefrag(ref.href) + if hrefs[path].media_type not in OEB_DOCS: + continue buffer.write('') - for item in self.oeb.spine: + spine = [item for item in self.oeb.spine if item.linear] + spine.extend([item for item in self.oeb.spine if not item.linear]) + for item in spine: self.serialize_item(item) buffer.write('') def serialize_item(self, item): buffer = self.buffer - buffer.write('') - # TODO: Figure out how to make the 'crossable' stuff work for - # non-"linear" spine items. - self.id_offsets[item.id + '#calibre_top'] = buffer.tell() + if not item.linear: + self.breaks.append(buffer.tell() - 1) + self.id_offsets[item.id] = buffer.tell() for elem in item.data.find(XHTML('body')): self.serialize_elem(elem, item) + buffer.write('') def serialize_elem(self, elem, item, nsrmap=NSRMAP): - if namespace(elem.tag) not in nsrmap: - return buffer = self.buffer + if not isinstance(elem.tag, basestring) \ + or namespace(elem.tag) not in nsrmap: + return hrefs = self.oeb.manifest.hrefs tag = prefixname(elem.tag, nsrmap) for attr in ('name', 'id'): @@ -134,6 +170,9 @@ class Serializer(object): id = '#'.join((item.id, elem.attrib[attr])) self.id_offsets[id] = buffer.tell() del elem.attrib[attr] + if tag == 'a' and not elem.attrib \ + and not len(elem) and not elem.text: + return buffer.write('<') buffer.write(tag) if elem.attrib: @@ -149,18 +188,29 @@ class Serializer(object): index = self.images[val] buffer.write('recindex="%05d"' % index) continue - buffer.write('%s="%s"' % (attr, val)) + buffer.write(attr) + buffer.write('="') + self.serialize_text(val, quot=True) + buffer.write('"') if elem.text or len(elem) > 0: buffer.write('>') if elem.text: - buffer.write(encode(elem.text)) + self.serialize_text(elem.text) for child in elem: self.serialize_elem(child, item) + if child.tail: + self.serialize_text(child.tail) buffer.write('' % tag) else: buffer.write('/>') - if elem.tail: - buffer.write(encode(elem.tail)) + + def serialize_text(self, text, quot=False): + text = text.replace('&', '&') + text = text.replace('<', '<') + text = text.replace('>', '>') + if quot: + text = text.replace('"', '"') + self.buffer.write(encode(text)) def fixup_links(self): buffer = self.buffer @@ -172,8 +222,8 @@ class Serializer(object): class MobiWriter(object): - def __init__(self, compress=None, logger=FauxLogger()): - self._compress = compress or UNCOMPRESSED + def __init__(self, compression=None, logger=FauxLogger()): + self._compression = compression or UNCOMPRESSED self._logger = logger def dump(self, oeb, path): @@ -207,42 +257,113 @@ class MobiWriter(object): index = 1 self._images = images = {} for item in self._oeb.manifest.values(): - if item.media_type.startswith('image/'): + if item.media_type in OEB_RASTER_IMAGES: images[item.href] = index index += 1 - + + def _read_text_record(self, text): + pos = text.tell() + text.seek(0, 2) + npos = min((pos + RECORD_SIZE, text.tell())) + last = '' + while not last.decode('utf-8', 'ignore'): + size = len(last) + 1 + text.seek(npos - size) + last = text.read(size) + extra = 0 + try: + last.decode('utf-8') + except UnicodeDecodeError: + prev = len(last) + while True: + text.seek(npos - prev) + last = text.read(len(last) + 1) + try: + last.decode('utf-8') + except UnicodeDecodeError: + pass + else: + break + extra = len(last) - prev + text.seek(pos) + data = text.read(RECORD_SIZE) + overlap = text.read(extra) + text.seek(npos) + return data, overlap + def _generate_text(self): serializer = Serializer(self._oeb, self._images) - text = str(serializer) + breaks = serializer.breaks + text = serializer.text self._text_length = len(text) text = StringIO(text) nrecords = 0 - data = text.read(0x1000) + offset = 0 + data, overlap = self._read_text_record(text) while len(data) > 0: - nrecords += 1 - if self._compress == PALMDOC: + if self._compression == PALMDOC: data = compress_doc(data) - # Without the NUL Mobipocket Desktop 6.2 will thrash. Why? - self._records.append(data + '\0') - data = text.read(0x1000) + record = StringIO() + record.write(data) + record.write(overlap) + record.write(pack('>B', len(overlap))) + nextra = 0 + pbreak = 0 + running = offset + while breaks and (breaks[0] - offset) < RECORD_SIZE: + pbreak = (breaks.pop(0) - running) >> 3 + encoded = decint(pbreak, DECINT_FORWARD) + record.write(encoded) + running += pbreak << 3 + nextra += len(encoded) + lsize = 1 + while True: + size = decint(nextra + lsize, DECINT_BACKWARD) + if len(size) == lsize: + break + lsize += 1 + record.write(size) + self._records.append(record.getvalue()) + nrecords += 1 + offset += RECORD_SIZE + data, overlap = self._read_text_record(text) self._text_nrecords = nrecords def _rescale_image(self, data, maxsizeb, dimen=None): - if dimen is not None: - image = Image.open(StringIO(data)) - image.thumbnail(dimen, Image.ANTIALIAS) - data = StringIO() - image.save(data, image.format) - data = data.getvalue() - if len(data) < maxsizeb: - return data image = Image.open(StringIO(data)) + format = image.format + changed = False + if image.format not in ('JPEG', 'GIF'): + format = 'GIF' + changed = True + if dimen is not None: + image.thumbnail(dimen, Image.ANTIALIAS) + changed = True + if changed: + data = StringIO() + image.save(data, format) + data = data.getvalue() + if len(data) <= maxsizeb: + return data + image = image.convert('RGBA') for quality in xrange(95, -1, -1): data = StringIO() image.save(data, 'JPEG', quality=quality) data = data.getvalue() if len(data) <= maxsizeb: - break + return data + width, height = image.size + for scale in xrange(99, 0, -1): + scale = scale / 100. + data = StringIO() + scaled = image.copy() + size = (int(width * scale), (height * scale)) + scaled.thumbnail(size, Image.ANTIALIAS) + scaled.save(data, 'JPEG', quality=0) + data = data.getvalue() + if len(data) <= maxsizeb: + return data + # Well, we tried? return data def _generate_images(self): @@ -252,35 +373,37 @@ class MobiWriter(object): coverid = metadata.cover[0] if metadata.cover else None for _, href in images: item = self._oeb.manifest.hrefs[href] - maxsizek = 89 if coverid == item.id else 63 - maxsizeb = maxsizek * 1024 - data = self._rescale_image(item.data, maxsizeb) + data = self._rescale_image(item.data, MAX_IMAGE_SIZE) self._records.append(data) def _generate_record0(self): metadata = self._oeb.metadata exth = self._build_exth() record0 = StringIO() - record0.write(pack('>HHIHHHH', self._compress, 0, self._text_length, - self._text_nrecords, 0x1000, 0, 0)) + record0.write(pack('>HHIHHHH', self._compression, 0, + self._text_length, self._text_nrecords, RECORD_SIZE, 0, 0)) uid = random.randint(0, 0xffffffff) title = str(metadata.title[0]) record0.write('MOBI') - record0.write(pack('>IIIII', 0xe8, 2, 65001, uid, 5)) + record0.write(pack('>IIIII', 0xe8, 2, 65001, uid, 6)) record0.write('\xff' * 40) record0.write(pack('>I', self._text_nrecords + 1)) record0.write(pack('>II', 0xe8 + 16 + len(exth), len(title))) record0.write(iana2mobi(str(metadata.language[0]))) record0.write('\0' * 8) - record0.write(pack('>II', 5, self._text_nrecords + 1)) + record0.write(pack('>II', 6, self._text_nrecords + 1)) record0.write('\0' * 16) record0.write(pack('>I', 0x50)) record0.write('\0' * 32) record0.write(pack('>IIII', 0xffffffff, 0xffffffff, 0, 0)) - # TODO: What the hell are these fields? + # The '5' is a bitmask of extra record data at the end: + # - 0x1: (?) + # - 0x4: + # Of course, the formats aren't quite the same. + # TODO: What the hell are the rest of these fields? record0.write(pack('>IIIIIIIIIIIIIIIII', 0, 0, 0, 0xffffffff, 0, 0xffffffff, 0, 0xffffffff, 0, 0xffffffff, - 0, 0xffffffff, 0, 0xffffffff, 0xffffffff, 1, 0xffffffff)) + 0, 0xffffffff, 0, 0xffffffff, 0xffffffff, 5, 0xffffffff)) record0.write(exth) record0.write(title) record0 = record0.getvalue() @@ -294,13 +417,13 @@ class MobiWriter(object): if term not in EXTH_CODES: continue code = EXTH_CODES[term] for item in oeb.metadata[term]: - data = str(item) + data = unicode(item).encode('utf-8') exth.write(pack('>II', code, len(data) + 8)) exth.write(data) nrecs += 1 if oeb.metadata.cover: id = str(oeb.metadata.cover[0]) - item = oeb.manifest[id] + item = oeb.manifest.ids[id] href = item.href index = self._images[href] - 1 exth.write(pack('>III', 0xc9, 0x0c, index)) @@ -315,9 +438,7 @@ class MobiWriter(object): return ''.join(exth) def _add_thumbnail(self, item): - maxsizeb = 16 * 1024 - dimen = (180, 240) - data = self._rescale_image(item.data, maxsizeb, dimen) + data = self._rescale_image(item.data, MAX_THUMB_SIZE, MAX_THUMB_DIMEN) manifest = self._oeb.manifest id, href = manifest.generate('thumbnail', 'thumbnail.jpeg') manifest.add(id, href, 'image/jpeg', data=data) @@ -346,9 +467,24 @@ class MobiWriter(object): def main(argv=sys.argv): + from calibre.ebooks.oeb.base import DirWriter inpath, outpath = argv[1:] + context = Context('Firefox', 'MobiDesktop') oeb = OEBBook(inpath) - writer = MobiWriter() + #writer = MobiWriter(compression=PALMDOC) + writer = MobiWriter(compression=UNCOMPRESSED) + #writer = DirWriter() + fbase = context.dest.fbase + fkey = context.dest.fnums.values() + flattener = CSSFlattener( + fbase=fbase, fkey=fkey, unfloat=True, untable=True) + rasterizer = SVGRasterizer() + trimmer = ManifestTrimmer() + mobimlizer = MobiMLizer() + flattener.transform(oeb, context) + rasterizer.transform(oeb, context) + mobimlizer.transform(oeb, context) + trimmer.transform(oeb, context) writer.dump(oeb, outpath) return 0 diff --git a/src/calibre/ebooks/oeb/base.py b/src/calibre/ebooks/oeb/base.py index 137448d155..f5262c977f 100644 --- a/src/calibre/ebooks/oeb/base.py +++ b/src/calibre/ebooks/oeb/base.py @@ -14,10 +14,14 @@ from itertools import izip, count from urlparse import urldefrag, urlparse, urlunparse from urllib import unquote as urlunquote import logging +import re +import htmlentitydefs +import uuid +import copy from lxml import etree from calibre import LoggingInterface -XML_PARSER = etree.XMLParser(recover=True, resolve_entities=False) +XML_PARSER = etree.XMLParser(recover=True) XML_NS = 'http://www.w3.org/XML/1998/namespace' XHTML_NS = 'http://www.w3.org/1999/xhtml' OPF1_NS = 'http://openebook.org/namespaces/oeb-package/1.0/' @@ -28,15 +32,20 @@ DC11_NS = 'http://purl.org/dc/elements/1.1/' XSI_NS = 'http://www.w3.org/2001/XMLSchema-instance' DCTERMS_NS = 'http://purl.org/dc/terms/' NCX_NS = 'http://www.daisy.org/z3986/2005/ncx/' +SVG_NS = 'http://www.w3.org/2000/svg' +XLINK_NS = 'http://www.w3.org/1999/xlink' XPNSMAP = {'h': XHTML_NS, 'o1': OPF1_NS, 'o2': OPF2_NS, 'd09': DC09_NS, 'd10': DC10_NS, 'd11': DC11_NS, - 'xsi': XSI_NS, 'dt': DCTERMS_NS, 'ncx': NCX_NS} + 'xsi': XSI_NS, 'dt': DCTERMS_NS, 'ncx': NCX_NS, + 'svg': SVG_NS, 'xl': XLINK_NS} def XML(name): return '{%s}%s' % (XML_NS, name) def XHTML(name): return '{%s}%s' % (XHTML_NS, name) def OPF(name): return '{%s}%s' % (OPF2_NS, name) def DC(name): return '{%s}%s' % (DC11_NS, name) def NCX(name): return '{%s}%s' % (NCX_NS, name) +def SVG(name): return '{%s}%s' % (SVG_NS, name) +def XLINK(name): return '{%s}%s' % (XLINK_NS, name) EPUB_MIME = 'application/epub+zip' XHTML_MIME = 'application/xhtml+xml' @@ -46,12 +55,24 @@ OPF_MIME = 'application/oebps-package+xml' OEB_DOC_MIME = 'text/x-oeb1-document' OEB_CSS_MIME = 'text/x-oeb1-css' OPENTYPE_MIME = 'font/opentype' +GIF_MIME = 'image/gif' +JPEG_MIME = 'image/jpeg' +PNG_MIME = 'image/png' +SVG_MIME = 'image/svg+xml' OEB_STYLES = set([CSS_MIME, OEB_CSS_MIME, 'text/x-oeb-css']) OEB_DOCS = set([XHTML_MIME, 'text/html', OEB_DOC_MIME, 'text/x-oeb-document']) +OEB_RASTER_IMAGES = set([GIF_MIME, JPEG_MIME, PNG_MIME]) +OEB_IMAGES = set([GIF_MIME, JPEG_MIME, PNG_MIME, SVG_MIME]) MS_COVER_TYPE = 'other.ms-coverimage-standard' +ENTITYDEFS = dict(htmlentitydefs.entitydefs) +del ENTITYDEFS['lt'] +del ENTITYDEFS['gt'] +del ENTITYDEFS['quot'] +del ENTITYDEFS['amp'] + def element(parent, *args, **kwargs): if parent is not None: @@ -101,12 +122,20 @@ def urlnormalize(href): return urlunparse(parts) +class OEBError(Exception): + pass + + class FauxLogger(object): def __getattr__(self, name): return self def __call__(self, message): print message +class Logger(LoggingInterface, object): + def __getattr__(self, name): + return object.__getattribute__(self, 'log_' + name) + class AbstractContainer(object): def read_xml(self, path): @@ -161,8 +190,9 @@ class Metadata(object): 'xsi': XSI_NS} class Item(object): - def __init__(self, term, value, fq_attrib={}): - self.fq_attrib = dict(fq_attrib) + def __init__(self, term, value, fq_attrib={}, **kwargs): + self.fq_attrib = fq_attrib = dict(fq_attrib) + fq_attrib.update(kwargs) if term == OPF('meta') and not value: term = self.fq_attrib.pop('name') value = self.fq_attrib.pop('content') @@ -224,8 +254,8 @@ class Metadata(object): self.oeb = oeb self.items = defaultdict(list) - def add(self, term, value, attrib={}): - item = self.Item(term, value, attrib) + def add(self, term, value, attrib={}, **kwargs): + item = self.Item(term, value, attrib, **kwargs) items = self.items[barename(item.term)] items.append(item) return item @@ -266,6 +296,9 @@ class Metadata(object): class Manifest(object): class Item(object): + ENTITY_RE = re.compile(r'&([a-zA-Z_:][a-zA-Z0-9.-_:]+);') + NUM_RE = re.compile('^(.*)([0-9][0-9.]*)(?=[.]|$)') + def __init__(self, id, href, media_type, fallback=None, loader=str, data=None): self.id = id @@ -281,19 +314,24 @@ class Manifest(object): return 'Item(id=%r, href=%r, media_type=%r)' \ % (self.id, self.href, self.media_type) + def _force_xhtml(self, data): + repl = lambda m: ENTITYDEFS.get(m.group(1), m.group(0)) + data = self.ENTITY_RE.sub(repl, data) + data = etree.fromstring(data, parser=XML_PARSER) + if namespace(data.tag) != XHTML_NS: + data.attrib['xmlns'] = XHTML_NS + data = etree.tostring(data) + data = etree.fromstring(data, parser=XML_PARSER) + return data + def data(): def fget(self): if self._data is not None: return self._data data = self._loader(self.href) if self.media_type in OEB_DOCS: - data = etree.fromstring(data, parser=XML_PARSER) - if namespace(data.tag) != XHTML_NS: - data.attrib['xmlns'] = XHTML_NS - data = etree.tostring(data) - data = etree.fromstring(data, parser=XML_PARSER) - elif self.media_type.startswith('application/') \ - and self.media_type.endswith('+xml'): + data = self._force_xhtml(data) + elif self.media_type[-4:] in ('+xml', '/xml'): data = etree.fromstring(data, parser=XML_PARSER) self._data = data return data @@ -310,11 +348,22 @@ class Manifest(object): return xml2str(data) return str(data) + def __eq__(self, other): + return id(self) == id(other) + def __cmp__(self, other): result = cmp(self.spine_position, other.spine_position) if result != 0: return result - return cmp(self.id, other.id) + smatch = self.NUM_RE.search(self.href) + sref = smatch.group(1) if smatch else self.href + snum = float(smatch.group(2)) if smatch else 0.0 + skey = (sref, snum, self.id) + omatch = self.NUM_RE.search(other.href) + oref = omatch.group(1) if omatch else other.href + onum = float(omatch.group(2)) if omatch else 0.0 + okey = (oref, onum, other.id) + return cmp(skey, okey) def relhref(self, href): if '/' not in self.href: @@ -519,9 +568,12 @@ class Guide(object): for type, ref in self.refs.items(): yield type, ref - def __getitem__(self, index): - return self.refs[index] + def __getitem__(self, key): + return self.refs[key] + def __delitem__(self, key): + del self.refs[key] + def __contains__(self, key): return key in self.refs @@ -625,13 +677,22 @@ class OEBBook(object): self._all_from_opf(opf) def _convert_opf1(self, opf): + # Seriously, seriously wrong + if namespace(opf.tag) == OPF1_NS: + opf.tag = barename(opf.tag) + for elem in opf.iterdescendants(): + if isinstance(elem.tag, basestring) \ + and namespace(elem.tag) == OPF1_NS: + elem.tag = barename(elem.tag) + attrib = dict(opf.attrib) + attrib['version'] = '2.0' nroot = etree.Element(OPF('package'), - nsmap={None: OPF2_NS}, version="2.0", **dict(opf.attrib)) + nsmap={None: OPF2_NS}, attrib=attrib) metadata = etree.SubElement(nroot, OPF('metadata'), nsmap={'opf': OPF2_NS, 'dc': DC11_NS, 'xsi': XSI_NS, 'dcterms': DCTERMS_NS}) for prefix in ('d11', 'd10', 'd09'): - elements = xpath(opf, 'metadata/dc-metadata/%s:*' % prefix) + elements = xpath(opf, 'metadata//%s:*' % prefix) if elements: break for element in elements: if not element.text: continue @@ -643,7 +704,7 @@ class OEBBook(object): element.attrib[nsname] = element.attrib[name] del element.attrib[name] metadata.append(element) - for element in opf.xpath('metadata/x-metadata/meta'): + for element in opf.xpath('metadata//meta'): metadata.append(element) for item in opf.xpath('manifest/item'): media_type = item.attrib['media-type'].lower() @@ -660,31 +721,48 @@ class OEBBook(object): def _read_opf(self, opfpath): opf = self.container.read_xml(opfpath) version = float(opf.get('version', 1.0)) - if version < 2.0: + ns = namespace(opf.tag) + if ns not in ('', OPF1_NS, OPF2_NS): + raise OEBError('Invalid namespace %r for OPF document' % ns) + if ns != OPF2_NS or version < 2.0: opf = self._convert_opf1(opf) return opf def _metadata_from_opf(self, opf): - uid = opf.attrib['unique-identifier'] - self.metadata = metadata = Metadata(self) - for elem in xpath(opf, '/o2:package/o2:metadata/*'): - if elem.text or elem.attrib: + uid = opf.get('unique-identifier', 'calibre-uuid') + self.uid = None + self.metadata = metadata = Metadata(self) + ignored = (OPF('dc-metadata'), OPF('x-metadata')) + for elem in xpath(opf, '/o2:package/o2:metadata//*'): + if elem.tag not in ignored and (elem.text or elem.attrib): metadata.add(elem.tag, elem.text, elem.attrib) + haveuuid = haveid = False + for ident in metadata.identifier: + if unicode(ident).startswith('urn:uuid:'): + haveuuid = True + if 'id' in ident.attrib: + haveid = True + if not haveuuid and haveid: + bookid = "urn:uuid:%s" % str(uuid.uuid4()) + metadata.add('identifier', bookid, id='calibre-uuid') for item in metadata.identifier: if item.id == uid: self.uid = item break else: - self.logger.log_warn(u'Unique-identifier %r not found.' % uid) - self.uid = metadata.identifier[0] + self.logger.warn(u'Unique-identifier %r not found.' % uid) + for ident in metadata.identifier: + if 'id' in ident.attrib: + self.uid = metadata.identifier[0] + break if not metadata.language: - self.logger.log_warn(u'Language not specified.') + self.logger.warn(u'Language not specified.') metadata.add('language', 'en') if not metadata.creator: - self.logger.log_warn(u'Creator not specified.') + self.logger.warn(u'Creator not specified.') metadata.add('creator', 'Unknown') if not metadata.title: - self.logger.log_warn(u'Title not specified.') + self.logger.warn(u'Title not specified.') metadata.add('title', 'Unknown') def _manifest_from_opf(self, opf): @@ -692,7 +770,7 @@ class OEBBook(object): for elem in xpath(opf, '/o2:package/o2:manifest/o2:item'): href = elem.get('href') if not self.container.exists(href): - self.logger.log_warn(u'Manifest item %r not found.' % href) + self.logger.warn(u'Manifest item %r not found.' % href) continue manifest.add(elem.get('id'), href, elem.get('media-type'), elem.get('fallback')) @@ -702,7 +780,7 @@ class OEBBook(object): for elem in xpath(opf, '/o2:package/o2:spine/o2:itemref'): idref = elem.get('idref') if idref not in self.manifest: - self.logger.log_warn(u'Spine item %r not found.' % idref) + self.logger.warn(u'Spine item %r not found.' % idref) continue item = self.manifest[idref] spine.add(item, elem.get('linear')) @@ -721,7 +799,7 @@ class OEBBook(object): href = elem.get('href') path, frag = urldefrag(href) if path not in self.manifest.hrefs: - self.logger.log_warn(u'Guide reference %r not found' % href) + self.logger.warn(u'Guide reference %r not found' % href) continue guide.add(elem.get('type'), elem.get('title'), href) @@ -826,20 +904,27 @@ class OEBBook(object): def _ensure_cover_image(self): cover = None + spine0 = self.spine[0] + html = spine0.data if self.metadata.cover: id = str(self.metadata.cover[0]) - cover = self.manifest[id] + cover = self.manifest.ids[id] elif MS_COVER_TYPE in self.guide: href = self.guide[MS_COVER_TYPE].href cover = self.manifest.hrefs[href] - elif 'cover' in self.guide: - href = self.guide['cover'].href + elif xpath(html, '//h:img[position()=1]'): + img = xpath(html, '//h:img[position()=1]')[0] + href = img.get('src') cover = self.manifest.hrefs[href] - else: - html = self.spine[0].data - imgs = xpath(html, '//h:img[position()=1]') - href = imgs[0].get('src') if imgs else None - cover = self.manifest.hrefs[href] if href else None + elif xpath(html, '//h:object[position()=1]'): + object = xpath(html, '//h:object[position()=1]')[0] + href = object.get('data') + cover = self.manifest.hrefs[href] + elif xpath(html, '//svg:svg[position()=1]'): + svg = copy.deepcopy(xpath(html, '//svg:svg[position()=1]')[0]) + href = os.path.splitext(spine0.href)[0] + '.svg' + id, href = self.manifest.generate(spine0.id, href) + cover = self.manifest.add(id, href, SVG_MIME, data=svg) if cover and not self.metadata.cover: self.metadata.add('cover', cover.id) @@ -913,7 +998,6 @@ class OEBBook(object): NCX_MIME: (href, ncx)} - def main(argv=sys.argv): for arg in argv[1:]: oeb = OEBBook(arg) diff --git a/src/calibre/ebooks/oeb/html.css b/src/calibre/ebooks/oeb/html.css index a454b9b716..63d57a3e29 100644 --- a/src/calibre/ebooks/oeb/html.css +++ b/src/calibre/ebooks/oeb/html.css @@ -35,7 +35,8 @@ * * ***** END LICENSE BLOCK ***** */ -@namespace url(http://www.w3.org/1999/xhtml); /* set default namespace to HTML */ +@namespace url(http://www.w3.org/1999/xhtml); +@namespace svg url(http://www.w3.org/2000/svg); /* blocks */ @@ -399,3 +400,8 @@ br { display: block; } +/* Images, embedded object, and SVG size defaults */ +img, object, svg|svg { + width: auto; + height: auto; +} diff --git a/src/calibre/ebooks/oeb/profile.py b/src/calibre/ebooks/oeb/profile.py new file mode 100644 index 0000000000..3fdec6c8a5 --- /dev/null +++ b/src/calibre/ebooks/oeb/profile.py @@ -0,0 +1,65 @@ +''' +Device profiles. +''' + +__license__ = 'GPL v3' +__copyright__ = '2008, Marshall T. Vandegrift ' + +from itertools import izip + +FONT_SIZES = [('xx-small', 1), + ('x-small', None), + ('small', 2), + ('medium', 3), + ('large', 4), + ('x-large', 5), + ('xx-large', 6), + (None, 7)] + + +class Profile(object): + def __init__(self, width, height, dpi, fbase, fsizes): + self.width = (float(width) / dpi) * 72. + self.height = (float(height) / dpi) * 72. + self.dpi = float(dpi) + self.fbase = float(fbase) + self.fsizes = [] + for (name, num), size in izip(FONT_SIZES, fsizes): + self.fsizes.append((name, num, float(size))) + self.fnames = dict((name, sz) for name, _, sz in self.fsizes if name) + self.fnums = dict((num, sz) for _, num, sz in self.fsizes if num) + + +PROFILES = { + 'PRS505': + Profile(width=584, height=754, dpi=168.451, fbase=12, + fsizes=[7.5, 9, 10, 12, 15.5, 20, 22, 24]), + + 'MSReader': + Profile(width=480, height=652, dpi=100.0, fbase=13, + fsizes=[10, 11, 13, 16, 18, 20, 22, 26]), + + # Not really, but let's pretend + 'MobiDesktop': + Profile(width=280, height=300, dpi=96, fbase=18, + fsizes=[14, 14, 16, 18, 20, 22, 22, 24]), + + # No clue on usable screen size and DPI + 'CybookG3': + Profile(width=584, height=754, dpi=168.451, fbase=12, + fsizes=[9, 10, 11, 12, 14, 17, 20, 24]), + + 'Firefox': + Profile(width=800, height=600, dpi=100.0, fbase=12, + fsizes=[5, 7, 9, 12, 13.5, 17, 20, 22, 24]) + } + + +class Context(object): + def __init__(self, source, dest): + if source in PROFILES: + source = PROFILES[source] + if dest in PROFILES: + dest = PROFILES[dest] + self.source = source + self.dest = dest diff --git a/src/calibre/ebooks/oeb/stylizer.py b/src/calibre/ebooks/oeb/stylizer.py index 28f3218fb6..9c8af446f4 100644 --- a/src/calibre/ebooks/oeb/stylizer.py +++ b/src/calibre/ebooks/oeb/stylizer.py @@ -24,6 +24,7 @@ from lxml import etree from lxml.cssselect import css_to_xpath, ExpressionError from calibre.ebooks.oeb.base import XHTML, XHTML_NS, CSS_MIME, OEB_STYLES from calibre.ebooks.oeb.base import barename, urlnormalize +from calibre.ebooks.oeb.profile import PROFILES from calibre.resources import html_css XHTML_CSS_NAMESPACE = '@namespace "%s";\n' % XHTML_NS @@ -75,7 +76,7 @@ DEFAULTS = {'azimuth': 'center', 'background-attachment': 'scroll', '50', 'right': 'auto', 'speak': 'normal', 'speak-header': 'once', 'speak-numeral': 'continuous', 'speak-punctuation': 'none', 'speech-rate': 'medium', 'stress': '50', 'table-layout': 'auto', - 'text-align': 'left', 'text-decoration': 'none', 'text-indent': + 'text-align': 'auto', 'text-decoration': 'none', 'text-indent': 0, 'text-transform': 'none', 'top': 'auto', 'unicode-bidi': 'normal', 'vertical-align': 'baseline', 'visibility': 'visible', 'voice-family': 'default', 'volume': 'medium', 'white-space': @@ -85,23 +86,19 @@ DEFAULTS = {'azimuth': 'center', 'background-attachment': 'scroll', FONT_SIZE_NAMES = set(['xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large']) -FONT_SIZES = [('xx-small', 1), - ('x-small', None), - ('small', 2), - ('medium', 3), - ('large', 4), - ('x-large', 5), - ('xx-large', 6), - (None, 7)] - XPNSMAP = {'h': XHTML_NS,} def xpath(elem, expr): return elem.xpath(expr, namespaces=XPNSMAP) class CSSSelector(etree.XPath): + MIN_SPACE_RE = re.compile(r' *([>~+]) *') + LOCAL_NAME_RE = re.compile(r"(?= size: break factor = None result = size @@ -385,39 +370,62 @@ class Style(object): if factor: result = factor * base return result - result = None - if self._has_parent(): - styles = self._stylizer._styles - base = styles[self._element.getparent()].fontSize - else: - base = self._page.fbase - if 'font-size' in self._style: - size = self._style['font-size'] - result = normalize_fontsize(size, base) - else: - result = base - self.__dict__['fontSize'] = result - return result + if self._fontSize is None: + result = None + parent = self._get_parent() + if parent is not None: + base = parent.fontSize + else: + base = self._profile.fbase + if 'font-size' in self._style: + size = self._style['font-size'] + result = normalize_fontsize(size, base) + else: + result = base + self._fontSize = result + return self._fontSize @property def width(self): - result = None - base = None - if self._has_parent(): - styles = self._stylizer._styles - base = styles[self._element.getparent()].width - else: - base = self._page.width - if 'width' in self._style: - width = self._style['width'] - if width == 'auto': - result = base + if self._width is None: + result = None + base = None + parent = self._get_parent() + if parent is not None: + base = parent.width else: + base = self._profile.width + if 'width' is self._element.attrib: + width = self._element.attrib['width'] + elif 'width' in self._style: + width = self._style['width'] + else: + result = base + if not result: result = self._unit_convert(width, base=base) - else: - result = base - self.__dict__['width'] = result - return result + self._width = result + return self._width + + @property + def height(self): + if self._height is None: + result = None + base = None + parent = self._get_parent() + if parent is not None: + base = parent.height + else: + base = self._profile.height + if 'height' is self._element.attrib: + height = self._element.attrib['height'] + elif 'height' in self._style: + height = self._style['height'] + else: + result = base + if not result: + result = self._unit_convert(height, base=base) + self._height = result + return self._height def __str__(self): items = self._style.items() diff --git a/src/calibre/ebooks/oeb/transforms/__init__.py b/src/calibre/ebooks/oeb/transforms/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/calibre/ebooks/oeb/transforms/flatcss.py b/src/calibre/ebooks/oeb/transforms/flatcss.py new file mode 100644 index 0000000000..98f918aebf --- /dev/null +++ b/src/calibre/ebooks/oeb/transforms/flatcss.py @@ -0,0 +1,265 @@ +''' +CSS flattening transform. +''' +from __future__ import with_statement + +__license__ = 'GPL v3' +__copyright__ = '2008, Marshall T. Vandegrift ' + +import sys +import os +import re +import operator +import math +from itertools import chain +from collections import defaultdict +from lxml import etree +from calibre.ebooks.oeb.base import XHTML, XHTML_NS +from calibre.ebooks.oeb.base import CSS_MIME, OEB_STYLES +from calibre.ebooks.oeb.base import namespace, barename +from calibre.ebooks.oeb.base import OEBBook +from calibre.ebooks.oeb.stylizer import Stylizer + +COLLAPSE = re.compile(r'[ \t\r\n\v]+') +STRIPNUM = re.compile(r'[-0-9]+$') + +class KeyMapper(object): + def __init__(self, sbase, dbase, dkey): + self.sbase = float(sbase) + self.dprop = [(self.relate(x, dbase), float(x)) for x in dkey] + self.cache = {} + + @staticmethod + def relate(size, base): + size = float(size) + base = float(base) + if size == base: return 0 + sign = -1 if size < base else 1 + endp = 0 if size < base else 36 + diff = (abs(base - size) * 3) + ((36 - size) / 100) + logb = abs(base - endp) + return sign * math.log(diff, logb) + + def __getitem__(self, ssize): + if ssize in self.cache: + return self.cache[ssize] + dsize = self.map(ssize) + self.cache[ssize] = dsize + return dsize + + def map(self, ssize): + sbase = self.sbase + prop = self.relate(ssize, sbase) + diff = [(abs(prop - p), s) for p, s in self.dprop] + dsize = min(diff)[1] + return dsize + +class ScaleMapper(object): + def __init__(self, sbase, dbase): + self.dscale = float(dbase) / float(sbase) + + def __getitem__(self, ssize): + dsize = ssize * self.dscale + return dsize + +class NullMapper(object): + def __init__(self): + pass + + def __getitem__(self, ssize): + return ssize + +def FontMapper(sbase=None, dbase=None, dkey=None): + if sbase and dbase and dkey: + return KeyMapper(sbase, dbase, dkey) + elif sbase and dbase: + return ScaleMapper(sbase, dbase) + else: + return NullMapper() + + +class CSSFlattener(object): + def __init__(self, fbase=None, fkey=None, lineh=None, unfloat=False, + untable=False): + self.fbase = fbase + self.fkey = fkey + self.lineh = lineh + self.unfloat = unfloat + self.untable = untable + + def transform(self, oeb, context): + oeb.logger.info('Flattening CSS and remapping font sizes...') + self.oeb = oeb + self.context = context + self.stylize_spine() + self.sbase = self.baseline_spine() if self.fbase else None + self.fmap = FontMapper(self.sbase, self.fbase, self.fkey) + self.flatten_spine() + + def stylize_spine(self): + self.stylizers = {} + profile = self.context.source + for item in self.oeb.spine: + html = item.data + stylizer = Stylizer(html, item.href, self.oeb, profile) + self.stylizers[item] = stylizer + + def baseline_node(self, node, stylizer, sizes, csize): + csize = stylizer.style(node)['font-size'] + if node.text: + sizes[csize] += len(COLLAPSE.sub(' ', node.text)) + for child in node: + self.baseline_node(child, stylizer, sizes, csize) + if child.tail: + sizes[csize] += len(COLLAPSE.sub(' ', child.tail)) + + def baseline_spine(self): + sizes = defaultdict(float) + for item in self.oeb.spine: + html = item.data + stylizer = self.stylizers[item] + body = html.find(XHTML('body')) + fsize = self.context.source.fbase + self.baseline_node(body, stylizer, sizes, fsize) + sbase = max(sizes.items(), key=operator.itemgetter(1))[0] + return sbase + + def clean_edges(self, cssdict, style, fsize): + slineh = self.sbase * 1.26 + dlineh = self.lineh + for kind in ('margin', 'padding'): + for edge in ('bottom', 'top'): + property = "%s-%s" % (kind, edge) + if property not in cssdict: continue + if '%' in cssdict[property]: continue + value = style[property] + if value == 0: + continue + elif value <= slineh: + cssdict[property] = "%0.5fem" % (dlineh / fsize) + else: + value = round(value / slineh) * dlineh + cssdict[property] = "%0.5fem" % (value / fsize) + + def flatten_node(self, node, stylizer, names, styles, psize, left=0): + if not isinstance(node.tag, basestring) \ + or namespace(node.tag) != XHTML_NS: + return + tag = barename(node.tag) + style = stylizer.style(node) + cssdict = style.cssdict() + if 'align' in node.attrib: + cssdict['text-align'] = node.attrib['align'] + del node.attrib['align'] + if node.tag == XHTML('font'): + node.tag = XHTML('span') + if 'size' in node.attrib: + size = node.attrib['size'] + if size.startswith('+'): + cssdict['font-size'] = 'larger' + elif size.startswith('-'): + cssdict['font-size'] = 'smaller' + else: + fnums = self.context.source.fnums + cssdict['font-size'] = fnums[int(size)] + del node.attrib['size'] + if 'color' in node.attrib: + cssdict['color'] = node.attrib['color'] + del node.attrib['color'] + if 'bgcolor' in node.attrib: + cssdict['background-color'] = node.attrib['bgcolor'] + del node.attrib['bgcolor'] + if cssdict: + if 'font-size' in cssdict: + fsize = self.fmap[style['font-size']] + cssdict['font-size'] = "%0.5fem" % (fsize / psize) + psize = fsize + if self.lineh and self.fbase and tag != 'body': + self.clean_edges(cssdict, style, psize) + margin = style['margin-left'] + left += margin if isinstance(margin, float) else 0 + if (left + style['text-indent']) < 0: + percent = (margin - style['text-indent']) / style['width'] + cssdict['margin-left'] = "%d%%" % (percent * 100) + left -= style['text-indent'] + if self.unfloat and 'float' in cssdict \ + and tag not in ('img', 'object') \ + and cssdict.get('display', 'none') != 'none': + del cssdict['display'] + if self.untable and 'display' in cssdict \ + and cssdict['display'].startswith('table'): + display = cssdict['display'] + if display == 'table-cell': + cssdict['display'] = 'inline' + else: + cssdict['display'] = 'block' + if 'vertical-align' in cssdict \ + and cssdict['vertical-align'] == 'sup': + cssdict['vertical-align'] = 'super' + if self.lineh and 'line-height' not in cssdict: + lineh = self.lineh / psize + cssdict['line-height'] = "%0.5fem" % lineh + if cssdict: + items = cssdict.items() + items.sort() + css = u';\n'.join(u'%s: %s' % (key, val) for key, val in items) + klass = STRIPNUM.sub('', node.get('class', 'calibre').split()[0]) + if css in styles: + match = styles[css] + else: + match = klass + str(names[klass] or '') + styles[css] = match + names[klass] += 1 + node.attrib['class'] = match + elif 'class' in node.attrib: + del node.attrib['class'] + if 'style' in node.attrib: + del node.attrib['style'] + for child in node: + self.flatten_node(child, stylizer, names, styles, psize, left) + + def flatten_head(self, head, stylizer, href): + for node in head: + if node.tag == XHTML('link') \ + and node.get('rel', 'stylesheet') == 'stylesheet' \ + and node.get('type', CSS_MIME) in OEB_STYLES: + head.remove(node) + elif node.tag == XHTML('style') \ + and node.get('type', CSS_MIME) in OEB_STYLES: + head.remove(node) + etree.SubElement(head, XHTML('link'), + rel='stylesheet', type=CSS_MIME, href=href) + if stylizer.page_rule: + items = stylizer.page_rule.items() + items.sort() + css = '; '.join("%s: %s" % (key, val) for key, val in items) + style = etree.SubElement(head, XHTML('style'), type=CSS_MIME) + style.text = "@page { %s; }" % css + + def replace_css(self, css): + manifest = self.oeb.manifest + id, href = manifest.generate('css', 'stylesheet.css') + for item in manifest.values(): + if item.media_type in OEB_STYLES: + manifest.remove(item) + item = manifest.add(id, href, CSS_MIME, data=css) + return href + + def flatten_spine(self): + names = defaultdict(int) + styles = {} + for item in self.oeb.spine: + html = item.data + stylizer = self.stylizers[item] + body = html.find(XHTML('body')) + fsize = self.context.dest.fbase + self.flatten_node(body, stylizer, names, styles, fsize) + items = [(key, val) for (val, key) in styles.items()] + items.sort() + css = ''.join(".%s {\n%s;\n}\n\n" % (key, val) for key, val in items) + href = self.replace_css(css) + for item in self.oeb.spine: + html = item.data + stylizer = self.stylizers[item] + head = html.find(XHTML('head')) + self.flatten_head(head, stylizer, href) diff --git a/src/calibre/ebooks/oeb/transforms/rasterize.py b/src/calibre/ebooks/oeb/transforms/rasterize.py new file mode 100644 index 0000000000..4ca2ccb856 --- /dev/null +++ b/src/calibre/ebooks/oeb/transforms/rasterize.py @@ -0,0 +1,189 @@ +''' +SVG rasterization transform. +''' +from __future__ import with_statement + +__license__ = 'GPL v3' +__copyright__ = '2008, Marshall T. Vandegrift ' + +import sys +import os +from urlparse import urldefrag +import base64 +from lxml import etree +from PyQt4.QtCore import Qt +from PyQt4.QtCore import QByteArray +from PyQt4.QtCore import QBuffer +from PyQt4.QtCore import QIODevice +from PyQt4.QtGui import QColor +from PyQt4.QtGui import QImage +from PyQt4.QtGui import QPainter +from PyQt4.QtSvg import QSvgRenderer +from PyQt4.QtGui import QApplication +from calibre.ebooks.oeb.base import XHTML_NS, XHTML, SVG_NS, SVG, XLINK +from calibre.ebooks.oeb.base import SVG_MIME, PNG_MIME +from calibre.ebooks.oeb.base import xml2str, xpath, namespace, barename +from calibre.ebooks.oeb.stylizer import Stylizer + +IMAGE_TAGS = set([XHTML('img'), XHTML('object')]) + +class SVGRasterizer(object): + def __init__(self): + if QApplication.instance() is None: + QApplication([]) + + def transform(self, oeb, context): + oeb.logger.info('Rasterizing SVG images...') + self.oeb = oeb + self.profile = context.dest + self.images = {} + self.dataize_manifest() + self.rasterize_spine() + self.rasterize_cover() + + def rasterize_svg(self, elem, width=0, height=0): + data = QByteArray(xml2str(elem)) + svg = QSvgRenderer(data) + size = svg.defaultSize() + if size.width() == 100 and size.height() == 100 \ + and 'viewBox' in elem.attrib: + box = [float(x) for x in elem.attrib['viewBox'].split()] + size.setWidth(box[2] - box[0]) + size.setHeight(box[3] - box[1]) + if width or height: + size.scale(width, height, Qt.KeepAspectRatio) + image = QImage(size, QImage.Format_ARGB32_Premultiplied) + image.fill(QColor("white").rgb()) + painter = QPainter(image) + svg.render(painter) + painter.end() + array = QByteArray() + buffer = QBuffer(array) + buffer.open(QIODevice.WriteOnly) + image.save(buffer, 'PNG') + return str(array) + + def dataize_manifest(self): + for item in self.oeb.manifest.values(): + if item.media_type == SVG_MIME: + self.dataize_svg(item) + + def dataize_svg(self, item, svg=None): + if svg is None: + svg = item.data + hrefs = self.oeb.manifest.hrefs + for elem in xpath(svg, '//svg:*[@xl:href]'): + href = elem.attrib[XLINK('href')] + path, frag = urldefrag(href) + if not path: + continue + abshref = item.abshref(path) + if abshref not in hrefs: + continue + linkee = hrefs[abshref] + data = base64.encodestring(str(linkee)) + data = "data:%s;base64,%s" % (linkee.media_type, data) + elem.attrib[XLINK('href')] = data + return svg + + def rasterize_spine(self): + for item in self.oeb.spine: + html = item.data + stylizer = Stylizer(html, item.href, self.oeb, self.profile) + self.rasterize_item(item, stylizer) + + def rasterize_item(self, item, stylizer): + html = item.data + hrefs = self.oeb.manifest.hrefs + for elem in xpath(html, '//h:img'): + src = elem.get('src', None) + image = hrefs.get(item.abshref(src), None) if src else None + if image and image.media_type == SVG_MIME: + style = stylizer.style(elem) + self.rasterize_external(elem, style, item, image) + for elem in xpath(html, '//h:object[@type="%s"]' % SVG_MIME): + data = elem.get('data', None) + image = hrefs.get(item.abshref(data), None) if data else None + if image and image.media_type == SVG_MIME: + style = stylizer.style(elem) + self.rasterize_external(elem, style, item, image) + for elem in xpath(html, '//svg:svg'): + style = stylizer.style(elem) + self.rasterize_inline(elem, style, item) + + def rasterize_inline(self, elem, style, item): + width = style['width'] + if width == 'auto': + width = self.profile.width + height = style['height'] + if height == 'auto': + height = self.profile.height + width = (width / 72) * self.profile.dpi + height = (height / 72) * self.profile.dpi + elem = self.dataize_svg(item, elem) + data = self.rasterize_svg(elem, width, height) + manifest = self.oeb.manifest + href = os.path.splitext(item.href)[0] + '.png' + id, href = manifest.generate(item.id, href) + manifest.add(id, href, PNG_MIME, data=data) + img = etree.Element(XHTML('img'), src=item.relhref(href)) + elem.getparent().replace(elem, img) + for prop in ('width', 'height'): + if prop in elem.attrib: + img.attrib[prop] = elem.attrib[prop] + + def rasterize_external(self, elem, style, item, svgitem): + width = style['width'] + if width == 'auto': + width = self.profile.width + height = style['height'] + if height == 'auto': + height = self.profile.height + width = (width / 72) * self.profile.dpi + height = (height / 72) * self.profile.dpi + data = QByteArray(str(svgitem)) + svg = QSvgRenderer(data) + size = svg.defaultSize() + size.scale(width, height, Qt.KeepAspectRatio) + key = (svgitem.href, size.width(), size.height()) + if key in self.images: + href = self.images[key] + else: + logger = self.oeb.logger + logger.info('Rasterizing %r to %dx%d' + % (svgitem.href, size.width(), size.height())) + image = QImage(size, QImage.Format_ARGB32_Premultiplied) + image.fill(QColor("white").rgb()) + painter = QPainter(image) + svg.render(painter) + painter.end() + array = QByteArray() + buffer = QBuffer(array) + buffer.open(QIODevice.WriteOnly) + image.save(buffer, 'PNG') + data = str(array) + manifest = self.oeb.manifest + href = os.path.splitext(svgitem.href)[0] + '.png' + id, href = manifest.generate(svgitem.id, href) + manifest.add(id, href, PNG_MIME, data=data) + self.images[key] = href + elem.tag = XHTML('img') + elem.attrib['src'] = item.relhref(href) + elem.text = None + for child in elem: + elem.remove(child) + + def rasterize_cover(self): + covers = self.oeb.metadata.cover + if not covers: + return + cover = self.oeb.manifest.ids[str(covers[0])] + if not cover.media_type == SVG_MIME: + return + logger = self.oeb.logger + logger.info('Rasterizing %r to %dx%d' % (cover.href, 600, 800)) + data = self.rasterize_svg(cover.data, 600, 800) + href = os.path.splitext(cover.href)[0] + '.png' + id, href = self.oeb.manifest.generate(cover.id, href) + self.oeb.manifest.add(id, href, PNG_MIME, data=data) + covers[0].value = id diff --git a/src/calibre/ebooks/oeb/transforms/trimmanifest.py b/src/calibre/ebooks/oeb/transforms/trimmanifest.py new file mode 100644 index 0000000000..062eed359b --- /dev/null +++ b/src/calibre/ebooks/oeb/transforms/trimmanifest.py @@ -0,0 +1,40 @@ +''' +OPF manifest trimming transform. +''' +from __future__ import with_statement + +__license__ = 'GPL v3' +__copyright__ = '2008, Marshall T. Vandegrift ' + +import sys +import os +from lxml import etree +from calibre.ebooks.oeb.base import XPNSMAP, CSS_MIME + +LINK_SELECTORS = [] +for expr in ('//h:link/@href', '//h:img/@src', '//h:object/@data', + '//*/@xl:href'): + LINK_SELECTORS.append(etree.XPath(expr, namespaces=XPNSMAP)) + +class ManifestTrimmer(object): + def transform(self, oeb, context): + oeb.logger.info('Trimming unused files from manifest...') + used = set() + for item in oeb.spine: + used.add(item.href) + for selector in LINK_SELECTORS: + for href in selector(item.data): + used.add(item.abshref(href)) + # TODO: Things mentioned in CSS + # TODO: Things mentioned in SVG + # Who knows what people will do... + for term in oeb.metadata: + for item in oeb.metadata[term]: + if item.value in oeb.manifest.hrefs: + used.add(item.value) + elif item.value in oeb.manifest.ids: + used.add(oeb.manifest.ids[item.value].href) + for item in oeb.manifest.values(): + if item.href not in used: + oeb.logger.info('Trimming %r from manifest' % item.href) + oeb.manifest.remove(item) diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py index a393843156..ccc14b8d1f 100644 --- a/src/calibre/gui2/__init__.py +++ b/src/calibre/gui2/__init__.py @@ -54,8 +54,12 @@ def _config(): c.add_opt('autolaunch_server', default=False, help=_('Automatically launch content server on application startup')) c.add_opt('oldest_news', default=60, help=_('Oldest news kept in database')) c.add_opt('systray_icon', default=True, help=_('Show system tray icon')) - c.add_opt('upload_news_to_device', default=True, help=_('Upload downloaded news to device')) - c.add_opt('delete_news_from_library_on_upload', default=False, help=_('Delete books from library after uploading to device')) + c.add_opt('upload_news_to_device', default=True, + help=_('Upload downloaded news to device')) + c.add_opt('delete_news_from_library_on_upload', default=False, + help=_('Delete books from library after uploading to device')) + c.add_opt('separate_cover_flow', default=False, + help=_('Show the cover flow in a separate window instead of in the main calibre window')) return ConfigProxy(c) config = _config() diff --git a/src/calibre/gui2/cover_flow.py b/src/calibre/gui2/cover_flow.py index 196e723be7..220e368a04 100644 --- a/src/calibre/gui2/cover_flow.py +++ b/src/calibre/gui2/cover_flow.py @@ -69,11 +69,11 @@ if pictureflow is not None: class CoverFlow(pictureflow.PictureFlow): - def __init__(self, height=300, parent=None): + def __init__(self, height=300, parent=None, text_height=25): pictureflow.PictureFlow.__init__(self, parent, config['cover_flow_queue_length']+1) self.setSlideSize(QSize(int(2/3. * height), height)) - self.setMinimumSize(QSize(int(2.35*0.67*height), (5/3.)*height+25)) + self.setMinimumSize(QSize(int(2.35*0.67*height), (5/3.)*height+text_height)) self.setFocusPolicy(Qt.WheelFocus) self.setSizePolicy(QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum)) diff --git a/src/calibre/gui2/dialogs/config.py b/src/calibre/gui2/dialogs/config.py index 82b07e81e7..8acbb2a825 100644 --- a/src/calibre/gui2/dialogs/config.py +++ b/src/calibre/gui2/dialogs/config.py @@ -20,7 +20,7 @@ from calibre.ebooks.epub.iterator import is_supported from calibre.library import server_config from calibre.customize.ui import initialized_plugins, is_disabled, enable_plugin, \ disable_plugin, customize_plugin, \ - plugin_customization, add_plugin + plugin_customization, add_plugin, remove_plugin class PluginModel(QAbstractItemModel): @@ -186,7 +186,6 @@ class ConfigDialog(QDialog, Ui_Dialog): single_format = config['save_to_disk_single_format'] self.single_format.setCurrentIndex(BOOK_EXTENSIONS.index(single_format)) self.cover_browse.setValue(config['cover_flow_queue_length']) - self.confirm_delete.setChecked(config['confirm_delete']) from calibre.translations.compiled import translations from calibre.translations import language_codes from calibre.startup import get_lang @@ -242,8 +241,10 @@ class ConfigDialog(QDialog, Ui_Dialog): self.plugin_view.setModel(self._plugin_model) self.connect(self.toggle_plugin, SIGNAL('clicked()'), lambda : self.modify_plugin(op='toggle')) self.connect(self.customize_plugin, SIGNAL('clicked()'), lambda : self.modify_plugin(op='customize')) + self.connect(self.remove_plugin, SIGNAL('clicked()'), lambda : self.modify_plugin(op='remove')) self.connect(self.button_plugin_browse, SIGNAL('clicked()'), self.find_plugin) self.connect(self.button_plugin_add, SIGNAL('clicked()'), self.add_plugin) + self.separate_cover_flow.setChecked(config['separate_cover_flow']) def add_plugin(self): path = unicode(self.plugin_path.text()) @@ -287,6 +288,13 @@ class ConfigDialog(QDialog, Ui_Dialog): if ok: customize_plugin(plugin, unicode(text)) self._plugin_model.refresh_plugin(plugin) + if op == 'remove': + if remove_plugin(plugin): + self._plugin_model.populate() + self._plugin_model.reset() + else: + error_dialog(self, _('Cannot remove builtin plugin'), + plugin.name + _(' cannot be removed. It is a builtin plugin. Try disabling it instead.')).exec_() def up_column(self): @@ -385,7 +393,7 @@ class ConfigDialog(QDialog, Ui_Dialog): config['column_map'] = cols config['toolbar_icon_size'] = self.ICON_SIZES[self.toolbar_button_size.currentIndex()] config['show_text_in_toolbar'] = bool(self.show_toolbar_text.isChecked()) - config['confirm_delete'] = bool(self.confirm_delete.isChecked()) + config['separate_cover_flow'] = bool(self.separate_cover_flow.isChecked()) pattern = self.filename_pattern.commit() prefs['filename_pattern'] = pattern p = {0:'normal', 1:'high', 2:'low'}[self.priority.currentIndex()] diff --git a/src/calibre/gui2/dialogs/config.ui b/src/calibre/gui2/dialogs/config.ui index 05b66cac88..7f678ce8ea 100644 --- a/src/calibre/gui2/dialogs/config.ui +++ b/src/calibre/gui2/dialogs/config.ui @@ -7,7 +7,7 @@ 0 0 800 - 563 + 570 @@ -127,17 +127,10 @@ - - - - Ask for &confirmation before deleting files - - - - If you disable this setting, metadatas is guessed from the filename instead. This can be configured in the Advanced section. + If you disable this setting, metadata is guessed from the filename instead. This can be configured in the Advanced section. Read &metadata from files @@ -363,7 +356,7 @@ - + Toolbar @@ -411,7 +404,7 @@ - + Select visible &columns in library view @@ -499,20 +492,27 @@ - + Automatically send downloaded &news to ebook reader - + &Delete news from library when it is sent to reader + + + + Show cover &browser in a separate window (needs restart) + + + @@ -811,6 +811,13 @@ + + + + &Remove plugin + + + diff --git a/src/calibre/gui2/dialogs/confirm_delete.py b/src/calibre/gui2/dialogs/confirm_delete.py new file mode 100644 index 0000000000..08db53e9a7 --- /dev/null +++ b/src/calibre/gui2/dialogs/confirm_delete.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python +__license__ = 'GPL v3' +__copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net' +__docformat__ = 'restructuredtext en' + +from calibre.gui2 import dynamic +from calibre.gui2.dialogs.confirm_delete_ui import Ui_Dialog +from PyQt4.Qt import QDialog, SIGNAL + +def _config_name(name): + return name + '_again' + +class Dialog(QDialog, Ui_Dialog): + + def __init__(self, msg, name, parent): + QDialog.__init__(self, parent) + self.setupUi(self) + + self.msg.setText(msg) + self.name = name + self.connect(self.again, SIGNAL('stateChanged(int)'), self.toggle) + + + def toggle(self, x): + dynamic[_config_name(self.name)] = self.again.isChecked() + +def confirm(msg, name, parent=None): + if not dynamic.get(_config_name(name), True): + return True + d = Dialog(msg, name, parent) + return d.exec_() == d.Accepted \ No newline at end of file diff --git a/src/calibre/gui2/dialogs/confirm_delete.ui b/src/calibre/gui2/dialogs/confirm_delete.ui new file mode 100644 index 0000000000..1ee4cb79d9 --- /dev/null +++ b/src/calibre/gui2/dialogs/confirm_delete.ui @@ -0,0 +1,100 @@ + + Dialog + + + + 0 + 0 + 439 + 300 + + + + Are you sure? + + + + :/images/dialog_warning.svg:/images/dialog_warning.svg + + + + + + + + :/images/dialog_warning.svg + + + + + + + TextLabel + + + true + + + + + + + + + &Show this warning again + + + true + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + + + buttonBox + accepted() + Dialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + Dialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/src/calibre/gui2/dialogs/lrf_single.ui b/src/calibre/gui2/dialogs/lrf_single.ui index d17725d688..8ed4799342 100644 --- a/src/calibre/gui2/dialogs/lrf_single.ui +++ b/src/calibre/gui2/dialogs/lrf_single.ui @@ -6,7 +6,7 @@ 0 0 866 - 671 + 679 @@ -115,7 +115,7 @@ - 0 + 1 @@ -652,7 +652,7 @@ - + &Header format: @@ -662,9 +662,26 @@ - + + + + + px + + + + + + + Header &separation: + + + gui_header_separation + + + @@ -985,8 +1002,8 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> +</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p></body></html> @@ -1078,12 +1095,12 @@ p, li { white-space: pre-wrap; } setDisabled(bool) - 650 - 122 + 308 + 74 - 788 - 140 + 308 + 74 @@ -1094,12 +1111,12 @@ p, li { white-space: pre-wrap; } setDisabled(bool) - 543 - 122 + 308 + 74 - 544 - 211 + 308 + 74 @@ -1110,12 +1127,12 @@ p, li { white-space: pre-wrap; } setEnabled(bool) - 298 - 398 + 308 + 74 - 660 - 435 + 308 + 74 @@ -1126,12 +1143,12 @@ p, li { white-space: pre-wrap; } setEnabled(bool) - 330 - 367 + 345 + 363 - 823 - 372 + 837 + 435 @@ -1142,12 +1159,28 @@ p, li { white-space: pre-wrap; } setDisabled(bool) - 344 - 107 + 308 + 74 - 489 - 465 + 308 + 74 + + + + + gui_header + toggled(bool) + gui_header_separation + setEnabled(bool) + + + 261 + 346 + + + 379 + 378 diff --git a/src/calibre/gui2/dialogs/metadata_single.py b/src/calibre/gui2/dialogs/metadata_single.py index d12dcf5cd3..4915c87e7d 100644 --- a/src/calibre/gui2/dialogs/metadata_single.py +++ b/src/calibre/gui2/dialogs/metadata_single.py @@ -7,7 +7,7 @@ add/remove formats import os from PyQt4.QtCore import SIGNAL, QObject, QCoreApplication, Qt -from PyQt4.QtGui import QPixmap, QListWidgetItem, QErrorMessage, QDialog +from PyQt4.QtGui import QPixmap, QListWidgetItem, QErrorMessage, QDialog, QCompleter from calibre.gui2 import qstring_to_unicode, error_dialog, file_icon_provider, \ @@ -20,6 +20,7 @@ from calibre.ebooks import BOOK_EXTENSIONS from calibre.ebooks.metadata import authors_to_sort_string, string_to_authors, authors_to_string from calibre.ebooks.metadata.library_thing import login, cover_from_isbn, LibraryThingError from calibre import islinux +from calibre.ebooks.metadata.meta import get_metadata from calibre.utils.config import prefs from calibre.customize.ui import run_plugins_on_import @@ -32,6 +33,13 @@ class Format(QListWidgetItem): QListWidgetItem.__init__(self, file_icon_provider().icon_from_ext(ext), text, parent, QListWidgetItem.UserType) +class AuthorCompleter(QCompleter): + + def __init__(self, db): + all_authors = db.all_authors() + all_authors.sort(cmp=lambda x, y : cmp(x[1], y[1])) + QCompleter.__init__(self, [x[1] for x in all_authors]) + class MetadataSingleDialog(QDialog, Ui_MetadataSingleDialog): def do_reset_cover(self, *args): @@ -102,6 +110,39 @@ class MetadataSingleDialog(QDialog, Ui_MetadataSingleDialog): self.formats.takeItem(row.row()) self.formats_changed = True + def set_cover(self): + row = self.formats.currentRow() + fmt = self.formats.item(row) + ext = fmt.ext.lower() + if fmt.path is None: + stream = self.db.format(self.row, ext, as_file=True) + else: + stream = open(fmt.path, 'r+b') + try: + mi = get_metadata(stream, ext) + except: + error_dialog(self, _('Could not read metadata'), + _('Could not read metadata from %s format')%ext).exec_() + return + cdata = None + if mi.cover and os.access(mi.cover, os.R_OK): + cdata = open(mi.cover).read() + elif mi.cover_data[1] is not None: + cdata = mi.cover_data[1] + if cdata is None: + error_dialog(self, _('Could not read cover'), + _('Could not read cover from %s format')%ext).exec_() + return + pix = QPixmap() + pix.loadFromData(cdata) + if pix.isNull(): + error_dialog(self, _('Could not read cover'), + _('The cover in the %s format is invalid')%ext).exec_() + return + self.cover.setPixmap(pix) + self.cover_changed = True + self.cpixmap = pix + def sync_formats(self): old_extensions, new_extensions, paths = set(), set(), {} for row in range(self.formats.count()): @@ -137,6 +178,8 @@ class MetadataSingleDialog(QDialog, Ui_MetadataSingleDialog): self.cover_changed = False self.cpixmap = None self.cover.setAcceptDrops(True) + self._author_completer = AuthorCompleter(self.db) + self.authors.setCompleter(self._author_completer) self.connect(self.cover, SIGNAL('cover_changed()'), self.cover_dropped) QObject.connect(self.cover_button, SIGNAL("clicked(bool)"), \ self.select_cover) @@ -155,6 +198,7 @@ class MetadataSingleDialog(QDialog, Ui_MetadataSingleDialog): self.remove_unused_series) QObject.connect(self.auto_author_sort, SIGNAL('clicked()'), self.deduce_author_sort) + self.connect(self.button_set_cover, SIGNAL('clicked()'), self.set_cover) self.connect(self.reset_cover, SIGNAL('clicked()'), self.do_reset_cover) self.connect(self.swap_button, SIGNAL('clicked()'), self.swap_title_author) self.timeout = float(prefs['network_timeout']) @@ -171,8 +215,6 @@ class MetadataSingleDialog(QDialog, Ui_MetadataSingleDialog): self.authors.setText('') aus = self.db.author_sort(row) self.author_sort.setText(aus if aus else '') - pub = self.db.publisher(row) - self.publisher.setText(pub if pub else '') tags = self.db.tags(row) self.tags.setText(tags if tags else '') rating = self.db.rating(row) @@ -190,8 +232,9 @@ class MetadataSingleDialog(QDialog, Ui_MetadataSingleDialog): ext = '' size = self.db.sizeof_format(row, ext) Format(self.formats, ext, size) + - self.initialize_series() + self.initialize_series_and_publisher() self.series_index.setValue(self.db.series_index(row)) QObject.connect(self.series, SIGNAL('currentIndexChanged(int)'), self.enable_series_index) @@ -224,7 +267,7 @@ class MetadataSingleDialog(QDialog, Ui_MetadataSingleDialog): def cover_dropped(self): self.cover_changed = True - def initialize_series(self): + def initialize_series_and_publisher(self): all_series = self.db.all_series() all_series.sort(cmp=lambda x, y : cmp(x[1], y[1])) series_id = self.db.series_id(self.row) @@ -247,6 +290,22 @@ class MetadataSingleDialog(QDialog, Ui_MetadataSingleDialog): if l: l.invalidate() l.activate() + + all_publishers = self.db.all_publishers() + all_publishers.sort(cmp=lambda x, y : cmp(x[1], y[1])) + publisher_id = self.db.publisher_id(self.row) + idx, c = None, 0 + for i in all_publishers: + id, name = i + if id == publisher_id: + idx = c + self.publisher.addItem(name) + c += 1 + + self.publisher.setEditText('') + if idx is not None: + self.publisher.setCurrentIndex(idx) + self.layout().activate() @@ -302,7 +361,7 @@ class MetadataSingleDialog(QDialog, Ui_MetadataSingleDialog): isbn = qstring_to_unicode(self.isbn.text()) title = qstring_to_unicode(self.title.text()) author = string_to_authors(unicode(self.authors.text()))[0] - publisher = qstring_to_unicode(self.publisher.text()) + publisher = qstring_to_unicode(self.publisher.currentText()) if isbn or title or author or publisher: d = FetchMetadata(self, isbn, title, author, publisher, self.timeout) d.exec_() @@ -312,7 +371,7 @@ class MetadataSingleDialog(QDialog, Ui_MetadataSingleDialog): self.title.setText(book.title) self.authors.setText(authors_to_string(book.authors)) if book.author_sort: self.author_sort.setText(book.author_sort) - if book.publisher: self.publisher.setText(book.publisher) + if book.publisher: self.publisher.setEditText(book.publisher) if book.isbn: self.isbn.setText(book.isbn) summ = book.comments if summ: @@ -351,7 +410,7 @@ class MetadataSingleDialog(QDialog, Ui_MetadataSingleDialog): self.db.set_author_sort(self.id, aus, notify=False) self.db.set_isbn(self.id, qstring_to_unicode(self.isbn.text()), notify=False) self.db.set_rating(self.id, 2*self.rating.value(), notify=False) - self.db.set_publisher(self.id, qstring_to_unicode(self.publisher.text()), notify=False) + self.db.set_publisher(self.id, qstring_to_unicode(self.publisher.currentText()), notify=False) self.db.set_tags(self.id, qstring_to_unicode(self.tags.text()).split(','), notify=False) self.db.set_series(self.id, qstring_to_unicode(self.series.currentText()), notify=False) self.db.set_series_index(self.id, self.series_index.value(), notify=False) diff --git a/src/calibre/gui2/dialogs/metadata_single.ui b/src/calibre/gui2/dialogs/metadata_single.ui index b86e47af24..b2e2108ec3 100644 --- a/src/calibre/gui2/dialogs/metadata_single.ui +++ b/src/calibre/gui2/dialogs/metadata_single.ui @@ -95,13 +95,6 @@ - - - - Change the author(s) of this book. Multiple authors should be separated by an &. If the author name contains an &, use && to represent it. - - - @@ -111,7 +104,7 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - authors + author_sort @@ -185,13 +178,6 @@ - - - - Change the publisher of this book - - - @@ -330,6 +316,16 @@ + + + + true + + + + + + @@ -370,7 +366,7 @@ - + @@ -412,7 +408,7 @@ - + Remove the selected formats for this book from the database. @@ -432,6 +428,26 @@ + + + + Set the cover for the book from the selected format + + + ... + + + + :/images/book.svg:/images/book.svg + + + + 32 + 32 + + + + @@ -584,6 +600,33 @@
widgets.h
+ + title + swap_button + authors + author_sort + auto_author_sort + rating + publisher + tags + tag_editor_button + series + remove_series_button + series_index + isbn + comments + fetch_metadata_button + fetch_cover_button + password_button + cover_button + reset_cover + cover_path + add_format_button + button_set_cover + remove_format_button + formats + button_box + @@ -595,8 +638,8 @@ accept() - 257 - 646 + 261 + 710 157 @@ -611,8 +654,8 @@ reject() - 325 - 646 + 329 + 710 286 diff --git a/src/calibre/gui2/dialogs/scheduler.py b/src/calibre/gui2/dialogs/scheduler.py index afb8c5d916..f61c220bb9 100644 --- a/src/calibre/gui2/dialogs/scheduler.py +++ b/src/calibre/gui2/dialogs/scheduler.py @@ -155,10 +155,11 @@ class RecipeModel(QAbstractListModel, SearchQueryParser): return recipe elif role == Qt.DecorationRole: icon = self.default_icon + icon_path = (':/images/news/%s.png'%recipe.id).replace('recipe_', '') if not recipe.builtin: icon = self.custom_icon - elif QFile(':/images/news/%s.png'%recipe.id).exists(): - icon = QIcon(':/images/news/%s.png'%recipe.id) + elif QFile().exists(icon_path): + icon = QIcon(icon_path) return QVariant(icon) return NONE diff --git a/src/calibre/gui2/images/news/clarin.png b/src/calibre/gui2/images/news/clarin.png new file mode 100644 index 0000000000..f08bc3e5ac Binary files /dev/null and b/src/calibre/gui2/images/news/clarin.png differ diff --git a/src/calibre/gui2/images/news/joelonsoftware.png b/src/calibre/gui2/images/news/joelonsoftware.png new file mode 100644 index 0000000000..9f21608105 Binary files /dev/null and b/src/calibre/gui2/images/news/joelonsoftware.png differ diff --git a/src/calibre/gui2/images/news/lanacion.png b/src/calibre/gui2/images/news/lanacion.png new file mode 100644 index 0000000000..7ec4c32ead Binary files /dev/null and b/src/calibre/gui2/images/news/lanacion.png differ diff --git a/src/calibre/gui2/images/news/nspm.png b/src/calibre/gui2/images/news/nspm.png new file mode 100644 index 0000000000..ff15e31325 Binary files /dev/null and b/src/calibre/gui2/images/news/nspm.png differ diff --git a/src/calibre/gui2/images/news/nspm_int.png b/src/calibre/gui2/images/news/nspm_int.png new file mode 100644 index 0000000000..ff15e31325 Binary files /dev/null and b/src/calibre/gui2/images/news/nspm_int.png differ diff --git a/src/calibre/gui2/images/news/pescanik.png b/src/calibre/gui2/images/news/pescanik.png new file mode 100644 index 0000000000..7afbcd7ba2 Binary files /dev/null and b/src/calibre/gui2/images/news/pescanik.png differ diff --git a/src/calibre/gui2/images/news/spiegel_int.png b/src/calibre/gui2/images/news/spiegel_int.png new file mode 100644 index 0000000000..700cdb4d33 Binary files /dev/null and b/src/calibre/gui2/images/news/spiegel_int.png differ diff --git a/src/calibre/gui2/images/news/themarketticker.png b/src/calibre/gui2/images/news/themarketticker.png new file mode 100644 index 0000000000..488ee3c1a7 Binary files /dev/null and b/src/calibre/gui2/images/news/themarketticker.png differ diff --git a/src/calibre/gui2/images/news/tomshardware.png b/src/calibre/gui2/images/news/tomshardware.png new file mode 100644 index 0000000000..c31412474c Binary files /dev/null and b/src/calibre/gui2/images/news/tomshardware.png differ diff --git a/src/calibre/gui2/jobs2.py b/src/calibre/gui2/jobs2.py index a485b93ab5..10b3853907 100644 --- a/src/calibre/gui2/jobs2.py +++ b/src/calibre/gui2/jobs2.py @@ -128,7 +128,10 @@ class JobManager(QAbstractTableModel): self.emit(SIGNAL('layoutChanged()')) def _status_update(self, job): - row = self.jobs.index(job) + try: + row = self.jobs.index(job) + except ValueError: # Job has been stopped + return self.emit(SIGNAL('dataChanged(QModelIndex, QModelIndex)'), self.index(row, 0), self.index(row, 3)) diff --git a/src/calibre/gui2/library.py b/src/calibre/gui2/library.py index 75d2aade59..3129fec47a 100644 --- a/src/calibre/gui2/library.py +++ b/src/calibre/gui2/library.py @@ -8,14 +8,15 @@ from math import cos, sin, pi from PyQt4.QtGui import QTableView, QAbstractItemView, QColor, \ QItemDelegate, QPainterPath, QLinearGradient, QBrush, \ QPen, QStyle, QPainter, QLineEdit, \ - QPalette, QImage, QApplication, QMenu + QPalette, QImage, QApplication, QMenu, QStyledItemDelegate from PyQt4.QtCore import QAbstractTableModel, QVariant, Qt, QString, \ - SIGNAL, QObject, QSize, QModelIndex + SIGNAL, QObject, QSize, QModelIndex, QDate from calibre import strftime from calibre.ptempfile import PersistentTemporaryFile from calibre.library.database2 import FIELD_MAP -from calibre.gui2 import NONE, TableView, qstring_to_unicode, config +from calibre.gui2 import NONE, TableView, qstring_to_unicode, config, \ + error_dialog from calibre.utils.search_query_parser import SearchQueryParser class LibraryDelegate(QItemDelegate): @@ -81,6 +82,17 @@ class LibraryDelegate(QItemDelegate): sb.setMaximum(5) return sb +class DateDelegate(QStyledItemDelegate): + + def displayText(self, val, locale): + d = val.toDate() + return d.toString('dd MMM yyyy') + if d.isNull(): + return '' + d = datetime(d.year(), d.month(), d.day()) + return strftime(BooksView.TIME_FMT, d.timetuple()) + + class BooksModel(QAbstractTableModel): coding = zip( [1000,900,500,400,100,90,50,40,10,9,5,4,1], @@ -113,7 +125,8 @@ class BooksModel(QAbstractTableModel): QAbstractTableModel.__init__(self, parent) self.db = None self.column_map = config['column_map'] - self.editable_cols = ['title', 'authors', 'rating', 'publisher', 'tags', 'series'] + self.editable_cols = ['title', 'authors', 'rating', 'publisher', + 'tags', 'series', 'timestamp'] self.default_image = QImage(':/images/book.svg') self.sorted_on = ('timestamp', Qt.AscendingOrder) self.last_search = '' # The last search performed on this model @@ -135,7 +148,12 @@ class BooksModel(QAbstractTableModel): idx = self.column_map.index('rating') except ValueError: idx = -1 - self.emit(SIGNAL('columns_sorted(int)'), idx) + try: + tidx = self.column_map.index('timestamp') + except ValueError: + tidx = -1 + + self.emit(SIGNAL('columns_sorted(int,int)'), idx, tidx) def set_database(self, db): @@ -442,7 +460,7 @@ class BooksModel(QAbstractTableModel): dt = self.db.data[r][tmdx] if dt: dt = dt - timedelta(seconds=time.timezone) + timedelta(hours=time.daylight) - return strftime(BooksView.TIME_FMT, dt.timetuple()) + return QDate(dt.year, dt.month, dt.day) def rating(r): r = self.db.data[r][ridx] @@ -507,35 +525,40 @@ class BooksModel(QAbstractTableModel): return flags def setData(self, index, value, role): - done = False if role == Qt.EditRole: row, col = index.row(), index.column() column = self.column_map[col] if column not in self.editable_cols: return False - val = unicode(value.toString().toUtf8(), 'utf-8').strip() if column != 'rating' else \ - int(value.toInt()[0]) + val = int(value.toInt()[0]) if column == 'rating' else \ + value.toDate() if column == 'timestamp' else \ + unicode(value.toString()) + id = self.db.id(row) if column == 'rating': val = 0 if val < 0 else 5 if val > 5 else val val *= 2 - if column == 'series': + elif column == 'series': pat = re.compile(r'\[(\d+)\]') match = pat.search(val) - id = self.db.id(row) if match is not None: self.db.set_series_index(id, int(match.group(1))) val = pat.sub('', val) val = val.strip() if val: self.db.set_series(id, val) + elif column == 'timestamp': + if val.isNull() or not val.isValid(): + return False + dt = datetime(val.year(), val.month(), val.day()) + timedelta(seconds=time.timezone) - timedelta(hours=time.daylight) + self.db.set_timestamp(id, dt) else: self.db.set(row, column, val) self.emit(SIGNAL("dataChanged(QModelIndex, QModelIndex)"), \ index, index) if column == self.sorted_on[0]: self.resort() - done = True - return done + + return True class BooksView(TableView): TIME_FMT = '%d %b %Y' @@ -554,25 +577,29 @@ class BooksView(TableView): def __init__(self, parent, modelcls=BooksModel): TableView.__init__(self, parent) self.rating_delegate = LibraryDelegate(self) + self.timestamp_delegate = DateDelegate(self) self.display_parent = parent self._model = modelcls(self) self.setModel(self._model) self.setSelectionBehavior(QAbstractItemView.SelectRows) self.setSortingEnabled(True) try: - self.columns_sorted(self._model.column_map.index('rating')) + self.columns_sorted(self._model.column_map.index('rating'), + self._model.column_map.index('timestamp')) except ValueError: pass QObject.connect(self.selectionModel(), SIGNAL('currentRowChanged(QModelIndex, QModelIndex)'), self._model.current_changed) - self.connect(self._model, SIGNAL('columns_sorted(int)'), self.columns_sorted, Qt.QueuedConnection) + self.connect(self._model, SIGNAL('columns_sorted(int, int)'), self.columns_sorted, Qt.QueuedConnection) - def columns_sorted(self, col): + def columns_sorted(self, rating_col, timestamp_col): for i in range(self.model().columnCount(None)): if self.itemDelegateForColumn(i) == self.rating_delegate: self.setItemDelegateForColumn(i, self.itemDelegate()) - if col > -1: - self.setItemDelegateForColumn(col, self.rating_delegate) + if rating_col > -1: + self.setItemDelegateForColumn(rating_col, self.rating_delegate) + if timestamp_col > -1: + self.setItemDelegateForColumn(timestamp_col, self.timestamp_delegate) def set_context_menu(self, edit_metadata, send_to_device, convert, view, save, open_folder, book_details, similar_menu=None): @@ -657,6 +684,8 @@ class DeviceBooksView(BooksView): self.rating_delegate = None for i in range(10): self.setItemDelegateForColumn(i, self.itemDelegate()) + self.setDragDropMode(self.NoDragDrop) + self.setAcceptDrops(False) def resizeColumnsToContents(self): QTableView.resizeColumnsToContents(self) @@ -667,6 +696,10 @@ class DeviceBooksView(BooksView): def sortByColumn(self, col, order): TableView.sortByColumn(self, col, order) + + def dropEvent(self, *args): + error_dialog(self, _('Not allowed'), + _('Dropping onto a device is not supported. First add the book to the calibre library.')).exec_() class OnDeviceSearch(SearchQueryParser): diff --git a/src/calibre/gui2/main.py b/src/calibre/gui2/main.py index 4bbde629e5..97ad934eeb 100644 --- a/src/calibre/gui2/main.py +++ b/src/calibre/gui2/main.py @@ -3,11 +3,11 @@ __copyright__ = '2008, Kovid Goyal ' import os, sys, textwrap, collections, traceback, time from xml.parsers.expat import ExpatError from functools import partial -from PyQt4.QtCore import Qt, SIGNAL, QObject, QCoreApplication, QUrl, QTimer -from PyQt4.QtGui import QPixmap, QColor, QPainter, QMenu, QIcon, QMessageBox, \ - QToolButton, QDialog, QDesktopServices, QFileDialog, \ - QSystemTrayIcon, QApplication, QKeySequence, QAction, \ - QProgressDialog +from PyQt4.Qt import Qt, SIGNAL, QObject, QCoreApplication, QUrl, QTimer, \ + QModelIndex, QPixmap, QColor, QPainter, QMenu, QIcon, \ + QToolButton, QDialog, QDesktopServices, QFileDialog, \ + QSystemTrayIcon, QApplication, QKeySequence, QAction, \ + QProgressDialog, QMessageBox, QStackedLayout from PyQt4.QtSvg import QSvgRenderer from calibre import __version__, __appname__, islinux, sanitize_file_name, \ @@ -22,7 +22,8 @@ from calibre.gui2 import APP_UID, warning_dialog, choose_files, error_dialog, \ pixmap_to_data, choose_dir, ORG_NAME, \ set_sidebar_directories, Dispatcher, \ SingleApplication, Application, available_height, \ - max_available_height, config, info_dialog + max_available_height, config, info_dialog, \ + available_width from calibre.gui2.cover_flow import CoverFlow, DatabaseImages, pictureflowerror from calibre.library.database import LibraryDatabase from calibre.gui2.dialogs.scheduler import Scheduler @@ -49,6 +50,7 @@ from calibre.library.database2 import LibraryDatabase2, CoverCache from calibre.parallel import JobKilled from calibre.utils.filenames import ascii_filename from calibre.gui2.widgets import WarningDialog +from calibre.gui2.dialogs.confirm_delete import confirm class Main(MainWindow, Ui_MainWindow): @@ -187,8 +189,8 @@ class Main(MainWindow, Ui_MainWindow): self.metadata_menu = md self.add_menu = QMenu() self.add_menu.addAction(_('Add books from a single directory')) - self.add_menu.addAction(_('Add books recursively (One book per directory, assumes every ebook file is the same book in a different format)')) - self.add_menu.addAction(_('Add books recursively (Multiple books per directory, assumes every ebook file is a different book)')) + self.add_menu.addAction(_('Add books from directories, including sub-directories (One book per directory, assumes every ebook file is the same book in a different format)')) + self.add_menu.addAction(_('Add books from directories, including sub directories (Multiple books per directory, assumes every ebook file is a different book)')) self.action_add.setMenu(self.add_menu) QObject.connect(self.action_add, SIGNAL("triggered(bool)"), self.add_books) QObject.connect(self.add_menu.actions()[0], SIGNAL("triggered(bool)"), self.add_books) @@ -307,7 +309,6 @@ class Main(MainWindow, Ui_MainWindow): db = LibraryDatabase2(self.library_path) self.library_view.set_database(db) if self.olddb is not None: - from PyQt4.QtGui import QProgressDialog pd = QProgressDialog('', '', 0, 100, self) pd.setWindowModality(Qt.ApplicationModal) pd.setCancelButton(None) @@ -342,9 +343,16 @@ class Main(MainWindow, Ui_MainWindow): ########################### Cover Flow ################################ self.cover_flow = None if CoverFlow is not None: - self.cover_flow = CoverFlow(height=220 if available_height() > 950 else 170 if available_height() > 850 else 140) + text_height = 40 if config['separate_cover_flow'] else 25 + ah = available_height() + cfh = ah-100 + cfh = 3./5 * cfh - text_height + if not config['separate_cover_flow']: + cfh = 220 if ah > 950 else 170 if ah > 850 else 140 + self.cover_flow = CoverFlow(height=cfh, text_height=text_height) self.cover_flow.setVisible(False) - self.library.layout().addWidget(self.cover_flow) + if not config['separate_cover_flow']: + self.library.layout().addWidget(self.cover_flow) self.connect(self.cover_flow, SIGNAL('currentChanged(int)'), self.sync_cf_to_listview) self.connect(self.cover_flow, SIGNAL('itemActivated(int)'), self.show_book_info) self.connect(self.status_bar.cover_flow_button, SIGNAL('toggled(bool)'), self.toggle_cover_flow) @@ -410,17 +418,40 @@ class Main(MainWindow, Ui_MainWindow): def toggle_cover_flow(self, show): - if show: - self.library_view.setCurrentIndex(self.library_view.currentIndex()) - self.cover_flow.setVisible(True) - self.cover_flow.setFocus(Qt.OtherFocusReason) - #self.status_bar.book_info.book_data.setMaximumHeight(100) - #self.status_bar.setMaximumHeight(120) - self.library_view.scrollTo(self.library_view.currentIndex()) + if config['separate_cover_flow']: + if show: + d = QDialog(self) + ah, aw = available_height(), available_width() + d.resize(int(aw/2.), ah-60) + d._layout = QStackedLayout() + d.setLayout(d._layout) + d.setWindowTitle(_('Browse by covers')) + d.layout().addWidget(self.cover_flow) + self.cover_flow.setVisible(True) + self.cover_flow.setFocus(Qt.OtherFocusReason) + self.library_view.scrollTo(self.library_view.currentIndex()) + d.show() + self.connect(d, SIGNAL('finished(int)'), + lambda x: self.status_bar.cover_flow_button.setChecked(False)) + self.cf_dialog = d + else: + cfd = getattr(self, 'cf_dialog', None) + if cfd is not None: + self.cover_flow.setVisible(False) + cfd.hide() + self.cf_dialog = None else: - self.cover_flow.setVisible(False) - #self.status_bar.book_info.book_data.setMaximumHeight(1000) - self.setMaximumHeight(available_height()) + if show: + self.library_view.setCurrentIndex(self.library_view.currentIndex()) + self.cover_flow.setVisible(True) + self.cover_flow.setFocus(Qt.OtherFocusReason) + #self.status_bar.book_info.book_data.setMaximumHeight(100) + #self.status_bar.setMaximumHeight(120) + self.library_view.scrollTo(self.library_view.currentIndex()) + else: + self.cover_flow.setVisible(False) + #self.status_bar.book_info.book_data.setMaximumHeight(1000) + self.setMaximumHeight(available_height()) def toggle_tags_view(self, show): if show: @@ -583,7 +614,8 @@ class Main(MainWindow, Ui_MainWindow): try: duplicates = self.library_view.model().db.recursive_import(root, single, callback=callback) finally: - progress.close() + progress.hide() + progress.close() if duplicates: files = _('

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

    ') for mi, formats in duplicates: @@ -702,7 +734,9 @@ class Main(MainWindow, Ui_MainWindow): else: self.upload_books(paths, list(map(sanitize_file_name, names)), infos, on_card=on_card) finally: - progress.setValue(len(paths)) + progress.setValue(progress.maximum()) + progress.hide() + progress.close() def upload_books(self, files, names, metadata, on_card=False, memory=None): ''' @@ -758,13 +792,9 @@ class Main(MainWindow, Ui_MainWindow): rows = view.selectionModel().selectedRows() if not rows or len(rows) == 0: return - if config['confirm_delete']: - d = question_dialog(self, _('Confirm delete'), - _('Are you sure you want to delete these %d books?')%len(rows)) - if d.exec_() != QMessageBox.Yes: - return - if self.stack.currentIndex() == 0: + if not confirm('

    '+_('The selected books will be permanently deleted and the files removed from your computer. Are you sure?')+'

    ', 'library_delete_books', self): + return view.model().delete_books(rows) else: view = self.memory_view if self.stack.currentIndex() == 1 else self.card_view @@ -801,6 +831,7 @@ class Main(MainWindow, Ui_MainWindow): Edit metadata of selected books in library. ''' rows = self.library_view.selectionModel().selectedRows() + previous = self.library_view.currentIndex() if not rows or len(rows) == 0: d = error_dialog(self, _('Cannot edit metadata'), _('No books selected')) d.exec_() @@ -817,7 +848,10 @@ class Main(MainWindow, Ui_MainWindow): self.library_view.model().db, accepted_callback=accepted) d.exec_() - + if rows: + current = self.library_view.currentIndex() + self.library_view.model().current_changed(current, previous) + def edit_bulk_metadata(self, checked): ''' Edit metadata of selected books in library in bulk. @@ -1046,6 +1080,8 @@ class Main(MainWindow, Ui_MainWindow): def convert_single(self, checked): r = self.get_books_for_conversion() if r is None: return + previous = self.library_view.currentIndex() + rows = [x.row() for x in self.library_view.selectionModel().selectedRows()] comics, others = r jobs, changed = convert_single_ebook(self, self.library_view.model().db, comics, others) for func, args, desc, fmt, id, temp_files in jobs: @@ -1054,8 +1090,9 @@ class Main(MainWindow, Ui_MainWindow): self.conversion_jobs[job] = (temp_files, fmt, id) if changed: - self.library_view.model().resort(reset=False) - self.library_view.model().research() + self.library_view.model().refresh_rows(rows) + current = self.library_view.currentIndex() + self.library_view.model().current_changed(current, previous) def book_converted(self, job): temp_files, fmt, book_id = self.conversion_jobs.pop(job) @@ -1074,6 +1111,9 @@ class Main(MainWindow, Ui_MainWindow): os.remove(f.name) except: pass + if self.current_view() is self.library_view: + current = self.library_view.currentIndex() + self.library_view.model().current_changed(current, QModelIndex()) #############################View book###################################### @@ -1206,7 +1246,6 @@ class Main(MainWindow, Ui_MainWindow): newloc = d.database_location if not os.path.exists(os.path.join(newloc, 'metadata.db')): if os.access(self.library_path, os.R_OK): - from PyQt4.QtGui import QProgressDialog pd = QProgressDialog('', '', 0, 100, self) pd.setWindowModality(Qt.ApplicationModal) pd.setCancelButton(None) @@ -1385,9 +1424,14 @@ in which you want to store your books files. Any existing books will be automati self.memory_view.write_settings() def quit(self, checked, restart=False): - if self.shutdown(): - self.restart_after_quit = restart - QApplication.instance().quit() + if not self.confirm_quit(): + return + try: + self.shutdown() + except: + pass + self.restart_after_quit = restart + QApplication.instance().quit() def donate(self): BUTTON = ''' @@ -1418,22 +1462,26 @@ in which you want to store your books files. Any existing books will be automati QDesktopServices.openUrl(QUrl.fromLocalFile(pt.name)) - def shutdown(self): - msg = _('There are active jobs. Are you sure you want to quit?') - if self.job_manager.has_device_jobs(): - msg = '

    '+__appname__ + _(''' is communicating with the device!
    - 'Quitting may cause corruption on the device.
    - 'Are you sure you want to quit?''')+'

    ' + def confirm_quit(self): if self.job_manager.has_jobs(): + msg = _('There are active jobs. Are you sure you want to quit?') + if self.job_manager.has_device_jobs(): + msg = '

    '+__appname__ + _(''' is communicating with the device!
    + 'Quitting may cause corruption on the device.
    + 'Are you sure you want to quit?''')+'

    ' + d = QMessageBox(QMessageBox.Warning, _('WARNING: Active jobs'), msg, QMessageBox.Yes|QMessageBox.No, self) d.setIconPixmap(QPixmap(':/images/dialog_warning.svg')) d.setDefaultButton(QMessageBox.No) if d.exec_() != QMessageBox.Yes: return False + return True - self.job_manager.terminate_all_jobs() + + def shutdown(self): self.write_settings() + self.job_manager.terminate_all_jobs() self.device_manager.keep_going = False self.cover_cache.stop() self.hide() @@ -1459,7 +1507,11 @@ in which you want to store your books files. Any existing books will be automati self.hide() e.ignore() else: - if self.shutdown(): + if self.confirm_quit(): + try: + self.shutdown() + except: + pass e.accept() else: e.ignore() diff --git a/src/calibre/gui2/status.py b/src/calibre/gui2/status.py index 31fd0c9112..75a967943e 100644 --- a/src/calibre/gui2/status.py +++ b/src/calibre/gui2/status.py @@ -199,7 +199,10 @@ class StatusBar(QStatusBar): ret = QStatusBar.showMessage(self, msg, timeout) if self.systray is not None: if isosx and isinstance(msg, unicode): - msg = msg.encode(preferred_encoding) + try: + msg = msg.encode(preferred_encoding) + except UnicodeEncodeError: + msg = msg.encode('utf-8') self.systray.showMessage('calibre', msg, self.systray.Information, 10000) return ret diff --git a/src/calibre/gui2/tools.py b/src/calibre/gui2/tools.py index 76eaf0fc4b..c00fbfe8e3 100644 --- a/src/calibre/gui2/tools.py +++ b/src/calibre/gui2/tools.py @@ -13,7 +13,7 @@ from calibre.utils.config import prefs from calibre.gui2.dialogs.lrf_single import LRFSingleDialog, LRFBulkDialog from calibre.gui2.dialogs.epub import Config as EPUBConvert import calibre.gui2.dialogs.comicconf as ComicConf -from calibre.gui2 import warning_dialog, dynamic +from calibre.gui2 import warning_dialog from calibre.ptempfile import PersistentTemporaryFile from calibre.ebooks.lrf import preferred_source_formats as LRF_PREFERRED_SOURCE_FORMATS from calibre.ebooks.metadata.opf import OPFCreator @@ -22,7 +22,9 @@ from calibre.ebooks.epub.from_any import SOURCE_FORMATS as EPUB_PREFERRED_SOURCE def convert_single_epub(parent, db, comics, others): changed = False jobs = [] - for row in others: + others_ids = [db.id(row) for row in others] + comics_ids = [db.id(row) for row in comics] + for row, row_id in zip(others, others_ids): temp_files = [] d = EPUBConvert(parent, db, row) if d.source_format is not None: @@ -44,10 +46,10 @@ def convert_single_epub(parent, db, comics, others): opts.cover = d.cover_file.name temp_files.extend([d.opf_file, pt, of]) jobs.append(('any2epub', args, _('Convert book: ')+d.mi.title, - 'EPUB', db.id(row), temp_files)) + 'EPUB', row_id, temp_files)) changed = True - for row in comics: + for row, row_id in zip(comics, comics_ids): mi = db.get_metadata(row) title = author = _('Unknown') if mi.title: @@ -76,7 +78,7 @@ def convert_single_epub(parent, db, comics, others): args = [pt.name, opts] changed = True jobs.append(('comic2epub', args, _('Convert comic: ')+opts.title, - 'EPUB', db.id(row), [pt, of])) + 'EPUB', row_id, [pt, of])) return jobs, changed @@ -85,7 +87,9 @@ def convert_single_epub(parent, db, comics, others): def convert_single_lrf(parent, db, comics, others): changed = False jobs = [] - for row in others: + others_ids = [db.id(row) for row in others] + comics_ids = [db.id(row) for row in comics] + for row, row_id in zip(others, others_ids): temp_files = [] d = LRFSingleDialog(parent, db, row) if d.selected_format: @@ -104,10 +108,10 @@ def convert_single_lrf(parent, db, comics, others): temp_files.append(d.cover_file) temp_files.extend([pt, of]) jobs.append(('any2lrf', [cmdline], _('Convert book: ')+d.title(), - 'LRF', db.id(row), temp_files)) + 'LRF', row_id, temp_files)) changed = True - for row in comics: + for row, row_id in zip(comics, comics_ids): mi = db.get_metadata(row) title = author = _('Unknown') if mi.title: @@ -138,7 +142,7 @@ def convert_single_lrf(parent, db, comics, others): args = [pt.name, opts] changed = True jobs.append(('comic2lrf', args, _('Convert comic: ')+opts.title, - 'LRF', db.id(row), [pt, of])) + 'LRF', row_id, [pt, of])) return jobs, changed @@ -162,6 +166,7 @@ def convert_bulk_epub(parent, db, comics, others): parent.status_bar.showMessage(_('Starting Bulk conversion of %d books')%total, 2000) for i, row in enumerate(others+comics): + row_id = db.id(row) if row in others: data = None for fmt in EPUB_PREFERRED_SOURCE_FORMATS: @@ -198,7 +203,7 @@ def convert_bulk_epub(parent, db, comics, others): desc = _('Convert book %d of %d (%s)')%(i+1, total, repr(mi.title)) temp_files = [cf] if cf is not None else [] temp_files.extend([opf_file, pt, of]) - jobs.append(('any2epub', args, desc, 'EPUB', db.id(row), temp_files)) + jobs.append(('any2epub', args, desc, 'EPUB', row_id, temp_files)) else: options = comic_opts.copy() mi = db.get_metadata(row) @@ -224,7 +229,7 @@ def convert_bulk_epub(parent, db, comics, others): options.verbose = 1 args = [pt.name, options] desc = _('Convert book %d of %d (%s)')%(i+1, total, repr(mi.title)) - jobs.append(('comic2epub', args, desc, 'EPUB', db.id(row), [pt, of])) + jobs.append(('comic2epub', args, desc, 'EPUB', row_id, [pt, of])) if bad_rows: res = [] @@ -255,6 +260,7 @@ def convert_bulk_lrf(parent, db, comics, others): parent.status_bar.showMessage(_('Starting Bulk conversion of %d books')%total, 2000) for i, row in enumerate(others+comics): + row_id = db.id(row) if row in others: cmdline = list(d.cmdline) mi = db.get_metadata(row) @@ -294,7 +300,7 @@ def convert_bulk_lrf(parent, db, comics, others): desc = _('Convert book %d of %d (%s)')%(i+1, total, repr(mi.title)) temp_files = [cf] if cf is not None else [] temp_files.extend([pt, of]) - jobs.append(('any2lrf', [cmdline], desc, 'LRF', db.id(row), temp_files)) + jobs.append(('any2lrf', [cmdline], desc, 'LRF', row_id, temp_files)) else: options = comic_opts.copy() mi = db.get_metadata(row) @@ -320,7 +326,7 @@ def convert_bulk_lrf(parent, db, comics, others): options.verbose = 1 args = [pt.name, options] desc = _('Convert book %d of %d (%s)')%(i+1, total, repr(mi.title)) - jobs.append(('comic2lrf', args, desc, 'LRF', db.id(row), [pt, of])) + jobs.append(('comic2lrf', args, desc, 'LRF', row_id, [pt, of])) if bad_rows: res = [] diff --git a/src/calibre/gui2/viewer/documentview.py b/src/calibre/gui2/viewer/documentview.py index ed5f8efdcd..6c1eca0061 100644 --- a/src/calibre/gui2/viewer/documentview.py +++ b/src/calibre/gui2/viewer/documentview.py @@ -523,7 +523,10 @@ class DocumentView(QWebView): self.manager.previous_document() event.accept() return - return QWebView.wheelEvent(self, event) + ret = QWebView.wheelEvent(self, event) + if self.manager is not None: + self.manager.scrolled(self.scroll_fraction) + return ret def keyPressEvent(self, event): key = event.key() diff --git a/src/calibre/gui2/viewer/main.py b/src/calibre/gui2/viewer/main.py index 09d8aaf81c..fedebc66d7 100644 --- a/src/calibre/gui2/viewer/main.py +++ b/src/calibre/gui2/viewer/main.py @@ -244,6 +244,7 @@ class EbookViewer(MainWindow, Ui_EbookViewer): lambda x:self.find(unicode(self.search.text()), True, repeat=True)) self.connect(self.action_full_screen, SIGNAL('triggered(bool)'), self.toggle_fullscreen) + self.action_full_screen.setShortcuts([Qt.Key_F11, Qt.CTRL+Qt.SHIFT+Qt.Key_F]) self.connect(self.action_back, SIGNAL('triggered(bool)'), self.back) self.connect(self.action_bookmark, SIGNAL('triggered(bool)'), self.bookmark) self.connect(self.action_forward, SIGNAL('triggered(bool)'), self.forward) @@ -511,7 +512,7 @@ class EbookViewer(MainWindow, Ui_EbookViewer): self.metadata.show_opf(self.iterator.opf) title = self.iterator.opf.title if not title: - title = os.path.splitext(os.path.basename(pathtoebook)) + title = os.path.splitext(os.path.basename(pathtoebook))[0] self.action_table_of_contents.setDisabled(not self.iterator.toc) if self.iterator.toc: self.toc_model = TOC(self.iterator.toc) diff --git a/src/calibre/library/cli.py b/src/calibre/library/cli.py index fa2785ddc1..e170842293 100644 --- a/src/calibre/library/cli.py +++ b/src/calibre/library/cli.py @@ -76,13 +76,25 @@ STANZA_TEMPLATE='''\ ${record['title']} urn:calibre:${record['id']} - ${record['authors']} + ${record['author_sort']} ${record['timestamp'].strftime('%Y-%m-%dT%H:%M:%SZ')} -
    ${record['comments']}
    +
    + + + ${f.capitalize()}:${unicode(', '.join(record[f]) if f=='tags' else record[f])} + # ${str(record['series_index'])} +
    +
    +
    + +
    + ${record['comments']} +
    +
    @@ -221,7 +233,7 @@ NULL = DevNull() def do_add(db, paths, one_book_per_directory, recurse, add_duplicates): orig = sys.stdout - sys.stdout = NULL + #sys.stdout = NULL try: files, dirs = [], [] for path in paths: diff --git a/src/calibre/library/database.py b/src/calibre/library/database.py index 122bded333..f14a1174fc 100644 --- a/src/calibre/library/database.py +++ b/src/calibre/library/database.py @@ -943,7 +943,11 @@ ALTER TABLE books ADD COLUMN isbn TEXT DEFAULT "" COLLATE NOCASE; if index_is_id: return self.conn.get('SELECT publisher FROM meta WHERE id=?', (index,), all=False) return self.data[index][3] - + + def publisher_id(self, index, index_is_id=False): + id = index if index_is_id else self.id(index) + return self.conn.get('SELECT publisher from books_publishers_link WHERE book=?', (id,), all=False) + def rating(self, index, index_is_id=False): if index_is_id: return self.conn.get('SELECT rating FROM meta WHERE id=?', (index,), all=False) @@ -1041,6 +1045,14 @@ ALTER TABLE books ADD COLUMN isbn TEXT DEFAULT "" COLLATE NOCASE; def all_series(self): return [ (i[0], i[1]) for i in \ self.conn.get('SELECT id, name FROM series')] + + def all_authors(self): + return [ (i[0], i[1]) for i in \ + self.conn.get('SELECT id, name FROM authors')] + + def all_publishers(self): + return [ (i[0], i[1]) for i in \ + self.conn.get('SELECT id, name FROM publishers')] def all_tags(self): return [i[0].strip() for i in self.conn.get('SELECT name FROM tags') if i[0].strip()] diff --git a/src/calibre/library/database2.py b/src/calibre/library/database2.py index 244ae72aeb..d3cefa47fa 100644 --- a/src/calibre/library/database2.py +++ b/src/calibre/library/database2.py @@ -21,13 +21,12 @@ from calibre.library.sqlite import connect, IntegrityError from calibre.utils.search_query_parser import SearchQueryParser from calibre.ebooks.metadata import string_to_authors, authors_to_string from calibre.ebooks.metadata.meta import get_metadata -from calibre.constants import preferred_encoding, iswindows, isosx +from calibre.constants import preferred_encoding, iswindows, isosx, filesystem_encoding from calibre.ptempfile import PersistentTemporaryFile from calibre.customize.ui import run_plugins_on_import +from calibre import sanitize_file_name copyfile = os.link if hasattr(os, 'link') else shutil.copyfile -filesystem_encoding = sys.getfilesystemencoding() -if filesystem_encoding is None: filesystem_encoding = 'utf-8' iscaseinsensitive = iswindows or isosx def normpath(x): @@ -37,23 +36,6 @@ def normpath(x): x = x.lower() return x -_filename_sanitize = re.compile(r'[\xae\0\\|\?\*<":>\+\[\]/]') - -def sanitize_file_name(name, substitute='_'): - ''' - Sanitize the filename `name`. All invalid characters are replaced by `substitute`. - The set of invalid characters is the union of the invalid characters in Windows, - OS X and Linux. Also removes leading an trailing whitespace. - **WARNING:** This function also replaces path separators, so only pass file names - and not full paths to it. - *NOTE:* This function always returns byte strings, not unicode objects. The byte strings - are encoded in the filesystem encoding of the platform, or UTF-8. - ''' - if isinstance(name, unicode): - name = name.encode(filesystem_encoding, 'ignore') - one = _filename_sanitize.sub(substitute, name) - one = re.sub(r'\s', ' ', one).strip() - return re.sub(r'^\.+$', '_', one) FIELD_MAP = {'id':0, 'title':1, 'authors':2, 'publisher':3, 'rating':4, 'timestamp':5, 'size':6, 'tags':7, 'comments':8, 'series':9, 'series_index':10, @@ -489,8 +471,8 @@ class LibraryDatabase2(LibraryDatabase): authors = self.authors(id, index_is_id=True) if not authors: authors = _('Unknown') - author = sanitize_file_name(authors.split(',')[0][:self.PATH_LIMIT]).decode(filesystem_encoding) - title = sanitize_file_name(self.title(id, index_is_id=True)[:self.PATH_LIMIT]).decode(filesystem_encoding) + author = sanitize_file_name(authors.split(',')[0][:self.PATH_LIMIT]).decode(filesystem_encoding, 'replace') + title = sanitize_file_name(self.title(id, index_is_id=True)[:self.PATH_LIMIT]).decode(filesystem_encoding, 'replace') name = title + ' - ' + author return name @@ -895,6 +877,14 @@ class LibraryDatabase2(LibraryDatabase): self.conn.commit() if notify: self.notify('metadata', [id]) + + def set_timestamp(self, id, dt, notify=True): + if dt: + self.conn.execute('UPDATE books SET timestamp=? WHERE id=?', (dt, id)) + self.data.set(id, FIELD_MAP['timestamp'], dt, row_is_id=True) + self.conn.commit() + if notify: + self.notify('metadata', [id]) def set_publisher(self, id, publisher, notify=True): self.conn.execute('DELETE FROM books_publishers_link WHERE book=?',(id,)) @@ -1118,8 +1108,13 @@ class LibraryDatabase2(LibraryDatabase): continue series_index = 1 if mi.series_index is None else mi.series_index aus = mi.author_sort if mi.author_sort else ', '.join(mi.authors) + title = mi.title + if isinstance(aus, str): + aus = aus.decode(preferred_encoding, 'replace') + if isinstance(title, str): + title = title.decode(preferred_encoding) obj = self.conn.execute('INSERT INTO books(title, uri, series_index, author_sort) VALUES (?, ?, ?, ?)', - (mi.title, uri, series_index, aus)) + (title, uri, series_index, aus)) id = obj.lastrowid self.data.books_added([id], self.conn) ids.append(id) diff --git a/src/calibre/linux.py b/src/calibre/linux.py index 296024c251..224e301562 100644 --- a/src/calibre/linux.py +++ b/src/calibre/linux.py @@ -2,10 +2,10 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal ' ''' Post installation script for linux ''' import sys, os, re, shutil - from subprocess import check_call, call -from calibre import __version__, __appname__ +from tempfile import NamedTemporaryFile +from calibre import __version__, __appname__ from calibre.devices import devices DEVICES = devices() @@ -401,9 +401,9 @@ def install_man_pages(fatal_errors): import subprocess print 'Installing MAN pages...' manpath = '/usr/share/man/man1' - f = open_file('/tmp/man_extra', 'wb') + f = NamedTemporaryFile() f.write('[see also]\nhttp://%s.kovidgoyal.net\n'%__appname__) - f.close() + f.flush() manifest = [] os.environ['PATH'] += ':'+os.path.expanduser('~/bin') for src in entry_points['console_scripts']: diff --git a/src/calibre/manual/customize.rst b/src/calibre/manual/customize.rst index 3c00787881..0efb6a3f63 100644 --- a/src/calibre/manual/customize.rst +++ b/src/calibre/manual/customize.rst @@ -46,7 +46,7 @@ Create a file name :file:`my_plugin.py` (the file name must end with plugin.py) ext = os.path.splitext(path_to_ebook)[-1][1:].lower() mi = get_metadata(file, ext) mi.publisher = 'Hello World' - set_metadata(file, ext, mi) + set_metadata(file, mi, ext) return path_to_ebook That's all. To add this code to |app| as a plugin, simply create a zip file with:: diff --git a/src/calibre/manual/faq.rst b/src/calibre/manual/faq.rst index 7276e177c9..4b3c217698 100644 --- a/src/calibre/manual/faq.rst +++ b/src/calibre/manual/faq.rst @@ -143,6 +143,15 @@ Where are the book files stored? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When you first run |app|, it will ask you for a folder in which to store your books. Whenever you add a book to |app|, it will copy the book into that folder. Books in the folder are nicely arranged into sub-folders by Author and Title. Metadata about the books is stored in the file ``metadata.db`` (which is a sqlite database). +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. + +Why doesn't |app| have a column for foo? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +|app| is designed to have columns for the most frequently and widely used fields. If it does not have a coulmn for your favorite field, you can always add a tag to the book for that piece of information. |app| also supports a general purpose "comments" fields for longer items. + Content From The Web --------------------- diff --git a/src/calibre/manual/news.rst b/src/calibre/manual/news.rst index 871b0beb09..025f38ec22 100644 --- a/src/calibre/manual/news.rst +++ b/src/calibre/manual/news.rst @@ -133,7 +133,7 @@ to the recipe. Finally, lets replace some of the :term:`CSS` that we disabled ea With these additions, our recipe has become "production quality", indeed it is very close to the actual recipe used by |app| for the *BBC*, shown below: -.. literalinclude:: ../web/feeds/recipes/bbc.py +.. literalinclude:: ../web/feeds/recipes/recipe_bbc.py This :term:`recipe` explores only the tip of the iceberg when it comes to the power of |app|. To explore more of the abilities of |app| we'll examine a more complex real life example in the next section. diff --git a/src/calibre/parallel.py b/src/calibre/parallel.py index 0b543ea27f..45ceff5132 100644 --- a/src/calibre/parallel.py +++ b/src/calibre/parallel.py @@ -31,7 +31,7 @@ from threading import RLock, Thread, Event from math import ceil from calibre.ptempfile import PersistentTemporaryFile -from calibre import iswindows, detect_ncpus, isosx +from calibre import iswindows, detect_ncpus, isosx, preferred_encoding from calibre.utils.config import prefs DEBUG = False @@ -614,8 +614,10 @@ class Job(object): if isinstance(self.log, str): self.log = unicode(self.log, 'utf-8', 'replace') ans.extend(self.log.split('\n')) - - return '
    '.join(ans) + + ans = [x.decode(preferred_encoding, 'replace') if isinstance(x, str) else x for x in ans] + + return u'
    '.join(ans) class ParallelJob(Job): diff --git a/src/calibre/trac/donations/server.py b/src/calibre/trac/donations/server.py index 2472524e95..cbb68d972e 100644 --- a/src/calibre/trac/donations/server.py +++ b/src/calibre/trac/donations/server.py @@ -21,7 +21,7 @@ from lxml import etree def range_for_month(year, month): ty, tm = date.today().year, date.today().month - min = date(year=year, month=month, day=1) + min = max = date(year=year, month=month, day=1) x = date.today().day if ty == year and tm == month else 31 while x > 1: try: @@ -102,6 +102,8 @@ class Stats: def get_deviation(self, amounts): l = float(len(amounts)) + if l == 0: + return 0 mean = sum(amounts)/l return sqrt( sum([i**2 for i in amounts])/l - mean**2 ) @@ -199,7 +201,7 @@ class Server(object): x = list(range(days-1, -1, -1)) y = stats.daily_totals ax.plot(x, y)#, align='center', width=20, color='g') - ax.set_xlabel('Day') + ax.set_xlabel('Days ago') ax.set_ylabel('Income ($)') ax.hlines([stats.daily_average], 0, days-1) ax.set_xlim([0, days-1]) diff --git a/src/calibre/translations/bg.po b/src/calibre/translations/bg.po index befcfc9d76..c874dca158 100644 --- a/src/calibre/translations/bg.po +++ b/src/calibre/translations/bg.po @@ -6,25 +6,199 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.51\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-12-18 01:36+0000\n" +"POT-Creation-Date: 2008-12-30 15:33+0000\n" "PO-Revision-Date: 2008-05-24 06:23+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-12-23 17:56+0000\n" +"X-Launchpad-Export-Date: 2009-01-04 04:32+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:137 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:155 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:193 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 +msgid "Does absolutely nothing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:478 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:961 +#: /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 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 +#: /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:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 +#: /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:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:78 +#: /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:793 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:835 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:915 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 +#: /home/kovid/work/calibre/src/calibre/library/database.py:920 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1580 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:461 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:808 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:841 +msgid "Unknown" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:62 +msgid "Base" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 +msgid "File type" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:182 +msgid "Metadata reader" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:209 +msgid "Metadata writer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:12 +msgid "" +"Follow all local links in an HTML file and create a ZIP file containing all " +"linked files. This plugin is run every time you add an HTML file to the " +"library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:32 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:42 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:53 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:63 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:73 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:83 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:105 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:135 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:145 +msgid "Read metadata from %s files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:155 +msgid "Extract cover from comic files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:175 +msgid "Set metadata in EPUB files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:185 +msgid "Set metadata in LRF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:195 +msgid "Set metadata in RTF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:28 +msgid "Installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:29 +msgid "Mapping for filetype plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 +msgid "Local plugin customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 +msgid "Disabled plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:66 +msgid "No valid plugin found in " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:170 +msgid "Initialization of plugin %s failed with traceback:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:247 +msgid "" +" %prog options\n" +" \n" +" Customize calibre by loading external plugins.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:253 +msgid "Add a plugin by specifying the path to the zip file containing it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:255 +msgid "Remove a custom plugin by name. Has no effect on builtin plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:257 +msgid "" +"Customize plugin. Specify name of plugin and customization string separated " +"by a comma." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:259 +msgid "List all installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:261 +msgid "Enable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:263 +msgid "Disable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:158 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:196 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:224 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:409 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:412 msgid "The reader has no storage card connected." msgstr "" @@ -198,64 +372,7 @@ msgid "" "Extract the contents of the produced EPUB file to the specified directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:43 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:477 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 -#: /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 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 -#: /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:196 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:65 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:67 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:100 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:102 -#: /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:793 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 -#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:342 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:828 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:650 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 -#: /home/kovid/work/calibre/src/calibre/library/database.py:920 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1564 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:477 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:489 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:817 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 -msgid "Unknown" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:154 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:156 msgid "" "%%prog [options] filename\n" "\n" @@ -263,11 +380,11 @@ msgid "" "formats are: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:100 msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:157 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:158 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -278,13 +395,13 @@ msgid "" "the element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:389 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:737 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:391 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:739 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:411 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1035 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:413 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1046 msgid "You must specify an input HTML file" msgstr "" @@ -303,87 +420,87 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:490 msgid "Written processed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:820 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:827 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:838 msgid "The output directory. Default is the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:829 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:840 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:842 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:833 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:844 msgid "Control the following of links in HTML files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:835 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:846 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:837 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:848 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:839 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:850 msgid "Set metadata of the generated ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:841 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:852 msgid "Set the title. Default is to autodetect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:843 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:854 msgid "The author(s) of the ebook, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:845 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:856 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:847 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:858 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:849 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:860 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:851 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:862 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:853 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:864 msgid "Options useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:866 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:857 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:868 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:863 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:874 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -405,7 +522,7 @@ msgid "%prog [options] LITFILE" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:852 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:444 msgid "Output directory. Defaults to current directory." msgstr "" @@ -414,20 +531,20 @@ msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:723 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:724 msgid "Useful for debugging." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:869 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:468 msgid "OEB ebook created in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:717 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:718 msgid "%prog [options] OPFFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:720 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:721 msgid "Output file. Default is derived from input filename." msgstr "" @@ -460,7 +577,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:275 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 msgid "Publisher" msgstr "" @@ -701,11 +818,11 @@ msgid "" "default is to try and guess the encoding." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:161 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:164 msgid "Converting from %s to LRF is not supported." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:171 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:175 msgid "" "any2lrf [options] myfile\n" "\n" @@ -716,118 +833,118 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:186 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:190 msgid "No file to convert specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:221 msgid "Rendered %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:223 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 msgid "Failed %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:275 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:276 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:283 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:289 msgid "Title for generated ebook. Default is to use the filename." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 msgid "" "Path to output file. By default a file is created in the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:296 msgid "Number of colors for grayscale image conversion. Default: %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:307 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:308 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:310 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:312 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:314 msgid "" "Choose a profile for the device you are generating this file for. The " "default is the SONY PRS-500 with a screen size of 584x754 pixels. This is " "suitable for any reader with the same screen size. Choices are %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:316 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " "greater verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:318 msgid "Don't show progress bar." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:322 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" "Convert a comic in a CBZ or CBR file to an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:382 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:383 msgid "Output written to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:423 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:426 msgid "Rendering comic pages..." msgstr "" @@ -868,95 +985,95 @@ msgstr "" msgid "Fetching of recipe failed: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 msgid "\tBook Designer file detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tParsing HTML..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:340 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:343 msgid "\tBaen file detected. Re-parsing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:356 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:359 msgid "Written preprocessed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:377 msgid "Processing %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:388 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:391 msgid "\tConverting to BBeB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:534 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:547 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:550 msgid "Could not parse file: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:542 msgid "%s is an empty file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:559 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:562 msgid "Failed to parse link %s %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:603 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:606 msgid "Cannot add link %s to TOC" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:958 msgid "Unable to process image %s. Error: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:996 msgid "Unable to process interlaced PNG %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1008 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1011 msgid "" "Could not process image: %s\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1765 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1767 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 msgid "" "Bad table:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1789 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 msgid "Table has cell that is too large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1819 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 msgid "Could not read cover image: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 msgid "Cannot read from: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "Failed to process opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2009 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1155,17 +1272,17 @@ msgstr "" #: /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:91 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:330 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:899 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:906 msgid "Author(s)" msgstr "" @@ -1184,24 +1301,24 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:391 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:527 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:838 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:845 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Series" @@ -1318,11 +1435,11 @@ msgstr "" msgid "Usage: rb-meta file.rb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:440 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:464 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 msgid "Raw MOBI HTML saved in" msgstr "" @@ -1330,84 +1447,84 @@ msgstr "" msgid "The output directory. Defaults to the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:26 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:424 msgid "Frequently used directories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:27 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:29 msgid "The format to use when saving single files to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:31 msgid "Confirm before deleting" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 msgid "Toolbar icon size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 msgid "Show button labels in the toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 msgid "Main window geometry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 msgid "Notify when a new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Use Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Sort tags list by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Number of covers to show in the cover browsing mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Options for the LRF ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 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:57 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Delete books from library after uploading to device" msgstr "" @@ -1446,8 +1563,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:282 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:840 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "" @@ -1456,7 +1573,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:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Formats" @@ -1471,6 +1588,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:53 msgid "TextLabel" @@ -1546,90 +1664,143 @@ msgstr "" msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 +msgid " plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:106 +msgid "by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "General" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 msgid "" "Content\n" "Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 +msgid "Plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:255 +msgid "No valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:256 +msgid "%s is not a valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +msgid "Choose plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:270 +msgid "Plugin cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:271 +msgid "The plugin: %s cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +msgid "Plugin not customizable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:282 +msgid "Plugin: %s does not need customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +msgid "Customize %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:295 +msgid "Cannot remove builtin plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:296 +msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:317 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:321 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:382 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:264 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:423 msgid "Invalid database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "
    Must be a directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "Invalid database location " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 msgid "Invalid database location.
    Cannot write to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting database. This may take a while." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:329 msgid "Configuration" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:409 msgid "" "&Location of ebooks (The ebooks are stored in folders sorted by author and " "metadata is stored in the file metadata.db)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:410 msgid "Browse for the new database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:358 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:374 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:386 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:426 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:373 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:509 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:282 @@ -1652,200 +1823,196 @@ msgstr "" msgid "..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:412 msgid "Show notification when &new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:360 -msgid "Ask for &confirmation before deleting files" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:413 msgid "" -"If you disable this setting, metadatas is guessed from the filename instead. " +"If you disable this setting, metadata is guessed from the filename instead. " "This can be configured in the Advanced section." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:414 msgid "Read &metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:415 msgid "Format for &single file save:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:416 msgid "Default network &timeout:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:417 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:418 msgid " seconds" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:419 msgid "Choose &language (requires restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:420 msgid "Normal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:421 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:422 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:423 msgid "Job &priority:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:425 msgid "Add a directory to the frequently used directories list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:427 msgid "Remove a directory from the frequently used directories list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:429 msgid "Use &Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:430 msgid "&Number of covers to show in browse mode (after restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:431 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 msgid "Large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Medium" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:435 msgid "&Button size in toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:436 msgid "Show &text in toolbar buttons" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:437 msgid "Select visible &columns in library view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:440 msgid "Use internal &viewer for the following formats:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:441 msgid "Enable system &tray icon (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:442 msgid "Automatically send downloaded &news to ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:443 msgid "&Delete news from library when it is sent to reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:444 msgid "Free unused diskspace from the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:445 msgid "&Compact database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:446 msgid "&Metadata from file name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:447 msgid "" "calibre contains a network server that allows you to access your book " "collection using a browser from anywhere in the world. Any changes to the " "settings will only take effect after a server restart." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:448 msgid "Server &port:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:146 msgid "&Username:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:147 msgid "&Password:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:451 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:452 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:148 msgid "&Show password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:453 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:454 msgid "Max. &cover size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:455 msgid "&Start Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:456 msgid "St&op Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:457 msgid "&Test Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:458 msgid "Run server &automatically on startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:459 msgid "View &server logs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 msgid "" "If you want to use the content server to access your ebook collection on " "your iphone with Stanza, you will need to add the URL " @@ -1854,6 +2021,44 @@ msgid "" "address of this computer." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 +msgid "" +"Here you can customize the behavior of Calibre by controlling what plugins " +"it uses." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:462 +msgid "Enable/&Disable plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 +msgid "&Customize plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:464 +msgid "&Remove plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:465 +msgid "Add new plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:466 +msgid "Plugin &file:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:468 +msgid "&Add" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +msgid "Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +msgid "&Show this warning again" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:41 msgid "ERROR" msgstr "" @@ -1871,7 +2076,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:296 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 msgid "Metadata" msgstr "" @@ -1925,25 +2130,25 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 msgid "Cannot read" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:52 msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 msgid "Error reading file" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:184 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:61 msgid "

    There was an error reading from file:
    " msgstr "" @@ -1953,7 +2158,7 @@ msgid " is not a valid picture" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "Cannot convert" msgstr "" @@ -2573,26 +2778,26 @@ msgstr "" msgid "A&utomatically set author sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:262 msgid "" "

    Enter your username and password for LibraryThing.com.
    If you " "do not have one, you can register " "for free!.

    " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover.
    " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "You must specify the ISBN identifier for this book." msgstr "" @@ -2698,9 +2903,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:335 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:761 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:765 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1064 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:752 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:756 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1055 msgid "News" msgstr "" @@ -3169,52 +3374,62 @@ msgstr "" msgid "Working" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:162 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:166 +#: /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 "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 msgid "Cannot kill jobs that communicate with the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:167 +#: /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:93 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:907 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:908 msgid "Date" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 msgid "Rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:274 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 msgid "None" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 msgid "Book %s of %s." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:675 +msgid "Not allowed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:676 +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:839 msgid "Format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:844 msgid "Timestamp" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:942 msgid "Search (For Advanced Search click the button to the left)" msgstr "" @@ -3243,7 +3458,7 @@ msgid "No matches for the search phrase %s were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:377 msgid "No matches found" msgstr "" @@ -3268,12 +3483,12 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 msgid "Back" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 msgid "Forward" msgstr "" @@ -3282,7 +3497,7 @@ msgid "Next match" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:162 msgid "Open ebook" msgstr "" @@ -3290,152 +3505,152 @@ msgstr "" msgid "Configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88 msgid "Error communicating with device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Donate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Quit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:104 msgid "&Restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:148 msgid "" "

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

    " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Send to main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "Send to storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 msgid "Send to storage card by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 msgid "Edit metadata individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:187 msgid "Edit metadata in bulk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 msgid "Add books from a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:191 msgid "" -"Add books recursively (One book per directory, assumes every ebook file is " -"the same book in a different format)" +"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:190 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 msgid "" -"Add books recursively (Multiple books per directory, assumes every ebook " -"file is a different book)" +"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:205 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:342 msgid "Save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 msgid "Save to disk in a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Save only %s format to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:348 msgid "View" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:213 msgid "View specific format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:230 msgid "Convert individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 msgid "Bulk convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:233 msgid "Set defaults for conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:234 msgid "Set defaults for conversion of comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:255 msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 msgid "Bad database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1333 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1356 msgid "Choose a location for your ebook library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:315 msgid "Migrating database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:487 msgid "Device: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:488 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:510 msgid "Connected " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:521 msgid "Device database corrupted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:522 msgid "" "\n" "

    The database of books on the reader is corrupted. Try the " @@ -3451,288 +3666,320 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:572 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:668 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +msgid "Stop" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:574 +msgid "Adding books recursively..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Added " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Searching..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:695 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:575 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:698 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:649 msgid "Uploading books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:633 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:634 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:635 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:636 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:620 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:637 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:638 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:639 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:640 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:641 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:642 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:661 +msgid "Reading metadata..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:659 +msgid "Adding books..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:685 +msgid "Read metadata from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:688 +msgid "Adding books to database..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:730 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:731 msgid "" "

      Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:736 -msgid "Confirm delete" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:763 +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:737 -msgid "Are you sure you want to delete these %d books?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 msgid "Cannot edit metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "No books selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:848 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:871 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:923 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:926 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:927 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:920 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 msgid "Cannot save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:947 msgid "Choose destination directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:931 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:954 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:935 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:958 msgid "Could not save some ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:955 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:978 msgid "Fetching news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:992 msgid " fetched." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 msgid "No book selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 msgid "Cannot view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1134 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1112 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1157 msgid "Choose the format to view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1130 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1153 msgid "%s has no available formats." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure while there are running jobs." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1210 msgid "Copying database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212 msgid "Copying library to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1222 msgid "Invalid database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1223 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:1206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1229 msgid "Could not move database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1226 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1249 msgid "No detailed info available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1227 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1250 msgid "No detailed information is available for books on the device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1270 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1293 msgid "Error talking to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1294 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:1284 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1299 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1307 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1326 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 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:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1342 msgid "Database does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1320 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1343 msgid "" "The directory in which the database should be: %s no longer exists. Please " "choose a new database location." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1345 msgid "Choose new location for database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1375 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 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:1396 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1419 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1421 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:1402 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1425 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 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:1444 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1467 msgid "" "Latest version: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 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:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1464 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1487 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1489 msgid "Log debugging information to console" msgstr "" @@ -4036,7 +4283,7 @@ msgid "The standard font type" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:47 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 msgid "Table of Contents" msgstr "" @@ -4060,109 +4307,113 @@ msgstr "" msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:338 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:339 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:378 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:445 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:497 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "

        This book is protected by DRM" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:507 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:508 msgid "%s

        %s

        " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:577 msgid "" "%prog [options] file\n" "\n" "View an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 msgid "Ebook Viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 msgid "toolBar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 msgid "Next page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 msgid "Previous page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 msgid "Font size larger" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 msgid "Font size smaller" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:163 msgid "Find next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:164 msgid "Copy to clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:165 msgid "Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:166 msgid "Reference Mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:167 msgid "Bookmark" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168 +msgid "Toggle full screen" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:47 msgid "Invalid regular expression" msgstr "" @@ -4459,20 +4710,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1146 msgid "

        Copying books to %s

        " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1157 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1266 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1159 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1268 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1237 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "

        Migrating old database to ebook library in %s

        " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1285 msgid "Compacting database" msgstr "" @@ -4495,47 +4746,47 @@ msgstr "" msgid "Job stopped by user" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:39 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:41 msgid "%sUsage%s: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:77 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:79 msgid "Created by " msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:524 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:527 msgid "Path to the database in which books are stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:526 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:529 msgid "Pattern to guess metadata from filenames" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:528 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:531 msgid "Access key for isbndb.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:530 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:533 msgid "Default timeout for network operations (seconds)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:532 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:535 msgid "Path to directory in which your library of books is stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:534 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:537 msgid "The language in which to display the user interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:536 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:539 msgid "The default output format for ebook conversions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:538 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:541 msgid "Read metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:540 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:543 msgid "The priority of worker processes" msgstr "" diff --git a/src/calibre/translations/ca.po b/src/calibre/translations/ca.po index f028f4ec6b..e58ac9d920 100644 --- a/src/calibre/translations/ca.po +++ b/src/calibre/translations/ca.po @@ -10,24 +10,198 @@ msgid "" msgstr "" "Project-Id-Version: ca\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-12-18 01:36+0000\n" +"POT-Creation-Date: 2008-12-30 15:33+0000\n" "PO-Revision-Date: 2008-05-24 06:21+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-12-23 17:57+0000\n" +"X-Launchpad-Export-Date: 2009-01-04 04:32+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:137 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:155 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:193 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 +msgid "Does absolutely nothing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:478 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:961 +#: /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 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 +#: /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:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 +#: /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:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:78 +#: /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:793 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:835 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:915 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 +#: /home/kovid/work/calibre/src/calibre/library/database.py:920 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1580 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:461 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:808 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:841 +msgid "Unknown" +msgstr "Desconegut" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:62 +msgid "Base" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 +msgid "File type" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:182 +msgid "Metadata reader" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:209 +msgid "Metadata writer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:12 +msgid "" +"Follow all local links in an HTML file and create a ZIP file containing all " +"linked files. This plugin is run every time you add an HTML file to the " +"library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:32 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:42 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:53 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:63 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:73 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:83 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:105 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:135 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:145 +msgid "Read metadata from %s files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:155 +msgid "Extract cover from comic files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:175 +msgid "Set metadata in EPUB files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:185 +msgid "Set metadata in LRF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:195 +msgid "Set metadata in RTF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:28 +msgid "Installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:29 +msgid "Mapping for filetype plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 +msgid "Local plugin customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 +msgid "Disabled plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:66 +msgid "No valid plugin found in " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:170 +msgid "Initialization of plugin %s failed with traceback:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:247 +msgid "" +" %prog options\n" +" \n" +" Customize calibre by loading external plugins.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:253 +msgid "Add a plugin by specifying the path to the zip file containing it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:255 +msgid "Remove a custom plugin by name. Has no effect on builtin plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:257 +msgid "" +"Customize plugin. Specify name of plugin and customization string separated " +"by a comma." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:259 +msgid "List all installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:261 +msgid "Enable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:263 +msgid "Disable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:158 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:196 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:224 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:409 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:412 msgid "The reader has no storage card connected." msgstr "" @@ -201,64 +375,7 @@ msgid "" "Extract the contents of the produced EPUB file to the specified directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:43 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:477 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 -#: /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 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 -#: /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:196 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:65 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:67 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:100 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:102 -#: /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:793 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 -#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:342 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:828 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:650 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 -#: /home/kovid/work/calibre/src/calibre/library/database.py:920 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1564 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:477 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:489 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:817 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 -msgid "Unknown" -msgstr "Desconegut" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:154 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:156 msgid "" "%%prog [options] filename\n" "\n" @@ -266,11 +383,11 @@ msgid "" "formats are: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:100 msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:157 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:158 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -281,13 +398,13 @@ msgid "" "the element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:389 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:737 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:391 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:739 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:411 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1035 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:413 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1046 msgid "You must specify an input HTML file" msgstr "" @@ -306,87 +423,87 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:490 msgid "Written processed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:820 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:827 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:838 msgid "The output directory. Default is the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:829 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:840 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:842 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:833 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:844 msgid "Control the following of links in HTML files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:835 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:846 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:837 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:848 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:839 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:850 msgid "Set metadata of the generated ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:841 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:852 msgid "Set the title. Default is to autodetect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:843 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:854 msgid "The author(s) of the ebook, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:845 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:856 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:847 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:858 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:849 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:860 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:851 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:862 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:853 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:864 msgid "Options useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:866 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:857 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:868 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:863 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:874 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -408,7 +525,7 @@ msgid "%prog [options] LITFILE" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:852 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:444 msgid "Output directory. Defaults to current directory." msgstr "" @@ -417,20 +534,20 @@ msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:723 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:724 msgid "Useful for debugging." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:869 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:468 msgid "OEB ebook created in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:717 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:718 msgid "%prog [options] OPFFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:720 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:721 msgid "Output file. Default is derived from input filename." msgstr "" @@ -465,7 +582,7 @@ msgstr "Clau d'ordre per a l'autor" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:275 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 msgid "Publisher" msgstr "Editorial" @@ -747,11 +864,11 @@ msgid "" "default is to try and guess the encoding." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:161 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:164 msgid "Converting from %s to LRF is not supported." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:171 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:175 msgid "" "any2lrf [options] myfile\n" "\n" @@ -762,118 +879,118 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:186 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:190 msgid "No file to convert specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:221 msgid "Rendered %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:223 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 msgid "Failed %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:275 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:276 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:283 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:289 msgid "Title for generated ebook. Default is to use the filename." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 msgid "" "Path to output file. By default a file is created in the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:296 msgid "Number of colors for grayscale image conversion. Default: %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:307 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:308 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:310 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:312 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:314 msgid "" "Choose a profile for the device you are generating this file for. The " "default is the SONY PRS-500 with a screen size of 584x754 pixels. This is " "suitable for any reader with the same screen size. Choices are %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:316 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " "greater verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:318 msgid "Don't show progress bar." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:322 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" "Convert a comic in a CBZ or CBR file to an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:382 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:383 msgid "Output written to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:423 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:426 msgid "Rendering comic pages..." msgstr "" @@ -914,95 +1031,95 @@ msgstr "" msgid "Fetching of recipe failed: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 msgid "\tBook Designer file detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tParsing HTML..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:340 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:343 msgid "\tBaen file detected. Re-parsing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:356 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:359 msgid "Written preprocessed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:377 msgid "Processing %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:388 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:391 msgid "\tConverting to BBeB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:534 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:547 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:550 msgid "Could not parse file: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:542 msgid "%s is an empty file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:559 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:562 msgid "Failed to parse link %s %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:603 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:606 msgid "Cannot add link %s to TOC" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:958 msgid "Unable to process image %s. Error: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:996 msgid "Unable to process interlaced PNG %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1008 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1011 msgid "" "Could not process image: %s\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1765 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1767 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 msgid "" "Bad table:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1789 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 msgid "Table has cell that is too large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1819 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 msgid "Could not read cover image: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 msgid "Cannot read from: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "Failed to process opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2009 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1201,17 +1318,17 @@ msgstr "" #: /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:91 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 msgid "Title" msgstr "Tí­tol" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:330 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:899 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:906 msgid "Author(s)" msgstr "Autor(s)" @@ -1230,24 +1347,24 @@ msgstr "Categoria" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:391 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:527 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "Comentaris" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:838 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:845 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Tags" msgstr "Etiquetes" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Series" @@ -1364,11 +1481,11 @@ msgstr "" msgid "Usage: rb-meta file.rb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:440 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:464 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 msgid "Raw MOBI HTML saved in" msgstr "" @@ -1376,84 +1493,84 @@ msgstr "" msgid "The output directory. Defaults to the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:26 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:424 msgid "Frequently used directories" msgstr "Directoris emprats amb freqüència" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:27 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:29 msgid "The format to use when saving single files to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:31 msgid "Confirm before deleting" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 msgid "Toolbar icon size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 msgid "Show button labels in the toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 msgid "Main window geometry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 msgid "Notify when a new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Use Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Sort tags list by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Number of covers to show in the cover browsing mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Options for the LRF ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 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:57 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Delete books from library after uploading to device" msgstr "" @@ -1492,8 +1609,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:282 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:840 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "Camí" @@ -1502,7 +1619,7 @@ msgstr "Camí" #: /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:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Formats" @@ -1517,6 +1634,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:53 msgid "TextLabel" @@ -1592,90 +1710,143 @@ msgstr "" msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 +msgid " plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:106 +msgid "by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "General" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 msgid "" "Content\n" "Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 +msgid "Plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:255 +msgid "No valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:256 +msgid "%s is not a valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +msgid "Choose plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:270 +msgid "Plugin cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:271 +msgid "The plugin: %s cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +msgid "Plugin not customizable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:282 +msgid "Plugin: %s does not need customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +msgid "Customize %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:295 +msgid "Cannot remove builtin plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:296 +msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:317 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:321 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:382 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:264 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:423 msgid "Invalid database location" msgstr "Ubicació de la base de dades no vàlida" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "
        Must be a directory." msgstr "
        Cal que siga un directori." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "Invalid database location " msgstr "Ubicació de la base de dades no vàlida " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 msgid "Invalid database location.
        Cannot write to " msgstr "Ubicació de la base de dades no vàlida.
        No es pot escriure " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting database. This may take a while." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:329 msgid "Configuration" msgstr "Configuració" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:409 msgid "" "&Location of ebooks (The ebooks are stored in folders sorted by author and " "metadata is stored in the file metadata.db)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:410 msgid "Browse for the new database location" msgstr "Cerca la nova ubicació de la base de dades" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:358 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:374 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:386 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:426 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:373 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:509 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:282 @@ -1698,200 +1869,196 @@ msgstr "Cerca la nova ubicació de la base de dades" msgid "..." msgstr "..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:412 msgid "Show notification when &new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:360 -msgid "Ask for &confirmation before deleting files" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:413 msgid "" -"If you disable this setting, metadatas is guessed from the filename instead. " +"If you disable this setting, metadata is guessed from the filename instead. " "This can be configured in the Advanced section." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:414 msgid "Read &metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:415 msgid "Format for &single file save:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:416 msgid "Default network &timeout:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:417 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:418 msgid " seconds" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:419 msgid "Choose &language (requires restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:420 msgid "Normal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:421 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:422 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:423 msgid "Job &priority:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:425 msgid "Add a directory to the frequently used directories list" msgstr "Afegir el directori al llistat de directoris freqüents" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:427 msgid "Remove a directory from the frequently used directories list" msgstr "Elimiar el directori al llistat de directoris freqüents" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:429 msgid "Use &Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:430 msgid "&Number of covers to show in browse mode (after restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:431 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 msgid "Large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Medium" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:435 msgid "&Button size in toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:436 msgid "Show &text in toolbar buttons" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:437 msgid "Select visible &columns in library view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:440 msgid "Use internal &viewer for the following formats:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:441 msgid "Enable system &tray icon (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:442 msgid "Automatically send downloaded &news to ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:443 msgid "&Delete news from library when it is sent to reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:444 msgid "Free unused diskspace from the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:445 msgid "&Compact database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:446 msgid "&Metadata from file name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:447 msgid "" "calibre contains a network server that allows you to access your book " "collection using a browser from anywhere in the world. Any changes to the " "settings will only take effect after a server restart." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:448 msgid "Server &port:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:146 msgid "&Username:" msgstr "Nom d'&usuari:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:147 msgid "&Password:" msgstr "&Contrasenya:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:451 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:452 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:148 msgid "&Show password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:453 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:454 msgid "Max. &cover size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:455 msgid "&Start Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:456 msgid "St&op Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:457 msgid "&Test Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:458 msgid "Run server &automatically on startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:459 msgid "View &server logs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 msgid "" "If you want to use the content server to access your ebook collection on " "your iphone with Stanza, you will need to add the URL " @@ -1900,6 +2067,44 @@ msgid "" "address of this computer." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 +msgid "" +"Here you can customize the behavior of Calibre by controlling what plugins " +"it uses." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:462 +msgid "Enable/&Disable plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 +msgid "&Customize plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:464 +msgid "&Remove plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:465 +msgid "Add new plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:466 +msgid "Plugin &file:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:468 +msgid "&Add" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +msgid "Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +msgid "&Show this warning again" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:41 msgid "ERROR" msgstr "ERROR" @@ -1917,7 +2122,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:296 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 msgid "Metadata" msgstr "Metadades" @@ -1971,25 +2176,25 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 msgid "Cannot read" msgstr "No pot llegir-se" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:52 msgid "You do not have permission to read the file: " msgstr "No tens permissos per a llegir l'arxiu: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 msgid "Error reading file" msgstr "Error llegint l'arxiu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:184 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:61 msgid "

        There was an error reading from file:
        " msgstr "

        Error llegint de l'arxiu:
        " @@ -1999,7 +2204,7 @@ msgid " is not a valid picture" msgstr " no és una imatge vàlida" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "Cannot convert" msgstr "No puc convertir-lo" @@ -2635,26 +2840,26 @@ msgstr "" msgid "A&utomatically set author sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:262 msgid "" "

        Enter your username and password for LibraryThing.com.
        If you " "do not have one, you can register " "for free!.

        " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover.
        " msgstr "No puc aconseguir la coberta.
        " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover" msgstr "No puc aconseguir la coberta" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "Cannot fetch cover" msgstr "No puc aconseguir la coberta" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "You must specify the ISBN identifier for this book." msgstr "Cal especificar un ISBN correcte per al llibre." @@ -2761,9 +2966,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:335 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:761 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:765 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1064 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:752 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:756 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1055 msgid "News" msgstr "" @@ -3232,52 +3437,62 @@ msgstr "En espera..." msgid "Working" msgstr "Està treballant..." -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:162 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:166 +#: /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 "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 msgid "Cannot kill jobs that communicate with the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:167 +#: /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:93 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:907 msgid "Size (MB)" msgstr "Grandària (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:908 msgid "Date" msgstr "Data" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 msgid "Rating" msgstr "Valoració" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:274 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 msgid "None" msgstr "Cap" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 msgid "Book %s of %s." msgstr "Llibre %s de %s." -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:675 +msgid "Not allowed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:676 +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:839 msgid "Format" msgstr "Format" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:844 msgid "Timestamp" msgstr "Marca de temps" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:942 msgid "Search (For Advanced Search click the button to the left)" msgstr "" @@ -3306,7 +3521,7 @@ msgid "No matches for the search phrase %s were found." msgstr "No s'han trobat coincidències per al text \"%s\"." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:377 msgid "No matches found" msgstr "No s'han trobat coincidències" @@ -3331,12 +3546,12 @@ msgid "Previous Page" msgstr "Pàgina anterior" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 msgid "Back" msgstr "Precedent" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 msgid "Forward" msgstr "Següent" @@ -3345,7 +3560,7 @@ msgid "Next match" msgstr "Següent coincidència" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:162 msgid "Open ebook" msgstr "Obre l'eBook" @@ -3353,152 +3568,152 @@ msgstr "Obre l'eBook" msgid "Configure" msgstr "Configura" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88 msgid "Error communicating with device" msgstr "Error en la comunicació amb el dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Donate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Quit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:104 msgid "&Restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:148 msgid "" "

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

        " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Send to main memory" msgstr "Envia a la memòria interna" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "Send to storage card" msgstr "Envia a la targeta de memòria" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 msgid "Send to storage card by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 msgid "Edit metadata individually" msgstr "Edita metadades individualment" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:187 msgid "Edit metadata in bulk" msgstr "Edita metadades en massa" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 msgid "Add books from a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:191 msgid "" -"Add books recursively (One book per directory, assumes every ebook file is " -"the same book in a different format)" +"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:190 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 msgid "" -"Add books recursively (Multiple books per directory, assumes every ebook " -"file is a different book)" +"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:205 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:342 msgid "Save to disk" msgstr "Desa al disc" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 msgid "Save to disk in a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Save only %s format to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:348 msgid "View" msgstr "Mostra" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:213 msgid "View specific format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:230 msgid "Convert individually" msgstr "Converteix individualment" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 msgid "Bulk convert" msgstr "Converteix tots" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:233 msgid "Set defaults for conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:234 msgid "Set defaults for conversion of comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:255 msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 msgid "Bad database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1333 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1356 msgid "Choose a location for your ebook library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:315 msgid "Migrating database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:487 msgid "Device: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:488 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:510 msgid "Connected " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:521 msgid "Device database corrupted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:522 msgid "" "\n" "

        The database of books on the reader is corrupted. Try the " @@ -3514,208 +3729,240 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:572 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:668 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +msgid "Stop" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:574 +msgid "Adding books recursively..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Added " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Searching..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:695 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:575 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:698 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:649 msgid "Uploading books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:633 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:634 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:635 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:636 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:620 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:637 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:638 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:639 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:640 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:641 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:642 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:661 +msgid "Reading metadata..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:659 +msgid "Adding books..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:685 +msgid "Read metadata from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:688 +msgid "Adding books to database..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:730 msgid "No space on device" msgstr "Sense espai al dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:731 msgid "" "

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

          No puc desar llibres al dispositiu perquè no hi ha espai restant " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:736 -msgid "Confirm delete" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:763 +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:737 -msgid "Are you sure you want to delete these %d books?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 msgid "Cannot edit metadata" msgstr "No puc editar les meta-dades" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "No books selected" msgstr "Cap llibre seleccionat" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:848 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:871 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:923 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:926 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:927 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:920 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 msgid "Cannot save to disk" msgstr "No puc desar al disc" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:947 msgid "Choose destination directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:931 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:954 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:935 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:958 msgid "Could not save some ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:955 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:978 msgid "Fetching news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:992 msgid " fetched." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 msgid "No book selected" msgstr "Cap llibre seleccionat" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 msgid "Cannot view" msgstr "No puc mostrar-lo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1134 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1112 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1157 msgid "Choose the format to view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1130 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1153 msgid "%s has no available formats." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure" msgstr "No puc configurar-lo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure while there are running jobs." msgstr "No puc configurar-lo amb treballs processant-se" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1210 msgid "Copying database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212 msgid "Copying library to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1222 msgid "Invalid database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1223 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:1206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1229 msgid "Could not move database" msgstr "No puc moure la base de dades" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1226 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1249 msgid "No detailed info available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1227 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1250 msgid "No detailed information is available for books on the device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1270 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1293 msgid "Error talking to device" msgstr "Error comunicant amb el dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1294 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -3723,81 +3970,81 @@ msgstr "" "Hi ha hagut un error de comunicació amb el dispositiu. Lleve, torne a " "connectar el dispositiu i torne a iniciar el programa" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1284 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1299 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1307 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1326 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 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:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1342 msgid "Database does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1320 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1343 msgid "" "The directory in which the database should be: %s no longer exists. Please " "choose a new database location." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1345 msgid "Choose new location for database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1375 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 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:1396 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1419 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1421 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:1402 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1425 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 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:1444 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1467 msgid "" "Latest version: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 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:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1464 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1487 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1489 msgid "Log debugging information to console" msgstr "" @@ -4105,7 +4352,7 @@ msgid "The standard font type" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:47 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 msgid "Table of Contents" msgstr "" @@ -4129,109 +4376,113 @@ msgstr "" msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:338 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:339 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:378 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:445 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:497 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "

            This book is protected by DRM" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:507 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:508 msgid "%s

            %s

            " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:577 msgid "" "%prog [options] file\n" "\n" "View an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 msgid "Ebook Viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 msgid "toolBar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 msgid "Next page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 msgid "Previous page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 msgid "Font size larger" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 msgid "Font size smaller" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:163 msgid "Find next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:164 msgid "Copy to clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:165 msgid "Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:166 msgid "Reference Mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:167 msgid "Bookmark" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168 +msgid "Toggle full screen" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:47 msgid "Invalid regular expression" msgstr "" @@ -4528,20 +4779,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1146 msgid "

            Copying books to %s

            " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1157 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1266 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1159 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1268 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1237 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "

            Migrating old database to ebook library in %s

            " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1285 msgid "Compacting database" msgstr "" @@ -4564,47 +4815,47 @@ msgstr "" msgid "Job stopped by user" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:39 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:41 msgid "%sUsage%s: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:77 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:79 msgid "Created by " msgstr "Creat per " -#: /home/kovid/work/calibre/src/calibre/utils/config.py:524 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:527 msgid "Path to the database in which books are stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:526 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:529 msgid "Pattern to guess metadata from filenames" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:528 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:531 msgid "Access key for isbndb.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:530 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:533 msgid "Default timeout for network operations (seconds)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:532 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:535 msgid "Path to directory in which your library of books is stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:534 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:537 msgid "The language in which to display the user interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:536 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:539 msgid "The default output format for ebook conversions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:538 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:541 msgid "Read metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:540 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:543 msgid "The priority of worker processes" msgstr "" diff --git a/src/calibre/translations/cs.po b/src/calibre/translations/cs.po index 34cbbcd0fe..50dd953fa4 100644 --- a/src/calibre/translations/cs.po +++ b/src/calibre/translations/cs.po @@ -7,24 +7,198 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2008-12-18 01:36+0000\n" +"POT-Creation-Date: 2008-12-30 15:33+0000\n" "PO-Revision-Date: 2008-10-23 12:18+0000\n" "Last-Translator: raduz \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-12-23 17:57+0000\n" +"X-Launchpad-Export-Date: 2009-01-04 04:32+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:137 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:155 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:193 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 +msgid "Does absolutely nothing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:478 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:961 +#: /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 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 +#: /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:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 +#: /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:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:78 +#: /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:793 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:835 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:915 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 +#: /home/kovid/work/calibre/src/calibre/library/database.py:920 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1580 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:461 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:808 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:841 +msgid "Unknown" +msgstr "Neznámý" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:62 +msgid "Base" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 +msgid "File type" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:182 +msgid "Metadata reader" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:209 +msgid "Metadata writer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:12 +msgid "" +"Follow all local links in an HTML file and create a ZIP file containing all " +"linked files. This plugin is run every time you add an HTML file to the " +"library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:32 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:42 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:53 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:63 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:73 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:83 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:105 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:135 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:145 +msgid "Read metadata from %s files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:155 +msgid "Extract cover from comic files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:175 +msgid "Set metadata in EPUB files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:185 +msgid "Set metadata in LRF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:195 +msgid "Set metadata in RTF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:28 +msgid "Installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:29 +msgid "Mapping for filetype plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 +msgid "Local plugin customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 +msgid "Disabled plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:66 +msgid "No valid plugin found in " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:170 +msgid "Initialization of plugin %s failed with traceback:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:247 +msgid "" +" %prog options\n" +" \n" +" Customize calibre by loading external plugins.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:253 +msgid "Add a plugin by specifying the path to the zip file containing it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:255 +msgid "Remove a custom plugin by name. Has no effect on builtin plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:257 +msgid "" +"Customize plugin. Specify name of plugin and customization string separated " +"by a comma." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:259 +msgid "List all installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:261 +msgid "Enable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:263 +msgid "Disable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:158 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:196 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:224 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "Disk %s nebyl nalezen. Zkuste restart." -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:409 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:412 msgid "The reader has no storage card connected." msgstr "Do čtecího zařízení není vložena žádná paměťová karta." @@ -242,64 +416,7 @@ msgid "" "Extract the contents of the produced EPUB file to the specified directory." msgstr "Extrahovat obsah vytvořeného EPUB souboru do určeného adresáře." -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:43 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:477 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 -#: /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 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 -#: /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:196 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:65 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:67 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:100 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:102 -#: /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:793 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 -#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:342 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:828 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:650 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 -#: /home/kovid/work/calibre/src/calibre/library/database.py:920 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1564 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:477 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:489 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:817 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 -msgid "Unknown" -msgstr "Neznámý" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:154 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:156 msgid "" "%%prog [options] filename\n" "\n" @@ -307,11 +424,11 @@ msgid "" "formats are: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:100 msgid "Could not find an ebook inside the archive" msgstr "V archivu nebyl nalezen žádný ebook." -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:157 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:158 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -322,13 +439,13 @@ msgid "" "the element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:389 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:737 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:391 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:739 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:411 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1035 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:413 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1046 msgid "You must specify an input HTML file" msgstr "Musíte specifikovat vstupní HTML soubor." @@ -350,23 +467,23 @@ msgstr "" "\t\tPříliš mnoho tagů. Přerozděleno bez zachování struktury. To může " "způsobit nesprávné zobrazení." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:490 msgid "Written processed HTML to " msgstr "Zpracované HTML bylo zapsano do " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:820 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 msgid "Options to control the traversal of HTML" msgstr "Volby pro nastavení průchodu HTML souborem." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:827 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:838 msgid "The output directory. Default is the current directory." msgstr "Výstupní adresář. Standardně je aktuální adresář." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:829 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:840 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "Kódování znakové sady HTML souborů. Standardně je autodetekována." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:842 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." @@ -374,11 +491,11 @@ msgstr "" "Výstuo je uložen do ZIP souboru. Pokud je zvolena tato volba, položka --" "output by měly obsahovat název souboru, nikoliv adresáře." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:833 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:844 msgid "Control the following of links in HTML files." msgstr "Nastavuje následovaní odkazů v HTML souborech." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:835 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:846 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" @@ -386,7 +503,7 @@ msgstr "" "Nastavuje procházení HTML souborů do šířky. Normálně je nastaveno procházení " "do hloubky." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:837 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:848 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." @@ -395,39 +512,39 @@ msgstr "" "nezáporné číslo. 0 znamená, že nejsou následovány žádné odkazy obsažené v " "HTML souboru." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:839 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:850 msgid "Set metadata of the generated ebook" msgstr "Nastavit metadata pro generovanou knihu." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:841 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:852 msgid "Set the title. Default is to autodetect." msgstr "Zadat název. Standardně je autodetekován." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:843 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:854 msgid "The author(s) of the ebook, as a comma separated list." msgstr "Autor/ři knihy v seznamu odděleném čárkou." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:845 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:856 msgid "The subject(s) of this book, as a comma separated list." msgstr "Téma(ta) knihy jako seznam oddělený čárkami." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:847 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:858 msgid "Set the publisher of this book." msgstr "Zadat vydavatele této knihy." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:849 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:860 msgid "A summary of this book." msgstr "Shrnutí této knihy." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:851 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:862 msgid "Load metadata from the specified OPF file" msgstr "Nahrát metadata ze zadaného OPF souboru." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:853 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:864 msgid "Options useful for debugging" msgstr "Nastavení užitečná pro odlaďování." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:866 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." @@ -435,11 +552,11 @@ msgstr "" "Zobrazovat více informací při zpracování. Může být zadáno několikrát pro " "zvětšení množství informací." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:857 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:868 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "Výstupní HTML je zobrazeno v podobě lépe čitelné pro člověka." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:863 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:874 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -468,7 +585,7 @@ msgid "%prog [options] LITFILE" msgstr "%prog [options] LIT_soubor" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:852 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:444 msgid "Output directory. Defaults to current directory." msgstr "Výstupní adresář. Standardně je použit aktuální adresář." @@ -477,20 +594,20 @@ msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:723 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:724 msgid "Useful for debugging." msgstr "Užitečné pro ladění programu." #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:869 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:468 msgid "OEB ebook created in" msgstr "OEB kniha vytvořena v" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:717 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:718 msgid "%prog [options] OPFFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:720 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:721 msgid "Output file. Default is derived from input filename." msgstr "" @@ -525,7 +642,7 @@ msgstr "Třídící klíč pro autora" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:275 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 msgid "Publisher" msgstr "Vydavatel" @@ -778,11 +895,11 @@ msgid "" "default is to try and guess the encoding." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:161 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:164 msgid "Converting from %s to LRF is not supported." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:171 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:175 msgid "" "any2lrf [options] myfile\n" "\n" @@ -793,118 +910,118 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:186 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:190 msgid "No file to convert specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:221 msgid "Rendered %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:223 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 msgid "Failed %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:275 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:276 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:283 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:289 msgid "Title for generated ebook. Default is to use the filename." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 msgid "" "Path to output file. By default a file is created in the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:296 msgid "Number of colors for grayscale image conversion. Default: %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:307 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:308 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:310 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:312 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:314 msgid "" "Choose a profile for the device you are generating this file for. The " "default is the SONY PRS-500 with a screen size of 584x754 pixels. This is " "suitable for any reader with the same screen size. Choices are %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:316 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " "greater verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:318 msgid "Don't show progress bar." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:322 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" "Convert a comic in a CBZ or CBR file to an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:382 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:383 msgid "Output written to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:423 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:426 msgid "Rendering comic pages..." msgstr "" @@ -945,95 +1062,95 @@ msgstr "" msgid "Fetching of recipe failed: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 msgid "\tBook Designer file detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tParsing HTML..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:340 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:343 msgid "\tBaen file detected. Re-parsing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:356 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:359 msgid "Written preprocessed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:377 msgid "Processing %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:388 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:391 msgid "\tConverting to BBeB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:534 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:547 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:550 msgid "Could not parse file: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:542 msgid "%s is an empty file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:559 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:562 msgid "Failed to parse link %s %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:603 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:606 msgid "Cannot add link %s to TOC" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:958 msgid "Unable to process image %s. Error: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:996 msgid "Unable to process interlaced PNG %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1008 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1011 msgid "" "Could not process image: %s\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1765 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1767 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 msgid "" "Bad table:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1789 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 msgid "Table has cell that is too large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1819 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 msgid "Could not read cover image: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 msgid "Cannot read from: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "Failed to process opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2009 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1232,17 +1349,17 @@ msgstr "" #: /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:91 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:330 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:899 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:906 msgid "Author(s)" msgstr "" @@ -1261,24 +1378,24 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:391 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:527 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:838 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:845 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Series" @@ -1395,11 +1512,11 @@ msgstr "" msgid "Usage: rb-meta file.rb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:440 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:464 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 msgid "Raw MOBI HTML saved in" msgstr "" @@ -1407,84 +1524,84 @@ msgstr "" msgid "The output directory. Defaults to the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:26 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:424 msgid "Frequently used directories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:27 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:29 msgid "The format to use when saving single files to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:31 msgid "Confirm before deleting" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 msgid "Toolbar icon size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 msgid "Show button labels in the toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 msgid "Main window geometry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 msgid "Notify when a new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Use Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Sort tags list by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Number of covers to show in the cover browsing mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Options for the LRF ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 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:57 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Delete books from library after uploading to device" msgstr "" @@ -1523,8 +1640,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:282 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:840 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "" @@ -1533,7 +1650,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:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Formats" @@ -1548,6 +1665,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:53 msgid "TextLabel" @@ -1623,90 +1741,143 @@ msgstr "" msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 +msgid " plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:106 +msgid "by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "General" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 msgid "" "Content\n" "Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 +msgid "Plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:255 +msgid "No valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:256 +msgid "%s is not a valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +msgid "Choose plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:270 +msgid "Plugin cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:271 +msgid "The plugin: %s cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +msgid "Plugin not customizable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:282 +msgid "Plugin: %s does not need customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +msgid "Customize %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:295 +msgid "Cannot remove builtin plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:296 +msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:317 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:321 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:382 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:264 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:423 msgid "Invalid database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "
            Must be a directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "Invalid database location " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 msgid "Invalid database location.
            Cannot write to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting database. This may take a while." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:329 msgid "Configuration" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:409 msgid "" "&Location of ebooks (The ebooks are stored in folders sorted by author and " "metadata is stored in the file metadata.db)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:410 msgid "Browse for the new database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:358 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:374 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:386 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:426 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:373 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:509 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:282 @@ -1729,200 +1900,196 @@ msgstr "" msgid "..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:412 msgid "Show notification when &new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:360 -msgid "Ask for &confirmation before deleting files" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:413 msgid "" -"If you disable this setting, metadatas is guessed from the filename instead. " +"If you disable this setting, metadata is guessed from the filename instead. " "This can be configured in the Advanced section." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:414 msgid "Read &metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:415 msgid "Format for &single file save:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:416 msgid "Default network &timeout:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:417 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:418 msgid " seconds" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:419 msgid "Choose &language (requires restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:420 msgid "Normal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:421 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:422 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:423 msgid "Job &priority:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:425 msgid "Add a directory to the frequently used directories list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:427 msgid "Remove a directory from the frequently used directories list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:429 msgid "Use &Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:430 msgid "&Number of covers to show in browse mode (after restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:431 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 msgid "Large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Medium" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:435 msgid "&Button size in toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:436 msgid "Show &text in toolbar buttons" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:437 msgid "Select visible &columns in library view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:440 msgid "Use internal &viewer for the following formats:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:441 msgid "Enable system &tray icon (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:442 msgid "Automatically send downloaded &news to ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:443 msgid "&Delete news from library when it is sent to reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:444 msgid "Free unused diskspace from the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:445 msgid "&Compact database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:446 msgid "&Metadata from file name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:447 msgid "" "calibre contains a network server that allows you to access your book " "collection using a browser from anywhere in the world. Any changes to the " "settings will only take effect after a server restart." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:448 msgid "Server &port:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:146 msgid "&Username:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:147 msgid "&Password:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:451 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:452 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:148 msgid "&Show password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:453 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:454 msgid "Max. &cover size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:455 msgid "&Start Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:456 msgid "St&op Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:457 msgid "&Test Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:458 msgid "Run server &automatically on startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:459 msgid "View &server logs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 msgid "" "If you want to use the content server to access your ebook collection on " "your iphone with Stanza, you will need to add the URL " @@ -1931,6 +2098,44 @@ msgid "" "address of this computer." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 +msgid "" +"Here you can customize the behavior of Calibre by controlling what plugins " +"it uses." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:462 +msgid "Enable/&Disable plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 +msgid "&Customize plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:464 +msgid "&Remove plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:465 +msgid "Add new plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:466 +msgid "Plugin &file:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:468 +msgid "&Add" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +msgid "Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +msgid "&Show this warning again" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:41 msgid "ERROR" msgstr "" @@ -1948,7 +2153,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:296 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 msgid "Metadata" msgstr "" @@ -2002,25 +2207,25 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 msgid "Cannot read" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:52 msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 msgid "Error reading file" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:184 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:61 msgid "

            There was an error reading from file:
            " msgstr "" @@ -2030,7 +2235,7 @@ msgid " is not a valid picture" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "Cannot convert" msgstr "" @@ -2650,26 +2855,26 @@ msgstr "" msgid "A&utomatically set author sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:262 msgid "" "

            Enter your username and password for LibraryThing.com.
            If you " "do not have one, you can register " "for free!.

            " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover.
            " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "You must specify the ISBN identifier for this book." msgstr "" @@ -2775,9 +2980,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:335 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:761 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:765 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1064 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:752 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:756 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1055 msgid "News" msgstr "" @@ -3246,52 +3451,62 @@ msgstr "" msgid "Working" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:162 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:166 +#: /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 "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 msgid "Cannot kill jobs that communicate with the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:167 +#: /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:93 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:907 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:908 msgid "Date" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 msgid "Rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:274 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 msgid "None" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 msgid "Book %s of %s." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:675 +msgid "Not allowed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:676 +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:839 msgid "Format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:844 msgid "Timestamp" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:942 msgid "Search (For Advanced Search click the button to the left)" msgstr "" @@ -3320,7 +3535,7 @@ msgid "No matches for the search phrase %s were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:377 msgid "No matches found" msgstr "" @@ -3345,12 +3560,12 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 msgid "Back" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 msgid "Forward" msgstr "" @@ -3359,7 +3574,7 @@ msgid "Next match" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:162 msgid "Open ebook" msgstr "" @@ -3367,152 +3582,152 @@ msgstr "" msgid "Configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88 msgid "Error communicating with device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Donate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Quit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:104 msgid "&Restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:148 msgid "" "

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

            " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Send to main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "Send to storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 msgid "Send to storage card by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 msgid "Edit metadata individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:187 msgid "Edit metadata in bulk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 msgid "Add books from a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:191 msgid "" -"Add books recursively (One book per directory, assumes every ebook file is " -"the same book in a different format)" +"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:190 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 msgid "" -"Add books recursively (Multiple books per directory, assumes every ebook " -"file is a different book)" +"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:205 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:342 msgid "Save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 msgid "Save to disk in a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Save only %s format to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:348 msgid "View" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:213 msgid "View specific format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:230 msgid "Convert individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 msgid "Bulk convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:233 msgid "Set defaults for conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:234 msgid "Set defaults for conversion of comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:255 msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 msgid "Bad database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1333 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1356 msgid "Choose a location for your ebook library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:315 msgid "Migrating database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:487 msgid "Device: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:488 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:510 msgid "Connected " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:521 msgid "Device database corrupted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:522 msgid "" "\n" "

            The database of books on the reader is corrupted. Try the " @@ -3528,288 +3743,320 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:572 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:668 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +msgid "Stop" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:574 +msgid "Adding books recursively..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Added " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Searching..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:695 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:575 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:698 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:649 msgid "Uploading books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:633 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:634 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:635 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:636 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:620 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:637 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:638 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:639 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:640 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:641 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:642 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:661 +msgid "Reading metadata..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:659 +msgid "Adding books..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:685 +msgid "Read metadata from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:688 +msgid "Adding books to database..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:730 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:731 msgid "" "

              Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:736 -msgid "Confirm delete" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:763 +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:737 -msgid "Are you sure you want to delete these %d books?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 msgid "Cannot edit metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "No books selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:848 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:871 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:923 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:926 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:927 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:920 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 msgid "Cannot save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:947 msgid "Choose destination directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:931 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:954 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:935 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:958 msgid "Could not save some ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:955 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:978 msgid "Fetching news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:992 msgid " fetched." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 msgid "No book selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 msgid "Cannot view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1134 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1112 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1157 msgid "Choose the format to view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1130 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1153 msgid "%s has no available formats." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure while there are running jobs." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1210 msgid "Copying database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212 msgid "Copying library to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1222 msgid "Invalid database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1223 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:1206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1229 msgid "Could not move database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1226 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1249 msgid "No detailed info available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1227 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1250 msgid "No detailed information is available for books on the device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1270 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1293 msgid "Error talking to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1294 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:1284 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1299 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1307 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1326 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 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:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1342 msgid "Database does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1320 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1343 msgid "" "The directory in which the database should be: %s no longer exists. Please " "choose a new database location." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1345 msgid "Choose new location for database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1375 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 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:1396 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1419 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1421 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:1402 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1425 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 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:1444 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1467 msgid "" "Latest version: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 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:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1464 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1487 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1489 msgid "Log debugging information to console" msgstr "" @@ -4113,7 +4360,7 @@ msgid "The standard font type" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:47 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 msgid "Table of Contents" msgstr "" @@ -4137,109 +4384,113 @@ msgstr "" msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:338 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:339 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:378 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:445 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:497 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "

                This book is protected by DRM" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:507 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:508 msgid "%s

                %s

                " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:577 msgid "" "%prog [options] file\n" "\n" "View an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 msgid "Ebook Viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 msgid "toolBar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 msgid "Next page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 msgid "Previous page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 msgid "Font size larger" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 msgid "Font size smaller" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:163 msgid "Find next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:164 msgid "Copy to clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:165 msgid "Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:166 msgid "Reference Mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:167 msgid "Bookmark" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168 +msgid "Toggle full screen" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:47 msgid "Invalid regular expression" msgstr "" @@ -4536,20 +4787,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1146 msgid "

                Copying books to %s

                " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1157 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1266 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1159 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1268 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1237 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "

                Migrating old database to ebook library in %s

                " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1285 msgid "Compacting database" msgstr "" @@ -4572,47 +4823,47 @@ msgstr "" msgid "Job stopped by user" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:39 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:41 msgid "%sUsage%s: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:77 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:79 msgid "Created by " msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:524 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:527 msgid "Path to the database in which books are stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:526 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:529 msgid "Pattern to guess metadata from filenames" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:528 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:531 msgid "Access key for isbndb.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:530 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:533 msgid "Default timeout for network operations (seconds)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:532 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:535 msgid "Path to directory in which your library of books is stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:534 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:537 msgid "The language in which to display the user interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:536 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:539 msgid "The default output format for ebook conversions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:538 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:541 msgid "Read metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:540 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:543 msgid "The priority of worker processes" msgstr "" diff --git a/src/calibre/translations/de.po b/src/calibre/translations/de.po index 55c24fb65a..0e0b852920 100644 --- a/src/calibre/translations/de.po +++ b/src/calibre/translations/de.po @@ -7,25 +7,212 @@ msgid "" msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-12-18 01:36+0000\n" -"PO-Revision-Date: 2008-12-19 00:09+0000\n" +"POT-Creation-Date: 2008-12-30 15:33+0000\n" +"PO-Revision-Date: 2009-01-04 01:11+0000\n" "Last-Translator: S. Dorscht \n" "Language-Team: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-12-23 17:56+0000\n" +"X-Launchpad-Export-Date: 2009-01-04 04:32+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:137 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:155 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:193 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 +msgid "Does absolutely nothing" +msgstr "Macht gar nix" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:478 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:961 +#: /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 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 +#: /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:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 +#: /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:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:78 +#: /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:793 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:835 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:915 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 +#: /home/kovid/work/calibre/src/calibre/library/database.py:920 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1580 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:461 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:808 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:841 +msgid "Unknown" +msgstr "Unbekannt" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:62 +msgid "Base" +msgstr "Basis" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 +msgid "File type" +msgstr "Datei Typ" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:182 +msgid "Metadata reader" +msgstr "Metadaten Reader" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:209 +msgid "Metadata writer" +msgstr "Metadaten Writer" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:12 +msgid "" +"Follow all local links in an HTML file and create a ZIP file containing all " +"linked files. This plugin is run every time you add an HTML file to the " +"library." +msgstr "" +"Folge alle lokalen Verweise in einer HTML Datei und erstelle eine ZIP Datei " +"mit allen verlinkten Dateien. Dieses Plugin läuft immer, wenn sie eine HTML " +"Datei zur Bibliothek hinzufügen." + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:32 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:42 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:53 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:63 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:73 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:83 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:105 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:135 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:145 +msgid "Read metadata from %s files" +msgstr "Metadaten aus %s Dateien lesen" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:155 +msgid "Extract cover from comic files" +msgstr "Cover aus Comic Dateien extrahieren" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:175 +msgid "Set metadata in EPUB files" +msgstr "Metadaten in EPUB Dateien angeben" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:185 +msgid "Set metadata in LRF files" +msgstr "Metadaten in LRF Dateien angeben" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:195 +msgid "Set metadata in RTF files" +msgstr "Metadaten in RTF Dateien angeben" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:28 +msgid "Installed plugins" +msgstr "Installierte Plugins" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:29 +msgid "Mapping for filetype plugins" +msgstr "Mapping für Dateityp Plugins" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 +msgid "Local plugin customization" +msgstr "Lokale Plugin Anpassung" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 +msgid "Disabled plugins" +msgstr "Ausgeschaltene Plugins" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:66 +msgid "No valid plugin found in " +msgstr "Kein gültiges Plugin gefunden in " + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:170 +msgid "Initialization of plugin %s failed with traceback:" +msgstr "Staren des Plugins %s schlug fehl. Traceback:" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:247 +msgid "" +" %prog options\n" +" \n" +" Customize calibre by loading external plugins.\n" +" " +msgstr "" +" %prog options\n" +" \n" +" Calibre anpassen durch das Laden externer Plugins.\n" +" " + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:253 +msgid "Add a plugin by specifying the path to the zip file containing it." +msgstr "" +"Plugin hinzufügen durch die Angabe des Pfads zur ZIP Datei, die das Plugin " +"enthält." + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:255 +msgid "Remove a custom plugin by name. Has no effect on builtin plugins" +msgstr "" +"Anpassbares Plugin entfernen. Dies hat keinen Einfluss auf festinstallierte " +"Plugins" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:257 +msgid "" +"Customize plugin. Specify name of plugin and customization string separated " +"by a comma." +msgstr "" +"Plugin anpassen. Geben Sie den Namen des Pugins und die Anpassung durch ein " +"Komma getrennt an." + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:259 +msgid "List all installed plugins" +msgstr "Installierte Plugins auflisten" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:261 +msgid "Enable the named plugin" +msgstr "Gewähltes Plugin einschalten" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:263 +msgid "Disable the named plugin" +msgstr "Gewähltes Plugin ausschalten" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:158 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:196 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:224 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "Konnte das Laufwerk %s nicht finden. Versuchen Sie einen Neustart." -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:409 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:412 msgid "The reader has no storage card connected." msgstr "Im Reader ist keine Speicherkarte eingesteckt." @@ -263,64 +450,7 @@ msgstr "" "Den Inhalt der erstellten EPUB Datei in das angegebene Verzeichnis " "extrahieren." -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:43 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:477 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 -#: /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 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 -#: /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:196 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:65 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:67 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:100 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:102 -#: /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:793 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 -#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:342 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:828 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:650 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 -#: /home/kovid/work/calibre/src/calibre/library/database.py:920 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1564 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:477 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:489 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:817 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 -msgid "Unknown" -msgstr "Unbekannt" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:154 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:156 msgid "" "%%prog [options] filename\n" "\n" @@ -332,11 +462,11 @@ msgstr "" "Konvertiert verschiedenste eBook Formate in eine %s Datei. Unterstützte " "Formate: %s\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:100 msgid "Could not find an ebook inside the archive" msgstr "Konnte kein eBook im Archiv finden" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:157 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:158 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -354,13 +484,13 @@ msgstr "" "Verknüpfungen aus dem\n" " Element der OPF Datei verwendet. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:389 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:737 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:391 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:739 msgid "Output written to " msgstr "Ausgabe geschrieben nach " -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:411 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1035 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:413 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1046 msgid "You must specify an input HTML file" msgstr "Geben Sie eine Eingabedatei im HTML Format an." @@ -383,25 +513,25 @@ msgstr "" "\t\tZu viel Textauszeichnung. Wieder-Aufteilung ohne Bewahrung der Struktur. " "Dies kann zu falschem Rendering führen." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:490 msgid "Written processed HTML to " msgstr "Verarbeitetes HTML wurde geschrieben in " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:820 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 msgid "Options to control the traversal of HTML" msgstr "Einstellungen zur Kontrolle der Durchforstung von HTML" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:827 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:838 msgid "The output directory. Default is the current directory." msgstr "Ausgabeverzeichnis. Voreinstellung ist das aktuelle Verzeichnis." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:829 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:840 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" "Zeichenkodierung für HTML Dateien. Die Voreinstellung ist automatisches " "Erkennen." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:842 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." @@ -409,11 +539,11 @@ msgstr "" "Erstellt die Ausgabe in eine ZIP Datei. Wird diese Option angegeben, sollte -" "-output der Name einer Datei und nicht eines Verzeichnisses sein." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:833 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:844 msgid "Control the following of links in HTML files." msgstr "Kontrolliert die Verfolgung von Verknüpfungen in HTML Dateien." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:835 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:846 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" @@ -421,7 +551,7 @@ msgstr "" "Durchforstet Verknüpfungen in HTML Dateien zuerst in die Breite. " "Normalerweise werden sie zuerst in die Tiefe durchforstet" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:837 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:848 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." @@ -430,39 +560,39 @@ msgstr "" "Dateien. Darf nicht negativ sein. 0 gibt an, dass keine Verknüpfungen in der " "ursprünglichen HTML Datei verfolgt werden." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:839 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:850 msgid "Set metadata of the generated ebook" msgstr "Geben Sie die Metadaten des erstellten eBooks an" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:841 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:852 msgid "Set the title. Default is to autodetect." msgstr "Geben Sie den Titel an. Voreinstellung ist automatische Ermittlung." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:843 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:854 msgid "The author(s) of the ebook, as a comma separated list." msgstr "Autor(en) des eBooks, als durch Kommata getrennte Liste." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:845 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:856 msgid "The subject(s) of this book, as a comma separated list." msgstr "Das Thema dieses Buches, als durch Kommata getrennte Liste." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:847 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:858 msgid "Set the publisher of this book." msgstr "Geben Sie den Herausgeber dieses Buches an." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:849 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:860 msgid "A summary of this book." msgstr "Inhaltsübersicht dieses Buches." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:851 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:862 msgid "Load metadata from the specified OPF file" msgstr "Metadaten aus der angegebenen OPF Datei laden" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:853 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:864 msgid "Options useful for debugging" msgstr "Hilfreiche Einstellungen zur Fehlersuche" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:866 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." @@ -470,13 +600,13 @@ msgstr "" "Noch ausführlicher bei der weiteren Verarbeitung vorgehen. Kann zur " "Vergrößerung der Ausführlichkeit mehrfach angegeben werden." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:857 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:868 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" "Ausgabe HTML ist \"hübsch gedruckt\" zur einfacheren Analyse durch " "menschliche Wesen" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:863 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:874 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -507,7 +637,7 @@ msgid "%prog [options] LITFILE" msgstr "%prog [options] LITFILE" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:852 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:444 msgid "Output directory. Defaults to current directory." msgstr "Ausgabeverzeichnis. Voreinstellung ist aktuelles Verzeichnis." @@ -518,20 +648,20 @@ msgstr "" "Freiräume abändern." #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:723 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:724 msgid "Useful for debugging." msgstr "Hilfreich bei der Fehlersuche." #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:869 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:468 msgid "OEB ebook created in" msgstr "OEB eBook erstellt in" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:717 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:718 msgid "%prog [options] OPFFILE" msgstr "%prog [options] OPFFILE" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:720 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:721 msgid "Output file. Default is derived from input filename." msgstr "Ausgabedatei. Voreinstellung stammt aus dem Namen der Eingabedatei." @@ -566,7 +696,7 @@ msgstr "Sortierung nach Autor" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:275 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 msgid "Publisher" msgstr "Herausgeber" @@ -886,11 +1016,11 @@ msgstr "" "cp-1252. Eine andere gebräuchliche Alternative ist utf-8. In der " "Voreinstellung wird versucht, die Kodierung zu erraten." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:161 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:164 msgid "Converting from %s to LRF is not supported." msgstr "Konvertierung von %s nach LRF wird nicht unterstützt." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:171 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:175 msgid "" "any2lrf [options] myfile\n" "\n" @@ -909,19 +1039,19 @@ msgstr "" "ZIP Archive, indem es nach einem eBook im Archiv sucht.\n" " " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:186 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:190 msgid "No file to convert specified." msgstr "Keine Datei zur Konvertierung angegeben." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:221 msgid "Rendered %s" msgstr "%s gerendert." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:223 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 msgid "Failed %s" msgstr "%s schlug fehl" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:275 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:276 msgid "" "Failed to process comic: %s\n" "\n" @@ -931,60 +1061,60 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:283 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "" "Einstellungen zur Kontrolle der Konvertierung von Comic (CBR, CBZ) Dateien " "zu eBooks" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:289 msgid "Title for generated ebook. Default is to use the filename." msgstr "" "Titel für erstelltes eBook. In der Voreinstellung wird der Dateiname benutzt." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" "Gibt den Autor in den Metadaten des erstellen eBooks an. Voreinstellung ist " "%default." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 msgid "" "Path to output file. By default a file is created in the current directory." msgstr "" "Pfad zur Ausgabedatei. Die Datei wird im aktuellen Verzeichnis erstellt " "(Voreinstellung)." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:296 msgid "Number of colors for grayscale image conversion. Default: %default" msgstr "" "Anzahl der Farben für die Konvertierung von Graustufenbildern. " "Voreinstellung: %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Deaktivieren der Normalisierung (verbessert den Kontrast) des Farbbereichs " "für Bilder. Voreinstellung: False" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" "Seitenverhältnis des Bildes beibehalten. Voreinstellung ist " "bildschirmfüllende Darstellung." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 msgid "Disable sharpening." msgstr "Schärfen deaktivieren." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 msgid "Don't split landscape images into two portrait images" msgstr "Bilder im Querformat nicht in zwei Bilder im Hochformat aufteilen." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -992,7 +1122,7 @@ msgstr "" "Seitenverhältnis beibehalten und Bild so skalieren, dass die Bildschirmhöhe " "als Bildbreite in der Querformatansicht verwendet wird." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:307 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:308 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -1000,7 +1130,7 @@ msgstr "" "Benutzt für rechts-nach-links Publikationen wie Mangas. Querformatige Seiten " "werden von rechts nach links in mehrere hochformatige Seiten unterteilt." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:310 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -1008,7 +1138,7 @@ msgstr "" "Entkörnung einschalten. Reduziert die Körnigkeit. Kann die Bearbeitungszeit " "stark verlängern." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:312 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -1017,7 +1147,7 @@ msgstr "" "sortieren, sondern die Reihenfolge verwenden, in der sie zum Comic " "hinzugefügt wurden." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:314 msgid "" "Choose a profile for the device you are generating this file for. The " "default is the SONY PRS-500 with a screen size of 584x754 pixels. This is " @@ -1028,7 +1158,7 @@ msgstr "" "Diese Einstellung funktioniert für alle Geräte mit derselben " "Bildschirmgröße. Wahlmöglichkeiten sind %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:316 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " "greater verbosity." @@ -1036,11 +1166,11 @@ msgstr "" "Ausführlicher, hilfreich zur Fehlersuche. Kann mehrmals angegeben werden um " "eine größere Ausführlichkeit zu erreichen." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:318 msgid "Don't show progress bar." msgstr "Fortschrittsbalken nicht anzeigen." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:322 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" @@ -1050,11 +1180,11 @@ msgstr "" "\n" "Konvertiert ein Comic einer CBZ oder CBR Datei in ein eBook. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:382 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:383 msgid "Output written to" msgstr "Ausgabe gespeichert unter" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:423 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:426 msgid "Rendering comic pages..." msgstr "Rendere Seiten des Comics..." @@ -1103,56 +1233,56 @@ msgstr "Einstellungen für html2lrf" msgid "Fetching of recipe failed: " msgstr "Abruf des Rezepts misslungen: " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 msgid "\tBook Designer file detected." msgstr "\tBook Designer Datei erkannt." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tParsing HTML..." msgstr "\tAnalysiere HTML..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:340 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:343 msgid "\tBaen file detected. Re-parsing..." msgstr "\tBaen Datei erkannt. Analysiere erneut..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:356 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:359 msgid "Written preprocessed HTML to " msgstr "Vorverarbeitetes HTML gespeichert unter " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:377 msgid "Processing %s" msgstr "Verarbeite %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:388 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:391 msgid "\tConverting to BBeB..." msgstr "\tKonvertiere in BBeB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:534 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:547 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:550 msgid "Could not parse file: %s" msgstr "Konnte Datei nicht analysieren: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:542 msgid "%s is an empty file" msgstr "%s ist eine leere Datei" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:559 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:562 msgid "Failed to parse link %s %s" msgstr "Fehlschlag bei der Analysierung von %s %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:603 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:606 msgid "Cannot add link %s to TOC" msgstr "Konnte Link %s nicht zu TOC hinzufügen" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:958 msgid "Unable to process image %s. Error: %s" msgstr "Konnte Bild %s nicht verarbeiten. Fehler: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:996 msgid "Unable to process interlaced PNG %s" msgstr "Konnte verschachteltes PNG %s nicht verarbeiten" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1008 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1011 msgid "" "Could not process image: %s\n" "%s" @@ -1160,14 +1290,14 @@ msgstr "" "Konnte Bild nicht verarbeiten: %s\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1765 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "" "Ein Fehler trat während der Bearbeitung einer Tabelle auf: %s. " "Tabellenformat wird ignoriert." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1767 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 msgid "" "Bad table:\n" "%s" @@ -1175,11 +1305,11 @@ msgstr "" "Schlechte Tabelle:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1789 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 msgid "Table has cell that is too large" msgstr "Tabelle enthält Zelle, die zu groß ist" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1819 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." @@ -1187,19 +1317,19 @@ msgstr "" "Sichern Sie die Website %s zuerst als HTML Datei und benutzen Sie dann " "html2lrf mit der gespeicherten HTML Datei." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 msgid "Could not read cover image: %s" msgstr "Konnte Umschlagbild nicht lesen: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 msgid "Cannot read from: %s" msgstr "Lesen nicht möglich von: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "Failed to process opf file" msgstr "Verarbeitung der OPF Datei schlug fehl" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2009 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1448,17 +1578,17 @@ msgstr "Gebe Kommentar ein" #: /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:91 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 msgid "Title" msgstr "Titel" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:330 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:899 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:906 msgid "Author(s)" msgstr "Autor(en)" @@ -1477,24 +1607,24 @@ msgstr "Kategorie" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:391 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:527 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "Bemerkung" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:838 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:845 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Tags" msgstr "Etiketten" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Series" @@ -1631,11 +1761,11 @@ msgstr "Benutzung: pdf-meta dateiname.pdf" msgid "Usage: rb-meta file.rb" msgstr "Benutzung: rb-meta file.rb" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:440 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 msgid "%prog [options] myebook.mobi" msgstr "%prog [options] dateiname.mobi" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:464 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 msgid "Raw MOBI HTML saved in" msgstr "Original MOBI HTML gespeichert in" @@ -1644,89 +1774,89 @@ msgid "The output directory. Defaults to the current directory." msgstr "" "Das Ausgabeverzeichnis. Laut Voreinstellung das aktuelle Verzeichnis." -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:26 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:424 msgid "Frequently used directories" msgstr "Häufig benutzte Verzeichnisse" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:27 msgid "Send file to storage card instead of main memory by default" msgstr "" "Datei auf die Speicherkarte anstatt in den Hauptspeicher des Gerätes " "(Voreinstellung) senden" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:29 msgid "The format to use when saving single files to disk" msgstr "" "Das zu verwendende Format bei der Speicherung einzelner Dateie auf die " "Festplatte" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:31 msgid "Confirm before deleting" msgstr "Bestätigung vor dem Löschen" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 msgid "Toolbar icon size" msgstr "Schaltflächengröße der Symbolleiste" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 msgid "Show button labels in the toolbar" msgstr "Zeige Schaltflächenbeschriftung in der Symbolleiste" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 msgid "Main window geometry" msgstr "Aufteilung des Hauptfensters" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 msgid "Notify when a new version is available" msgstr "Benachrichtigen, wenn eine neue Version verfügbar ist" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Use Roman numerals for series number" msgstr "Benutze römische Ziffern für Seriennummerierung" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Sort tags list by popularity" msgstr "Liste der Etiketten nach Beliebtheit sortieren" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Number of covers to show in the cover browsing mode" msgstr "" "Anzahl der Umschlagbilder, die im Cover-Ansicht Modus angezeit werden" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" msgstr "Voreinstellungen für Konvertierung zu LRF" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Options for the LRF ebook viewer" msgstr "Optionen für den LRF eBook Viewer" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 msgid "Formats that are viewed using the internal viewer" msgstr "Formate, die mithilfe des internen Viewers angesehen werden" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 msgid "Columns to be displayed in the book list" msgstr "Spalten, die in der Liste der Bücher angezeigt werden sollen" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Automatically launch content server on application startup" msgstr "Content Server automatisch beim Aufrufen von calibre starten" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Oldest news kept in database" msgstr "Älteste in der Datenbank gespeicherte Nachrichten" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 msgid "Show system tray icon" msgstr "Symbol im Systembereich der Kontrollleiste anzeigen" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 msgid "Upload downloaded news to device" msgstr "Geladene Nachrichten auf das Gerät übertragen" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Delete books from library after uploading to device" msgstr "Bücher nach der Übertragung auf das Gerät aus der Bibliothek löschen" @@ -1765,8 +1895,8 @@ msgstr "Buch auf dem Gerät ansehen" #: /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:282 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:840 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "Pfad" @@ -1775,7 +1905,7 @@ msgstr "Pfad" #: /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:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Formats" @@ -1790,6 +1920,7 @@ msgstr "Dialog" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:53 msgid "TextLabel" @@ -1866,19 +1997,27 @@ msgstr "Ent&körnung" msgid "&Wide" msgstr "&Weite" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 +msgid " plugins" +msgstr " Plugins" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:106 +msgid "by" +msgstr "von" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Advanced" msgstr "Erweitert" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "General" msgstr "Allgemein" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Interface" msgstr "Schnittstelle" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 msgid "" "Content\n" "Server" @@ -1886,59 +2025,105 @@ msgstr "" "Content\n" "Server" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 +msgid "Plugins" +msgstr "Plugins" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:255 +msgid "No valid plugin path" +msgstr "Kein gültiger Plugin Pfad" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:256 +msgid "%s is not a valid plugin path" +msgstr "%s ist kein gültiger Plugin Pfad" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +msgid "Choose plugin" +msgstr "Plugin wählen" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:270 +msgid "Plugin cannot be disabled" +msgstr "Plugin kann nicht ausgeschaltet werden" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:271 +msgid "The plugin: %s cannot be disabled" +msgstr "Das Plugin: %s kann nicht ausgeschaltet werden" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +msgid "Plugin not customizable" +msgstr "Plugin nicht anpassbar" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:282 +msgid "Plugin: %s does not need customization" +msgstr "Plugin: %s bedarf keines Anpassens" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +msgid "Customize %s" +msgstr "Anpassen von %s" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:295 +msgid "Cannot remove builtin plugin" +msgstr "Kann festinstalliertes Plugin nicht entfernen" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:296 +msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." +msgstr "" +" kann nicht entfernt werden, da es ein festinstalliertes Plugin ist. " +"Versuchen Sie, es auszuschalten." + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:317 msgid "Error log:" msgstr "Fehler Log:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:321 msgid "Access log:" msgstr "Zugriffs-Protokolldatei:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:382 msgid "Failed to start content server" msgstr "Content Server konnte nicht gestartet werden" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "Invalid size" msgstr "Ungültige Größe" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" "Die Größe %s ist ungültig. Sie muss der Form BreitexHöhe entsprechen." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:264 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:423 msgid "Invalid database location" msgstr "Ortsangabe der Datenbank ungültig" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "
                Must be a directory." msgstr "
                Muss ein Verzeichnis sein." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "Invalid database location " msgstr "Ortsangabe der Datenbank ungültig " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 msgid "Invalid database location.
                Cannot write to " msgstr "Ortsangabe der Datenbank ungültig.
                Speichern nicht möglich " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting database. This may take a while." msgstr "Komprimiere Datenbank. Das kann etwas dauern..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting..." msgstr "Komprimiere Datenbank..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:329 msgid "Configuration" msgstr "Konfiguration" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:409 msgid "" "&Location of ebooks (The ebooks are stored in folders sorted by author and " "metadata is stored in the file metadata.db)" @@ -1947,15 +2132,16 @@ msgstr "" "sortiert gespeichert und die Metadaten werden in der Datei metadata.db " "gespeichert)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:410 msgid "Browse for the new database location" msgstr "Zu einem neuen Ort der Datenbank wechseln" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:358 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:374 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:386 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:426 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:373 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:509 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:282 @@ -1978,35 +2164,31 @@ msgstr "Zu einem neuen Ort der Datenbank wechseln" msgid "..." msgstr "..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:412 msgid "Show notification when &new version is available" msgstr "Benachrichtigung anzeigen, wenn &neue Version verfügbar ist" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:360 -msgid "Ask for &confirmation before deleting files" -msgstr "Nach einer Bestätigung vor dem Löschen von Dateien fragen" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:413 msgid "" -"If you disable this setting, metadatas is guessed from the filename instead. " +"If you disable this setting, metadata is guessed from the filename instead. " "This can be configured in the Advanced section." msgstr "" -"Wenn sie diese Einstellung ausschalten, dann werden die Metadaten aus dem " -"Dateinamen erraten. Die Konfiguration ist im Abschnitt \"Erweitert\" möglich." +"Falls Sie diese Einstellung ausschalten, werden die Metadaten aus dem " +"Dateinamen erschlossen. Dies kann unter Erweitert konfiguriert werden." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:414 msgid "Read &metadata from files" msgstr "&Metadaten aus Dateien lesen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:415 msgid "Format for &single file save:" msgstr "Format zur &Speicherung einer Datei:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:416 msgid "Default network &timeout:" msgstr "Voreinstellung für Zei&tüberschreitung bei Netzwerkverbindungen:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:417 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" @@ -2014,108 +2196,108 @@ msgstr "" "Voreinstellung der Zeitüberschreitung für Netzwerkabrufe festsetzen (Gilt " "immer dann, wenn aus dem Internet Informationen abgerufen werden sollen)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:418 msgid " seconds" msgstr " Sekunden" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:419 msgid "Choose &language (requires restart):" msgstr "Sprache wäh&len (erfordert Neustart):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:420 msgid "Normal" msgstr "Normal" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:421 msgid "High" msgstr "Hoch" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:422 msgid "Low" msgstr "Niedrig" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:423 msgid "Job &priority:" msgstr "Auftrags&priorität:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:425 msgid "Add a directory to the frequently used directories list" msgstr "" "Ein Verzeichnis zur Liste der häufig genutzten Verzeichnisse hinzufügen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:427 msgid "Remove a directory from the frequently used directories list" msgstr "" "Ein Verzeichnis von der Liste der häufig genutzten Verzeichnisse entfernen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:429 msgid "Use &Roman numerals for series number" msgstr "&Römische Ziffern für Serien Nummerierung verwenden" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:430 msgid "&Number of covers to show in browse mode (after restart):" msgstr "" "A&nzahl der Umschlagbilder, die (nach einem Neustart) in der Cover-Ansicht " "angezeigt werden:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:431 msgid "Toolbar" msgstr "Symbolleiste" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 msgid "Large" msgstr "Groß" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Medium" msgstr "Mittel" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 msgid "Small" msgstr "Klein" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:435 msgid "&Button size in toolbar" msgstr "&Größe der Schaltflächen in der Symbolleiste" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:436 msgid "Show &text in toolbar buttons" msgstr "Zeige &Text in Schaltflächen der Symbolleiste" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:437 msgid "Select visible &columns in library view" msgstr "Si&chtbare Spalten in Bibliothek-Ansicht wählen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:440 msgid "Use internal &viewer for the following formats:" msgstr "Den internen &Viewer für die folgenden Formate verwenden:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:441 msgid "Enable system &tray icon (needs restart)" msgstr "" "Symbol im Sys&tembereich der Kontrollleiste aktivieren (erfordert Neustart)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:442 msgid "Automatically send downloaded &news to ebook reader" msgstr "Geladene &Nachrichten automatisch an das Gerät senden" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:443 msgid "&Delete news from library when it is sent to reader" msgstr "Nachrichten nach dem Senden an das Gerät aus der Bibliothek &löschen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:444 msgid "Free unused diskspace from the database" msgstr "Freier unbenutzter Festplattenspeicher der Datenbank" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:445 msgid "&Compact database" msgstr "Datenbank &komprimieren" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:446 msgid "&Metadata from file name" msgstr "&Meta-Daten aus dem Dateinamen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:447 msgid "" "calibre contains a network server that allows you to access your book " "collection using a browser from anywhere in the world. Any changes to the " @@ -2125,23 +2307,23 @@ msgstr "" "von überall aus mit Hilfe eines Browsers auf Ihre Büchersammlung zugreifen " "können. Einstellungsänderungen erfolgen erst nach einem Neustart des Servers." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:448 msgid "Server &port:" msgstr "Server &Port:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:146 msgid "&Username:" msgstr "Ben&utzername:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:147 msgid "&Password:" msgstr "&Passwort:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:451 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." @@ -2149,13 +2331,13 @@ msgstr "" "Wenn Sie das Kennwort leer lassen, kann jeder auf Ihre Büchersammlung über " "das Webinterface zugreifen." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:452 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:148 msgid "&Show password" msgstr "Pa&sswort anzeigen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:453 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " @@ -2163,31 +2345,31 @@ msgstr "" "Maximale Größe (BreitexHöhe) der angezeigten Covers. Größere Covers werden " "verkleinert. " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:454 msgid "Max. &cover size:" msgstr "Maximale &Cover-Größe:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:455 msgid "&Start Server" msgstr "Server &starten" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:456 msgid "St&op Server" msgstr "Server st&oppen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:457 msgid "&Test Server" msgstr "Server &testen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:458 msgid "Run server &automatically on startup" msgstr "Server &automatisch beim Starten hochfahren" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:459 msgid "View &server logs" msgstr "Server Logs ansehen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 msgid "" "If you want to use the content server to access your ebook collection on " "your iphone with Stanza, you will need to add the URL " @@ -2201,6 +2383,46 @@ msgstr "" "auf Ihrem iPhone hinzufügen. In diesem Fall sollte meinservername der volle " "Hostname oder die IP Adresse dieses Rechners sein." +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 +msgid "" +"Here you can customize the behavior of Calibre by controlling what plugins " +"it uses." +msgstr "" +"Hier können Sie das Verhalten von Calibrie anpassen, indem sie festlegen, " +"welche Plugins verwendet werden." + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:462 +msgid "Enable/&Disable plugin" +msgstr "Plugin &ein-/ausschalten" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 +msgid "&Customize plugin" +msgstr "Plugin &anpassen" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:464 +msgid "&Remove plugin" +msgstr "Plugin entfe&rnen" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:465 +msgid "Add new plugin" +msgstr "Neues Plugin hinzufügen" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:466 +msgid "Plugin &file:" +msgstr "&Plugin Datei:" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:468 +msgid "&Add" +msgstr "&Hinzufügen" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +msgid "Are you sure?" +msgstr "Sicher?" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +msgid "&Show this warning again" +msgstr "&Warnung erneut anzeigen" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:41 msgid "ERROR" msgstr "FEHLER" @@ -2218,7 +2440,7 @@ msgstr "%s in EPUB konvertieren" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:296 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 msgid "Metadata" msgstr "Meta-Daten" @@ -2279,25 +2501,25 @@ msgstr "Wählen Sie das Umschlagbild für " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 msgid "Cannot read" msgstr "Lesen nicht möglich" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:52 msgid "You do not have permission to read the file: " msgstr "Sie haben nicht die nötigen Rechte, um diese Datei zu lesen: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 msgid "Error reading file" msgstr "Fehler beim Lesen der Datei" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:184 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:61 msgid "

                There was an error reading from file:
                " msgstr "

                Es trat ein Fehler beim Lesen dieser Datei auf:
                " @@ -2307,7 +2529,7 @@ msgid " is not a valid picture" msgstr " ist kein gültiges Bild" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "Cannot convert" msgstr "Konvertierung nicht möglich" @@ -2988,7 +3210,7 @@ msgstr "&Format entfernen:" msgid "A&utomatically set author sort" msgstr "Automatisch Sortierung nach Autor setzen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:262 msgid "" "

                Enter your username and password for LibraryThing.com.
                If you " "do not have one, you can register " @@ -2998,19 +3220,19 @@ msgstr "" "LibraryThing.com an.
                Insofern Sie dies nicht besitzen, können " "Sie sich kostenlos anmelden!

                " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover.
                " msgstr "Konnte kein Umschlagbild abrufen.
                " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover" msgstr "Konnte kein Umschlagbild abrufen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "Cannot fetch cover" msgstr "Kann kein Umschlagbild abrufen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "You must specify the ISBN identifier for this book." msgstr "Sie müssen die ISBN für dieses Buch angeben." @@ -3119,9 +3341,9 @@ msgstr "Neue individuelle Nachrichtenquelle hinzufügen" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:335 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:761 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:765 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1064 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:752 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:756 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1055 msgid "News" msgstr "Nachrichten" @@ -3644,52 +3866,64 @@ msgstr "Abwarten und Tee trinken..." msgid "Working" msgstr "Bei der Arbeit..." -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:162 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:166 +#: /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 "Kann Auftrag nicht abbrechen" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 msgid "Cannot kill jobs that communicate with the device" msgstr "Kann Aufträge, die mit dem Gerät kommunizieren, nicht abbrechen" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:177 msgid "Job has already run" msgstr "Auftrag wird schon ausgeführt" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:907 msgid "Size (MB)" msgstr "Größe (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:908 msgid "Date" msgstr "Datum" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 msgid "Rating" msgstr "Bewertung" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:274 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 msgid "None" msgstr "Keine" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 msgid "Book %s of %s." msgstr "Buch %s von %s." -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:675 +msgid "Not allowed" +msgstr "Das ist nicht gestattet" + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:676 +msgid "" +"Dropping onto a device is not supported. First add the book to the calibre " +"library." +msgstr "" +"Direktes Hinzufügen auf das Gerät wird nicht unterstützt. Fügen Sie das Buch " +"zuerst zur Bibliothek hinzu." + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:839 msgid "Format" msgstr "Format" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:844 msgid "Timestamp" msgstr "Zeitstempel" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:942 msgid "Search (For Advanced Search click the button to the left)" msgstr "Suche (Zur erweiterten Suche die Schaltfläche links klicken)" @@ -3718,7 +3952,7 @@ msgid "No matches for the search phrase %s were found." msgstr "Keine Treffer für die Suchworte %s gefunden." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:377 msgid "No matches found" msgstr "Keine Treffer gefunden" @@ -3743,12 +3977,12 @@ msgid "Previous Page" msgstr "Vorherige Seite" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 msgid "Back" msgstr "Zurück" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 msgid "Forward" msgstr "Weiter" @@ -3757,7 +3991,7 @@ msgid "Next match" msgstr "Nächster Treffer" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:162 msgid "Open ebook" msgstr "eBook öffnen" @@ -3765,27 +3999,27 @@ msgstr "eBook öffnen" msgid "Configure" msgstr "Konfigurieren" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88 msgid "Error communicating with device" msgstr "Fehler bei der Kommunikation mit dem Gerät" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 msgid "&Restore" msgstr "&Wiederherstellen" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Donate" msgstr "&Spenden" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Quit" msgstr "Be&enden" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:104 msgid "&Restart" msgstr "&Neustart" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:148 msgid "" "

                For help visit %s.kovidgoyal.net
                " @@ -3793,130 +4027,131 @@ msgstr "" "

                Hilfe gibt es online bei %s.kovidgoyal.net
                " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:149 msgid "%s: %s by Kovid Goyal %%(version)s
                %%(device)s

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

                " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Send to main memory" msgstr "An Hauptspeicher senden" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "Send to storage card" msgstr "An Speicherkarte senden" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "and delete from library" msgstr "und aus der Datenbank löschen" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 msgid "Send to storage card by default" msgstr "Auf die Speicherkarte senden (Voreinstellung)" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 msgid "Edit metadata individually" msgstr "Meta-Daten einzeln bearbeiten" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:187 msgid "Edit metadata in bulk" msgstr "Meta-Daten auf einmal bearbeiten" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 msgid "Add books from a single directory" msgstr "Bücher aus einem einzelnen Verzeichnis hinzufügen" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:191 msgid "" -"Add books recursively (One book per directory, assumes every ebook file is " -"the same book in a different format)" +"Add books from directories, including sub-directories (One book per " +"directory, assumes every ebook file is the same book in a different format)" msgstr "" -"Bücher rekursiv hinzufügen (Ein Buch pro Verzeichnis, setzt voraus, dass " -"jede eBook Datei das gleiche Buch in einem unterschiedlichen Format enthält)" +"Bücher aus Verzeichnissen hinzufügen, inklusive Unterverzeichnissen (ein " +"Buch pro Verzeichnis, jede eBook Datei im Verzeichnis ist dasselbe Buch in " +"verschiedenen Formaten)" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 msgid "" -"Add books recursively (Multiple books per directory, assumes every ebook " -"file is a different book)" +"Add books from directories, including sub directories (Multiple books per " +"directory, assumes every ebook file is a different book)" msgstr "" -"Bücher rekursiv hinzufügen (Mehrere Bücher pro Verzeichnis, setzt voraus, " -"dass jede eBook Datei ein anderes Buch enthält)" +"Bücher aus Verzeichnissen hinzufügen, inklusive Unterverzeichnissen " +"(verschiedene Bücher im Verzeichnis, jede eBook Datei ist ein anderes Buch)" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:342 msgid "Save to disk" msgstr "Auf Festplatte speichern" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 msgid "Save to disk in a single directory" msgstr "Auf Festplatte in ein einziges Verzeichnis speichern" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Save only %s format to disk" msgstr "Nur das %s Format auf Festplatte speichern" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:348 msgid "View" msgstr "Vorschau" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:213 msgid "View specific format" msgstr "Spezielles Format ansehen" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:230 msgid "Convert individually" msgstr "Einzeln konvertieren" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 msgid "Bulk convert" msgstr "Auf einmal konvertieren" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:233 msgid "Set defaults for conversion" msgstr "Voreinstellung für Konvertierung eingeben" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:234 msgid "Set defaults for conversion of comics" msgstr "Voreinstellungen für die Konvertierung von Comics eingeben" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:255 msgid "Similar books..." msgstr "Ähnliche Bücher..." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 msgid "Bad database location" msgstr "Schlechter Datenbank Standort" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1333 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1356 msgid "Choose a location for your ebook library." msgstr "Wählen Sie einen Speicherort für Ihre eBook Bibliothek." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:315 msgid "Migrating database" msgstr "Migriere Datenbank" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:487 msgid "Device: " msgstr "Gerät: " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:488 msgid " detected." msgstr " gefunden." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:510 msgid "Connected " msgstr "Angeschlossen: " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:521 msgid "Device database corrupted" msgstr "Gerätedatenbank ist beschädigt" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:522 msgid "" "\n" "

                The database of books on the reader is corrupted. Try the " @@ -3947,8 +4182,25 @@ msgstr "" " \n" " " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:572 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:668 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +msgid "Stop" +msgstr "Stop" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:574 +msgid "Adding books recursively..." +msgstr "Füge Bücher rekursiv hinzu..." + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Added " +msgstr "Hinzugefügt " + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Searching..." +msgstr "Suche..." + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:695 msgid "" "

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

                  " @@ -3956,104 +4208,121 @@ msgstr "" "

                  Es existieren bereits Bücher mit dem selben Titel in der Datenbank. " "Sollen die folgenden Bücher trotzdem hinzugefügt werden?

                    " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:575 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:698 msgid "Duplicates found!" msgstr "Duplikate gefunden!" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:649 msgid "Uploading books to device." msgstr "Lade Bücher auf das Gerät." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:633 msgid "Books" msgstr "Bücher" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:634 msgid "EPUB Books" msgstr "EPUB Bücher" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:635 msgid "LRF Books" msgstr "LRF Bücher" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:636 msgid "HTML Books" msgstr "HTML Bücher" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:620 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:637 msgid "LIT Books" msgstr "LIT Bücher" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:638 msgid "MOBI Books" msgstr "MOBI Bücher" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:639 msgid "Text books" msgstr "Text Bücher" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:640 msgid "PDF Books" msgstr "PDF Bücher" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:641 msgid "Comics" msgstr "Comics" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:642 msgid "Archives" msgstr "Archive" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:661 +msgid "Reading metadata..." +msgstr "Lese Metadaten..." + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:659 +msgid "Adding books..." +msgstr "Füge Bücher hinzu..." + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:685 +msgid "Read metadata from " +msgstr "Lese Metadaten von " + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:688 +msgid "Adding books to database..." +msgstr "Füge Bücher zur Datenbank hinzu..." + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:730 msgid "No space on device" msgstr "Gerätespeicher voll" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:731 msgid "" "

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

                    Es können keine Bücher mehr auf das Gerät geladen werden, da der " "Gerätespeicher voll ist " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:736 -msgid "Confirm delete" -msgstr "Bestätigen Sie das Löschen" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:763 +msgid "" +"The selected books will be permanently deleted and the files removed " +"from your computer. Are you sure?" +msgstr "" +"Die gewählten Bücher werden dauerhaft gelöscht und die Dateien vom " +"Computer entfernt. Sicher?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:737 -msgid "Are you sure you want to delete these %d books?" -msgstr "Sind Sie sicher, dass Sie diese %d Bücher löschen wollen?" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 msgid "Deleting books from device." msgstr "Lösche Bücher vom Gerät." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 msgid "Cannot edit metadata" msgstr "Kann Metadaten nicht bearbeiten" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "No books selected" msgstr "Keine Bücher ausgewählt" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:848 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:871 msgid "Sending news to device." msgstr "Sende Nachrichten an das Gerät." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:923 msgid "Sending books to device." msgstr "Sende Bücher an das Gerät." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:926 msgid "No suitable formats" msgstr "Keine geeigneten Formate" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:927 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found:

                      %s
                    " @@ -4061,15 +4330,15 @@ msgstr "" "Die folgenden Bücher konnten nicht auf das Gerät geladen werden, da keine " "geeigneten Formate vorhanden sind:
                      %s
                    " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 msgid "Cannot save to disk" msgstr "Speichern auf Festplatte nicht möglich" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:947 msgid "Choose destination directory" msgstr "Zielverzeichnis auswählen" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:931 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:954 msgid "" "

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

                      " @@ -4077,64 +4346,64 @@ msgstr "" "

                      Die folgenden Bücher konnten nicht auf die Festplatte gespeichert werden, " "da das %s Format für sie nicht verfügbar ist:

                        " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:958 msgid "Could not save some ebooks" msgstr "Konnte einige eBooks nicht speichern" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:955 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:978 msgid "Fetching news from " msgstr "Rufe Nachrichten ab von " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:992 msgid " fetched." msgstr " abgerufen." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 msgid "No book selected" msgstr "Kein Buch ausgewählt" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 msgid "Cannot view" msgstr "Ansehen nicht möglich" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1134 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1112 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1157 msgid "Choose the format to view" msgstr "Format zur Vorschau wählen" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 msgid "Cannot open folder" msgstr "Konnte Verzeichnis nicht öffnen" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1130 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1153 msgid "%s has no available formats." msgstr "%s hat keine verfügbaren Formate." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure" msgstr "Konfiguration nicht möglich" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure while there are running jobs." msgstr "Konfiguration nicht möglich während Aufträge abgearbeitet werden." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1210 msgid "Copying database" msgstr "Kopiere Datenbank" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212 msgid "Copying library to " msgstr "Kopiere Bibliothek nach " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1222 msgid "Invalid database" msgstr "Ungültige Datenbank" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1223 msgid "" "

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

                        Es existiert bereits eine ungültige Datenbank in %s, bitte löschen Sie " "diese, bevor sie die bestehende Datenbank verschieben.
                        Fehler: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1229 msgid "Could not move database" msgstr "Konnte Datenbank nicht verschieben" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1226 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1249 msgid "No detailed info available" msgstr "Es ist keine weitere Information verfügbar" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1227 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1250 msgid "No detailed information is available for books on the device." msgstr "" "Es sind keine weitere Informationen über Bücher auf dem Gerät verfügbar" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1270 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1293 msgid "Error talking to device" msgstr "Fehler in der Kommunikation zum Gerät" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1294 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -4167,13 +4436,13 @@ msgstr "" "Es trat ein Fehler in der Kommunikation mit dem Gerät auf. Bitte entfernen " "und schließen Sie das Gerät wieder an und - oder starten Sie neu." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1284 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1299 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1307 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1326 msgid "Conversion Error" msgstr "Konvertierungsfehler" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 msgid "" "

                        Could not convert: %s

                        It is a DRMed book. You must " "first remove the DRM using 3rd party tools." @@ -4182,11 +4451,11 @@ msgstr "" "href=\"%s\">DRM geschützt. Sie müssen zunächst das DRM mit einem anderen " "Programm entfernen." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1342 msgid "Database does not exist" msgstr "Datenbank existiert nicht" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1320 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1343 msgid "" "The directory in which the database should be: %s no longer exists. Please " "choose a new database location." @@ -4194,11 +4463,11 @@ msgstr "" "Das Verzeichnis, in dem die Datenbank sein sollte: %s existiert nicht mehr. " "Bitte wählen Sie einen neuen Ort für die Datenbank aus." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1345 msgid "Choose new location for database" msgstr "Wählen Sie einen neuen Speicherort für die Datenbank" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1375 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 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." @@ -4207,12 +4476,12 @@ msgstr "" "Falls Sie es nützlich finden, sollten Sie eine Spende zur Unterstützung " "seiner Entwicklung in Betracht ziehen." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1396 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1419 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" "Es bestehen aktive Aufträge. Sind Sie sicher, dass sie es beenden wollen?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1421 msgid "" " is communicating with the device!
                        \n" " 'Quitting may cause corruption on the device.
                        \n" @@ -4222,11 +4491,11 @@ msgstr "" " 'Ein Beenden kann das Gerät beschädigen.
                        \n" " 'Sind Sie sicher, dass sie es beenden wollen?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1402 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1425 msgid "WARNING: Active jobs" msgstr "WARNUNG: Aktive Aufträge" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -4234,7 +4503,7 @@ msgstr "" "wird im System Tray weiter laufen. Zum Schließen wählen Sie Beenden " "im Kontextmenü des System Tray." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1444 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1467 msgid "" "Latest version: %s" @@ -4242,7 +4511,7 @@ msgstr "" "Letzte Version: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "" "%s has been updated to version %s. See the new features. " @@ -4252,15 +4521,15 @@ msgstr "" "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">neuen Features an. " "Möchten Sie die Download Seite besuchen?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "Update available" msgstr "Neue Version verfügbar" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1464 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1487 msgid "Use the library located at the specified path." msgstr "Die im angegebenen Pfad sich befindende Bibliothek verwenden" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1489 msgid "Log debugging information to console" msgstr "Informationen zur Fehlersuche in Konsole aufzeichnen" @@ -4578,7 +4847,7 @@ msgid "The standard font type" msgstr "Standardschriftart" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:47 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 msgid "Table of Contents" msgstr "Inhaltsverzeichnis" @@ -4604,59 +4873,59 @@ msgstr "" msgid "Search for text in book" msgstr "Suche nach Text im Buch" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:338 msgid "Choose ebook" msgstr "eBook wählen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:339 msgid "Ebooks" msgstr "eBooks" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Add bookmark" msgstr "Lesezeichen hinzufügen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Enter title for bookmark:" msgstr "Titel für Lesezeichen eingeben:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:378 msgid "No matches found for: %s" msgstr "Keine Treffer gefunden für: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 msgid "Loading flow..." msgstr "Lade Ablauf..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:445 msgid "Laying out %s" msgstr "Lege %s an" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:497 msgid "Loading ebook..." msgstr "Lade eBook..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "

                        This book is protected by DRM" msgstr "

                        Dieses Buch ist geschützt durch DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "DRM Error" msgstr "DRM Fehler" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:507 msgid "Could not open ebook" msgstr "Konnte eBook nicht öffnen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:508 msgid "%s

                        %s

                        " msgstr "%s

                        %s

                        " -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 msgid "Options to control the ebook viewer" msgstr "Einstellungen zur Kontrolle des eBook Viewers" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:577 msgid "" "%prog [options] file\n" "\n" @@ -4666,50 +4935,54 @@ msgstr "" "\n" "eBook ansehen. \n" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 msgid "Ebook Viewer" msgstr "eBook Viewer" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 msgid "toolBar" msgstr "Symbolleiste" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 msgid "Next page" msgstr "Nächste Seite" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 msgid "Previous page" msgstr "Vorherige Seite" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 msgid "Font size larger" msgstr "Größere Schrift" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 msgid "Font size smaller" msgstr "Kleinere Schrift" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:163 msgid "Find next" msgstr "Weitersuchen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:164 msgid "Copy to clipboard" msgstr "In die Zwischenablage kopieren" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:165 msgid "Preferences" msgstr "Voreinstellungen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:166 msgid "Reference Mode" msgstr "Verweismodus" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:167 msgid "Bookmark" msgstr "Lesezeichen" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168 +msgid "Toggle full screen" +msgstr "Vollbildmodus beenden" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:47 msgid "Invalid regular expression" msgstr "Ungültiger regulärer Ausdruck" @@ -5109,20 +5382,20 @@ msgstr "" "\n" "Sie erhalten Hilfe zu einem bestimmten Befehl mit: %%prog command --help\n" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1146 msgid "

                        Copying books to %s

                        " msgstr "

                        Kopiere Bücher nach %s

                        " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1157 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1266 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1159 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1268 msgid "Copying %s" msgstr "Kopiere %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1237 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "

                        Migrating old database to ebook library in %s

                        " msgstr "

                        Migriere alte Datenbank zu eBook Bibliothek in %s

                        " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1285 msgid "Compacting database" msgstr "Komprimiere Datenbank" @@ -5149,48 +5422,48 @@ msgstr "Konnte Arbeitsprozess nicht starten." msgid "Job stopped by user" msgstr "Auftrag durch Benutzer unterbrochen" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:39 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:41 msgid "%sUsage%s: %s\n" msgstr "%sBenutzung%s: %s\n" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:77 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:79 msgid "Created by " msgstr "Erstellt von " -#: /home/kovid/work/calibre/src/calibre/utils/config.py:524 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:527 msgid "Path to the database in which books are stored" msgstr "Pfad zur Datenbank in der die Bücher gespeichtert sind" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:526 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:529 msgid "Pattern to guess metadata from filenames" msgstr "Verhaltensmuster zum Erraten der Metadaten aus den Dateinamen" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:528 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:531 msgid "Access key for isbndb.com" msgstr "Zugangsschlüssel für isbndb.com" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:530 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:533 msgid "Default timeout for network operations (seconds)" msgstr "" "Voreinstellung der Zeitüberschreitung bei Netzwerkverbindungen (in Sekunden)" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:532 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:535 msgid "Path to directory in which your library of books is stored" msgstr "Pfad zum Verzeichnis, in dem die Bibliothek gespeichert ist" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:534 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:537 msgid "The language in which to display the user interface" msgstr "Sprache, in der die Benutzer-Oberfläche dargestellt wird" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:536 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:539 msgid "The default output format for ebook conversions." msgstr "Das voreingestellte Ausgabeformat für eBook Konvertierungen." -#: /home/kovid/work/calibre/src/calibre/utils/config.py:538 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:541 msgid "Read metadata from files" msgstr "Metadaten aus Dateien lesen" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:540 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:543 msgid "The priority of worker processes" msgstr "Priorität der Arbeitsaufträge" @@ -5664,6 +5937,20 @@ msgstr "Zeige detailierte Ausgabeinformation. Hilfreich zur Fehlersuche." #~ msgid "Changes will only take affect after a restart." #~ msgstr "Änderungen treten erst nach einem Neustart in Kraft." +#~ msgid "" +#~ "Add books recursively (One book per directory, assumes every ebook file is " +#~ "the same book in a different format)" +#~ msgstr "" +#~ "Bücher rekursiv hinzufügen (Ein Buch pro Verzeichnis, setzt voraus, dass " +#~ "jede eBook Datei das gleiche Buch in einem unterschiedlichen Format enthält)" + +#~ msgid "" +#~ "Add books recursively (Multiple books per directory, assumes every ebook " +#~ "file is a different book)" +#~ msgstr "" +#~ "Bücher rekursiv hinzufügen (Mehrere Bücher pro Verzeichnis, setzt voraus, " +#~ "dass jede eBook Datei ein anderes Buch enthält)" + #~ msgid "News fetched. Uploading to device." #~ msgstr "Nachrichten abgerufen. Übertragung ans Gerät läuft." @@ -5898,6 +6185,15 @@ msgstr "Zeige detailierte Ausgabeinformation. Hilfreich zur Fehlersuche." #~ "Die Voreinstellung ist der SONY PRS-500 mit einer Bildschirmgröße von " #~ "584x754 Punkten. Wahlmöglichkeiten sind %s" +#~ msgid "Ask for &confirmation before deleting files" +#~ msgstr "Nach einer Bestätigung vor dem Löschen von Dateien fragen" + +#~ msgid "Confirm delete" +#~ msgstr "Bestätigen Sie das Löschen" + +#~ msgid "Are you sure you want to delete these %d books?" +#~ msgstr "Sind Sie sicher, dass Sie diese %d Bücher löschen wollen?" + #~ msgid "" #~ "%prog [options] comic.cb[z|r]\n" #~ "\n" @@ -6004,6 +6300,13 @@ msgstr "Zeige detailierte Ausgabeinformation. Hilfreich zur Fehlersuche." #~ msgid "&Output format:" #~ msgstr "&Ausgabeformat:" +#~ msgid "" +#~ "If you disable this setting, metadatas is guessed from the filename instead. " +#~ "This can be configured in the Advanced section." +#~ msgstr "" +#~ "Wenn sie diese Einstellung ausschalten, dann werden die Metadaten aus dem " +#~ "Dateinamen erraten. Die Konfiguration ist im Abschnitt \"Erweitert\" möglich." + #~ msgid "Detailed logging" #~ msgstr "Ausführliche Protokollierung" diff --git a/src/calibre/translations/el.po b/src/calibre/translations/el.po index 8818f9b762..3a1a358bd7 100644 --- a/src/calibre/translations/el.po +++ b/src/calibre/translations/el.po @@ -7,24 +7,198 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2008-12-18 01:36+0000\n" +"POT-Creation-Date: 2008-12-30 15:33+0000\n" "PO-Revision-Date: 2008-06-24 07:23+0000\n" "Last-Translator: Thanos Petkakis \n" "Language-Team: Greek \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-12-23 17:57+0000\n" +"X-Launchpad-Export-Date: 2009-01-04 04:32+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:137 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:155 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:193 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 +msgid "Does absolutely nothing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:478 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:961 +#: /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 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 +#: /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:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 +#: /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:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:78 +#: /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:793 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:835 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:915 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 +#: /home/kovid/work/calibre/src/calibre/library/database.py:920 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1580 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:461 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:808 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:841 +msgid "Unknown" +msgstr "Άγνωστο" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:62 +msgid "Base" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 +msgid "File type" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:182 +msgid "Metadata reader" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:209 +msgid "Metadata writer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:12 +msgid "" +"Follow all local links in an HTML file and create a ZIP file containing all " +"linked files. This plugin is run every time you add an HTML file to the " +"library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:32 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:42 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:53 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:63 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:73 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:83 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:105 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:135 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:145 +msgid "Read metadata from %s files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:155 +msgid "Extract cover from comic files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:175 +msgid "Set metadata in EPUB files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:185 +msgid "Set metadata in LRF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:195 +msgid "Set metadata in RTF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:28 +msgid "Installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:29 +msgid "Mapping for filetype plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 +msgid "Local plugin customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 +msgid "Disabled plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:66 +msgid "No valid plugin found in " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:170 +msgid "Initialization of plugin %s failed with traceback:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:247 +msgid "" +" %prog options\n" +" \n" +" Customize calibre by loading external plugins.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:253 +msgid "Add a plugin by specifying the path to the zip file containing it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:255 +msgid "Remove a custom plugin by name. Has no effect on builtin plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:257 +msgid "" +"Customize plugin. Specify name of plugin and customization string separated " +"by a comma." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:259 +msgid "List all installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:261 +msgid "Enable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:263 +msgid "Disable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:158 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:196 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:224 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:409 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:412 msgid "The reader has no storage card connected." msgstr "" @@ -198,64 +372,7 @@ msgid "" "Extract the contents of the produced EPUB file to the specified directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:43 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:477 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 -#: /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 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 -#: /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:196 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:65 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:67 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:100 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:102 -#: /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:793 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 -#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:342 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:828 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:650 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 -#: /home/kovid/work/calibre/src/calibre/library/database.py:920 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1564 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:477 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:489 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:817 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 -msgid "Unknown" -msgstr "Άγνωστο" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:154 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:156 msgid "" "%%prog [options] filename\n" "\n" @@ -263,11 +380,11 @@ msgid "" "formats are: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:100 msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:157 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:158 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -278,13 +395,13 @@ msgid "" "the element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:389 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:737 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:391 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:739 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:411 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1035 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:413 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1046 msgid "You must specify an input HTML file" msgstr "" @@ -303,87 +420,87 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:490 msgid "Written processed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:820 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:827 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:838 msgid "The output directory. Default is the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:829 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:840 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:842 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:833 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:844 msgid "Control the following of links in HTML files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:835 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:846 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:837 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:848 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:839 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:850 msgid "Set metadata of the generated ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:841 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:852 msgid "Set the title. Default is to autodetect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:843 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:854 msgid "The author(s) of the ebook, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:845 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:856 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:847 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:858 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:849 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:860 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:851 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:862 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:853 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:864 msgid "Options useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:866 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:857 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:868 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:863 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:874 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -405,7 +522,7 @@ msgid "%prog [options] LITFILE" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:852 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:444 msgid "Output directory. Defaults to current directory." msgstr "" @@ -414,20 +531,20 @@ msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:723 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:724 msgid "Useful for debugging." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:869 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:468 msgid "OEB ebook created in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:717 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:718 msgid "%prog [options] OPFFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:720 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:721 msgid "Output file. Default is derived from input filename." msgstr "" @@ -460,7 +577,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:275 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 msgid "Publisher" msgstr "Εκδότης" @@ -701,11 +818,11 @@ msgid "" "default is to try and guess the encoding." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:161 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:164 msgid "Converting from %s to LRF is not supported." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:171 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:175 msgid "" "any2lrf [options] myfile\n" "\n" @@ -716,118 +833,118 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:186 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:190 msgid "No file to convert specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:221 msgid "Rendered %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:223 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 msgid "Failed %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:275 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:276 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:283 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:289 msgid "Title for generated ebook. Default is to use the filename." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 msgid "" "Path to output file. By default a file is created in the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:296 msgid "Number of colors for grayscale image conversion. Default: %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:307 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:308 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:310 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:312 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:314 msgid "" "Choose a profile for the device you are generating this file for. The " "default is the SONY PRS-500 with a screen size of 584x754 pixels. This is " "suitable for any reader with the same screen size. Choices are %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:316 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " "greater verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:318 msgid "Don't show progress bar." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:322 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" "Convert a comic in a CBZ or CBR file to an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:382 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:383 msgid "Output written to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:423 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:426 msgid "Rendering comic pages..." msgstr "" @@ -868,95 +985,95 @@ msgstr "" msgid "Fetching of recipe failed: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 msgid "\tBook Designer file detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tParsing HTML..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:340 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:343 msgid "\tBaen file detected. Re-parsing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:356 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:359 msgid "Written preprocessed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:377 msgid "Processing %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:388 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:391 msgid "\tConverting to BBeB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:534 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:547 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:550 msgid "Could not parse file: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:542 msgid "%s is an empty file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:559 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:562 msgid "Failed to parse link %s %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:603 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:606 msgid "Cannot add link %s to TOC" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:958 msgid "Unable to process image %s. Error: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:996 msgid "Unable to process interlaced PNG %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1008 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1011 msgid "" "Could not process image: %s\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1765 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1767 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 msgid "" "Bad table:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1789 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 msgid "Table has cell that is too large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1819 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 msgid "Could not read cover image: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 msgid "Cannot read from: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "Failed to process opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2009 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1155,17 +1272,17 @@ msgstr "" #: /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:91 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:330 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:899 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:906 msgid "Author(s)" msgstr "" @@ -1184,24 +1301,24 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:391 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:527 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:838 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:845 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Series" @@ -1318,11 +1435,11 @@ msgstr "" msgid "Usage: rb-meta file.rb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:440 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:464 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 msgid "Raw MOBI HTML saved in" msgstr "" @@ -1330,84 +1447,84 @@ msgstr "" msgid "The output directory. Defaults to the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:26 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:424 msgid "Frequently used directories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:27 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:29 msgid "The format to use when saving single files to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:31 msgid "Confirm before deleting" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 msgid "Toolbar icon size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 msgid "Show button labels in the toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 msgid "Main window geometry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 msgid "Notify when a new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Use Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Sort tags list by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Number of covers to show in the cover browsing mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Options for the LRF ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 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:57 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Delete books from library after uploading to device" msgstr "" @@ -1446,8 +1563,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:282 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:840 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "" @@ -1456,7 +1573,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:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Formats" @@ -1471,6 +1588,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:53 msgid "TextLabel" @@ -1546,90 +1664,143 @@ msgstr "" msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 +msgid " plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:106 +msgid "by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "General" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 msgid "" "Content\n" "Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 +msgid "Plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:255 +msgid "No valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:256 +msgid "%s is not a valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +msgid "Choose plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:270 +msgid "Plugin cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:271 +msgid "The plugin: %s cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +msgid "Plugin not customizable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:282 +msgid "Plugin: %s does not need customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +msgid "Customize %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:295 +msgid "Cannot remove builtin plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:296 +msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:317 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:321 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:382 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:264 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:423 msgid "Invalid database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "
                        Must be a directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "Invalid database location " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 msgid "Invalid database location.
                        Cannot write to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting database. This may take a while." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:329 msgid "Configuration" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:409 msgid "" "&Location of ebooks (The ebooks are stored in folders sorted by author and " "metadata is stored in the file metadata.db)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:410 msgid "Browse for the new database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:358 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:374 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:386 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:426 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:373 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:509 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:282 @@ -1652,200 +1823,196 @@ msgstr "" msgid "..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:412 msgid "Show notification when &new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:360 -msgid "Ask for &confirmation before deleting files" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:413 msgid "" -"If you disable this setting, metadatas is guessed from the filename instead. " +"If you disable this setting, metadata is guessed from the filename instead. " "This can be configured in the Advanced section." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:414 msgid "Read &metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:415 msgid "Format for &single file save:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:416 msgid "Default network &timeout:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:417 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:418 msgid " seconds" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:419 msgid "Choose &language (requires restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:420 msgid "Normal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:421 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:422 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:423 msgid "Job &priority:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:425 msgid "Add a directory to the frequently used directories list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:427 msgid "Remove a directory from the frequently used directories list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:429 msgid "Use &Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:430 msgid "&Number of covers to show in browse mode (after restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:431 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 msgid "Large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Medium" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:435 msgid "&Button size in toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:436 msgid "Show &text in toolbar buttons" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:437 msgid "Select visible &columns in library view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:440 msgid "Use internal &viewer for the following formats:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:441 msgid "Enable system &tray icon (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:442 msgid "Automatically send downloaded &news to ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:443 msgid "&Delete news from library when it is sent to reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:444 msgid "Free unused diskspace from the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:445 msgid "&Compact database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:446 msgid "&Metadata from file name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:447 msgid "" "calibre contains a network server that allows you to access your book " "collection using a browser from anywhere in the world. Any changes to the " "settings will only take effect after a server restart." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:448 msgid "Server &port:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:146 msgid "&Username:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:147 msgid "&Password:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:451 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:452 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:148 msgid "&Show password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:453 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:454 msgid "Max. &cover size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:455 msgid "&Start Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:456 msgid "St&op Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:457 msgid "&Test Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:458 msgid "Run server &automatically on startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:459 msgid "View &server logs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 msgid "" "If you want to use the content server to access your ebook collection on " "your iphone with Stanza, you will need to add the URL " @@ -1854,6 +2021,44 @@ msgid "" "address of this computer." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 +msgid "" +"Here you can customize the behavior of Calibre by controlling what plugins " +"it uses." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:462 +msgid "Enable/&Disable plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 +msgid "&Customize plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:464 +msgid "&Remove plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:465 +msgid "Add new plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:466 +msgid "Plugin &file:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:468 +msgid "&Add" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +msgid "Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +msgid "&Show this warning again" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:41 msgid "ERROR" msgstr "" @@ -1871,7 +2076,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:296 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 msgid "Metadata" msgstr "" @@ -1925,25 +2130,25 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 msgid "Cannot read" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:52 msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 msgid "Error reading file" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:184 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:61 msgid "

                        There was an error reading from file:
                        " msgstr "" @@ -1953,7 +2158,7 @@ msgid " is not a valid picture" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "Cannot convert" msgstr "" @@ -2573,26 +2778,26 @@ msgstr "" msgid "A&utomatically set author sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:262 msgid "" "

                        Enter your username and password for LibraryThing.com.
                        If you " "do not have one, you can register " "for free!.

                        " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover.
                        " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "You must specify the ISBN identifier for this book." msgstr "" @@ -2698,9 +2903,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:335 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:761 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:765 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1064 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:752 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:756 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1055 msgid "News" msgstr "" @@ -3169,52 +3374,62 @@ msgstr "" msgid "Working" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:162 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:166 +#: /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 "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 msgid "Cannot kill jobs that communicate with the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:167 +#: /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:93 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:907 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:908 msgid "Date" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 msgid "Rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:274 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 msgid "None" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 msgid "Book %s of %s." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:675 +msgid "Not allowed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:676 +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:839 msgid "Format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:844 msgid "Timestamp" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:942 msgid "Search (For Advanced Search click the button to the left)" msgstr "" @@ -3243,7 +3458,7 @@ msgid "No matches for the search phrase %s were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:377 msgid "No matches found" msgstr "" @@ -3268,12 +3483,12 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 msgid "Back" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 msgid "Forward" msgstr "" @@ -3282,7 +3497,7 @@ msgid "Next match" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:162 msgid "Open ebook" msgstr "" @@ -3290,152 +3505,152 @@ msgstr "" msgid "Configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88 msgid "Error communicating with device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Donate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Quit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:104 msgid "&Restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:148 msgid "" "

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

                        " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Send to main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "Send to storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 msgid "Send to storage card by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 msgid "Edit metadata individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:187 msgid "Edit metadata in bulk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 msgid "Add books from a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:191 msgid "" -"Add books recursively (One book per directory, assumes every ebook file is " -"the same book in a different format)" +"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:190 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 msgid "" -"Add books recursively (Multiple books per directory, assumes every ebook " -"file is a different book)" +"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:205 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:342 msgid "Save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 msgid "Save to disk in a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Save only %s format to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:348 msgid "View" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:213 msgid "View specific format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:230 msgid "Convert individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 msgid "Bulk convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:233 msgid "Set defaults for conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:234 msgid "Set defaults for conversion of comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:255 msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 msgid "Bad database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1333 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1356 msgid "Choose a location for your ebook library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:315 msgid "Migrating database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:487 msgid "Device: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:488 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:510 msgid "Connected " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:521 msgid "Device database corrupted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:522 msgid "" "\n" "

                        The database of books on the reader is corrupted. Try the " @@ -3451,288 +3666,320 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:572 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:668 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +msgid "Stop" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:574 +msgid "Adding books recursively..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Added " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Searching..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:695 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:575 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:698 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:649 msgid "Uploading books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:633 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:634 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:635 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:636 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:620 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:637 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:638 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:639 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:640 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:641 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:642 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:661 +msgid "Reading metadata..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:659 +msgid "Adding books..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:685 +msgid "Read metadata from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:688 +msgid "Adding books to database..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:730 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:731 msgid "" "

                          Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:736 -msgid "Confirm delete" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:763 +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:737 -msgid "Are you sure you want to delete these %d books?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 msgid "Cannot edit metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "No books selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:848 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:871 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:923 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:926 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:927 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:920 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 msgid "Cannot save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:947 msgid "Choose destination directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:931 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:954 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:935 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:958 msgid "Could not save some ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:955 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:978 msgid "Fetching news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:992 msgid " fetched." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 msgid "No book selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 msgid "Cannot view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1134 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1112 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1157 msgid "Choose the format to view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1130 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1153 msgid "%s has no available formats." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure while there are running jobs." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1210 msgid "Copying database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212 msgid "Copying library to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1222 msgid "Invalid database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1223 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:1206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1229 msgid "Could not move database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1226 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1249 msgid "No detailed info available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1227 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1250 msgid "No detailed information is available for books on the device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1270 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1293 msgid "Error talking to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1294 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:1284 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1299 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1307 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1326 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 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:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1342 msgid "Database does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1320 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1343 msgid "" "The directory in which the database should be: %s no longer exists. Please " "choose a new database location." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1345 msgid "Choose new location for database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1375 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 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:1396 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1419 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1421 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:1402 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1425 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 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:1444 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1467 msgid "" "Latest version: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 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:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1464 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1487 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1489 msgid "Log debugging information to console" msgstr "" @@ -4036,7 +4283,7 @@ msgid "The standard font type" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:47 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 msgid "Table of Contents" msgstr "" @@ -4060,109 +4307,113 @@ msgstr "" msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:338 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:339 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:378 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:445 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:497 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "

                            This book is protected by DRM" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:507 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:508 msgid "%s

                            %s

                            " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:577 msgid "" "%prog [options] file\n" "\n" "View an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 msgid "Ebook Viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 msgid "toolBar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 msgid "Next page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 msgid "Previous page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 msgid "Font size larger" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 msgid "Font size smaller" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:163 msgid "Find next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:164 msgid "Copy to clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:165 msgid "Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:166 msgid "Reference Mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:167 msgid "Bookmark" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168 +msgid "Toggle full screen" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:47 msgid "Invalid regular expression" msgstr "" @@ -4459,20 +4710,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1146 msgid "

                            Copying books to %s

                            " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1157 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1266 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1159 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1268 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1237 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "

                            Migrating old database to ebook library in %s

                            " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1285 msgid "Compacting database" msgstr "" @@ -4495,47 +4746,47 @@ msgstr "" msgid "Job stopped by user" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:39 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:41 msgid "%sUsage%s: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:77 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:79 msgid "Created by " msgstr "Δημιουργήθηκε απο τον " -#: /home/kovid/work/calibre/src/calibre/utils/config.py:524 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:527 msgid "Path to the database in which books are stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:526 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:529 msgid "Pattern to guess metadata from filenames" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:528 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:531 msgid "Access key for isbndb.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:530 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:533 msgid "Default timeout for network operations (seconds)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:532 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:535 msgid "Path to directory in which your library of books is stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:534 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:537 msgid "The language in which to display the user interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:536 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:539 msgid "The default output format for ebook conversions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:538 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:541 msgid "Read metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:540 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:543 msgid "The priority of worker processes" msgstr "" diff --git a/src/calibre/translations/es.po b/src/calibre/translations/es.po index 48b9f2dc7c..d72efd46aa 100644 --- a/src/calibre/translations/es.po +++ b/src/calibre/translations/es.po @@ -10,24 +10,201 @@ msgid "" msgstr "" "Project-Id-Version: es\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-12-18 01:36+0000\n" -"PO-Revision-Date: 2008-11-15 16:21+0000\n" -"Last-Translator: Pablo Carmona A. \n" +"POT-Creation-Date: 2008-12-30 15:33+0000\n" +"PO-Revision-Date: 2008-12-28 11:11+0000\n" +"Last-Translator: Paco Molinero \n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-12-23 17:57+0000\n" +"X-Launchpad-Export-Date: 2009-01-04 04:32+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:137 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:155 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:193 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 +msgid "Does absolutely nothing" +msgstr "No hace nada en absoluto" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:478 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:961 +#: /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 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 +#: /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:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 +#: /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:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:78 +#: /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:793 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:835 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:915 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 +#: /home/kovid/work/calibre/src/calibre/library/database.py:920 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1580 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:461 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:808 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:841 +msgid "Unknown" +msgstr "Desconocido" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:62 +msgid "Base" +msgstr "Base" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 +msgid "File type" +msgstr "Tipo de archivo" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:182 +msgid "Metadata reader" +msgstr "Lector de metadatos" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:209 +msgid "Metadata writer" +msgstr "Escritor de metadados" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:12 +msgid "" +"Follow all local links in an HTML file and create a ZIP file containing all " +"linked files. This plugin is run every time you add an HTML file to the " +"library." +msgstr "" +"Seguir los enlaces de un archivo HTML y crear un archivo ZIP con los " +"archivos enlazados. Este complemento se ejecuta cada ver que se añade un " +"archivo HTML a la biblioteca" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:32 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:42 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:53 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:63 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:73 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:83 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:105 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:135 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:145 +msgid "Read metadata from %s files" +msgstr "Leer metadatos desde archivos %s" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:155 +msgid "Extract cover from comic files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:175 +msgid "Set metadata in EPUB files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:185 +msgid "Set metadata in LRF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:195 +msgid "Set metadata in RTF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:28 +msgid "Installed plugins" +msgstr "Complementos instalados" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:29 +msgid "Mapping for filetype plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 +msgid "Local plugin customization" +msgstr "Personalización del complemento local" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 +msgid "Disabled plugins" +msgstr "Complementos desactivados" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:66 +msgid "No valid plugin found in " +msgstr "No se ha encontrado ningún complemento válido en " + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:170 +msgid "Initialization of plugin %s failed with traceback:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:247 +msgid "" +" %prog options\n" +" \n" +" Customize calibre by loading external plugins.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:253 +msgid "Add a plugin by specifying the path to the zip file containing it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:255 +msgid "Remove a custom plugin by name. Has no effect on builtin plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:257 +msgid "" +"Customize plugin. Specify name of plugin and customization string separated " +"by a comma." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:259 +msgid "List all installed plugins" +msgstr "Lista de todos los complementos instalados" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:261 +msgid "Enable the named plugin" +msgstr "Activar el complemento nombrado" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:263 +msgid "Disable the named plugin" +msgstr "Desactivar el complemento nombrado" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:158 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:196 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:224 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "No se ha podido detectar la unidad de disco %s. Trate de reiniciar." -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:409 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:412 msgid "The reader has no storage card connected." msgstr "El lector no tiene ninguna tarjeta de almacenamiento conectada" @@ -208,64 +385,7 @@ msgid "" "Extract the contents of the produced EPUB file to the specified directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:43 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:477 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 -#: /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 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 -#: /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:196 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:65 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:67 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:100 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:102 -#: /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:793 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 -#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:342 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:828 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:650 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 -#: /home/kovid/work/calibre/src/calibre/library/database.py:920 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1564 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:477 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:489 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:817 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 -msgid "Unknown" -msgstr "Desconocido" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:154 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:156 msgid "" "%%prog [options] filename\n" "\n" @@ -273,11 +393,11 @@ msgid "" "formats are: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:100 msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:157 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:158 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -293,13 +413,13 @@ msgstr "" "enlaces se tomará del elemento\n" " en el archivo OPF \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:389 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:737 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:391 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:739 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:411 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1035 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:413 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1046 msgid "You must specify an input HTML file" msgstr "Debe especificar un archivo HTML de entrada." @@ -318,24 +438,24 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:490 msgid "Written processed HTML to " msgstr "Escribir el HTML procesado en " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:820 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:827 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:838 msgid "The output directory. Default is the current directory." msgstr "El directorio de Salida. Por defecto es el directorio actual." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:829 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:840 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" "Codificación de carácter para archivos HTML. Por defecto a auto detectar." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:842 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." @@ -343,17 +463,17 @@ msgstr "" "Crear la salida en un archivo zip. Si esta opción es especificada, el --" "output debería ser el nombre del archivo y no del directorio." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:833 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:844 msgid "Control the following of links in HTML files." msgstr "Control del seguimiento de enlaces en archivos HTML" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:835 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:846 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:837 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:848 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." @@ -362,49 +482,49 @@ msgstr "" "Debe ser un numero no-negativo. 0 implica que no se seguirá ningún enlace en " "el archivo HTML raiz." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:839 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:850 msgid "Set metadata of the generated ebook" msgstr "Establecer metadata del documento generado." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:841 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:852 msgid "Set the title. Default is to autodetect." msgstr "Establecer el titulo. Por defecto es autodetectado." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:843 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:854 msgid "The author(s) of the ebook, as a comma separated list." msgstr "El autor/es de este libro, mediante una lista separada por comas." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:845 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:856 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:847 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:858 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:849 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:860 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:851 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:862 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:853 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:864 msgid "Options useful for debugging" msgstr "Utiles opciones para depurar." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:866 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:857 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:868 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:863 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:874 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -426,7 +546,7 @@ msgid "%prog [options] LITFILE" msgstr "%prog [options] LITFILE" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:852 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:444 msgid "Output directory. Defaults to current directory." msgstr "Directorio de salida. Por defecto es el directorio actual" @@ -435,20 +555,20 @@ msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:723 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:724 msgid "Useful for debugging." msgstr "Útil para depuración." #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:869 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:468 msgid "OEB ebook created in" msgstr "Ebook OEB creado en" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:717 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:718 msgid "%prog [options] OPFFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:720 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:721 msgid "Output file. Default is derived from input filename." msgstr "" @@ -483,7 +603,7 @@ msgstr "Clave de orden para el autor" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:275 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 msgid "Publisher" msgstr "Editorial" @@ -790,11 +910,11 @@ msgstr "" "es cp-1252. Otra opción habitual es utf-8. La opción por defecto es intentar " "adivinar la codificación." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:161 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:164 msgid "Converting from %s to LRF is not supported." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:171 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:175 msgid "" "any2lrf [options] myfile\n" "\n" @@ -807,76 +927,76 @@ msgstr "" "any2lrf [optiones] miarchivo\n" " " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:186 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:190 msgid "No file to convert specified." msgstr "No se ha especificado ningun fichero para convertir" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:221 msgid "Rendered %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:223 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 msgid "Failed %s" msgstr "Fallido %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:275 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:276 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:283 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "" "Opciones a controlar la conversión de archivos cómicas(CBR, CBZ) en " "documentos." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:289 msgid "Title for generated ebook. Default is to use the filename." msgstr "" "Titulo para documento generado. Por defecto es a usar el nombre de archivo." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" "Establece el autor en el metadato del ebook generado. Por defecto es %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 msgid "" "Path to output file. By default a file is created in the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:296 msgid "Number of colors for grayscale image conversion. Default: %default" msgstr "" "Número de colores para conversión de imágenes a escala de grises. Por " "defecto es %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Deshabilitar normalizar(mejorar contraste) rango de color para imágenes. Por " "defecto: False" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" "Mantener relación de aspecto de la imagen. El valor por defecto es para " "rellenar la pantalla." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 msgid "Disable sharpening." msgstr "Deshabilitar afilar." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 msgid "Don't split landscape images into two portrait images" msgstr "No dividir imágenes apaisadas en dos imágenes verticales" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -884,7 +1004,7 @@ msgstr "" "Mantener la proporción en el tamaño de la imagen, usando la altura de la " "pantalla como ancho de imagen en el modo de visualización apaisado." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:307 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:308 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -892,13 +1012,13 @@ msgstr "" "Usado para publicaciones de derecha a izquierda como Mangas. Causa formatear " "paginas a ser divididas en paginas vertical de derecha a izquierda." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:310 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:312 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -906,14 +1026,14 @@ msgstr "" "No sortear los archivos encontrados en el comic por nombre alfabético. En " "vez usar el orden en el que fueron agregados al comic." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:314 msgid "" "Choose a profile for the device you are generating this file for. The " "default is the SONY PRS-500 with a screen size of 584x754 pixels. This is " "suitable for any reader with the same screen size. Choices are %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:316 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " "greater verbosity." @@ -921,22 +1041,22 @@ msgstr "" "Información y mensajes más descriptivos. Útil para depuración de errores. Se " "puede especificar varias veces para mayor descriptividad." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:318 msgid "Don't show progress bar." msgstr "No mostrar barra de progreso." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:322 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" "Convert a comic in a CBZ or CBR file to an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:382 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:383 msgid "Output written to" msgstr "Salida escrita a" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:423 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:426 msgid "Rendering comic pages..." msgstr "Interpretando paginas comic..." @@ -986,56 +1106,56 @@ msgstr "Opciones para controlar el comportamiento de html2rtf" msgid "Fetching of recipe failed: " msgstr "Obtención fallida de la receta: " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 msgid "\tBook Designer file detected." msgstr "\tBook Designer archivo detectado." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tParsing HTML..." msgstr "\tAnalizando HTML..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:340 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:343 msgid "\tBaen file detected. Re-parsing..." msgstr "\tBaen archivo detectado. Volver a analizar..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:356 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:359 msgid "Written preprocessed HTML to " msgstr "HTML preprocesado escrito en " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:377 msgid "Processing %s" msgstr "Procesando %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:388 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:391 msgid "\tConverting to BBeB..." msgstr "\tConversión a BBeB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:534 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:547 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:550 msgid "Could not parse file: %s" msgstr "No se pudo analizar el archivo: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:542 msgid "%s is an empty file" msgstr "%s es un archivo vacío" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:559 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:562 msgid "Failed to parse link %s %s" msgstr "No se pudo analizar el enlace %s %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:603 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:606 msgid "Cannot add link %s to TOC" msgstr "No se puedo añadir el enlac %s al TOC" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:958 msgid "Unable to process image %s. Error: %s" msgstr "Incapaz de procesar imagen %s. Error: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:996 msgid "Unable to process interlaced PNG %s" msgstr "Incapaz de procesar PNG entrelazado %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1008 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1011 msgid "" "Could not process image: %s\n" "%s" @@ -1043,14 +1163,14 @@ msgstr "" "No se puedo procesar imagen: %s\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1765 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "" "Ocurrió un error al procesar la tabla: %s. Se ignora la identificación de la " "tabla." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1767 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 msgid "" "Bad table:\n" "%s" @@ -1058,11 +1178,11 @@ msgstr "" "Tabla errónea:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1789 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 msgid "Table has cell that is too large" msgstr "La tabla contiene una celda demasiado larga" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1819 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." @@ -1070,19 +1190,19 @@ msgstr "" "Primero debe guardar la página web %s como un archivo html y después " "ejecutar html2rtf sobre él." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 msgid "Could not read cover image: %s" msgstr "No se puedo leer la imagen de portada: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 msgid "Cannot read from: %s" msgstr "No se puedo leer de: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "Failed to process opf file" msgstr "Incapaz de procesar el archivo opf" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2009 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1323,23 +1443,23 @@ msgstr "Vea el comentario" #: /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:91 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 msgid "Title" msgstr "Título" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:330 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:899 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:906 msgid "Author(s)" msgstr "Autor(es)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:276 msgid "Producer" -msgstr "" +msgstr "Producido por" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:277 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:504 @@ -1352,24 +1472,24 @@ msgstr "Categoría" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:391 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:527 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "Comentarios" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:838 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:845 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Tags" msgstr "Etiquetas" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Series" @@ -1377,7 +1497,7 @@ msgstr "Series" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:282 msgid "Language" -msgstr "" +msgstr "Idioma" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:199 msgid "A comma separated list of tags to set" @@ -1501,11 +1621,11 @@ msgstr "Uso: pdf-meta archivo.pdf" msgid "Usage: rb-meta file.rb" msgstr "Uso: rb-meta file.rb" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:440 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 msgid "%prog [options] myebook.mobi" msgstr "%prog [opciones] miebook.mobi" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:464 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 msgid "Raw MOBI HTML saved in" msgstr "HTML MOBI en bruto guardado en" @@ -1513,85 +1633,85 @@ msgstr "HTML MOBI en bruto guardado en" msgid "The output directory. Defaults to the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:26 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:424 msgid "Frequently used directories" msgstr "Directorios usados con frecuencia" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:27 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:29 msgid "The format to use when saving single files to disk" msgstr "El formato a usar al guardar archivos al disco" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:31 msgid "Confirm before deleting" msgstr "Confirmar antes de borrar" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 msgid "Toolbar icon size" msgstr "Tamaño de iconos de barra de herramientas" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 msgid "Show button labels in the toolbar" msgstr "Mostrar etiquetas de botones en la barra de herramientas" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 msgid "Main window geometry" msgstr "Ventana principal geometrica" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 msgid "Notify when a new version is available" msgstr "Notificar cuando una versión esta disponible" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Use Roman numerals for series number" msgstr "Usar numeros Romanos para numero de series" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Sort tags list by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Number of covers to show in the cover browsing mode" msgstr "" "Numero de portadas de libros a mostrar en el modo de navegación de portadas." -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" msgstr "Opciones por defecto para conversión a LRF" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Options for the LRF ebook viewer" msgstr "Opciones para el visor de documento LRF" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 msgid "Show system tray icon" -msgstr "" +msgstr "Mostrar el icono en la bandeja del sistema" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Delete books from library after uploading to device" msgstr "" @@ -1630,8 +1750,8 @@ msgstr "Ver libro en dispositvo" #: /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:282 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:840 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "Ruta" @@ -1640,7 +1760,7 @@ msgstr "Ruta" #: /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:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Formats" @@ -1655,6 +1775,7 @@ msgstr "Diálogo" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:53 msgid "TextLabel" @@ -1662,11 +1783,11 @@ msgstr "TextLabel" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:65 msgid "&Previous" -msgstr "" +msgstr "&Anterior" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:66 msgid "&Next" -msgstr "" +msgstr "Siguie&nte" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:40 msgid "Choose Format" @@ -1730,76 +1851,128 @@ msgstr "" msgid "&Wide" msgstr "&Ancho" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 +msgid " plugins" +msgstr " complementos" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:106 +msgid "by" +msgstr "por" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Advanced" msgstr "Avanzada" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "General" -msgstr "" +msgstr "General" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Interface" -msgstr "" +msgstr "Interfaz:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 msgid "" "Content\n" "Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 +msgid "Plugins" +msgstr "Complementos" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:255 +msgid "No valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:256 +msgid "%s is not a valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +msgid "Choose plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:270 +msgid "Plugin cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:271 +msgid "The plugin: %s cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +msgid "Plugin not customizable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:282 +msgid "Plugin: %s does not need customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +msgid "Customize %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:295 +msgid "Cannot remove builtin plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:296 +msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:317 msgid "Error log:" -msgstr "" +msgstr "Registro de errores:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:321 msgid "Access log:" -msgstr "" +msgstr "Registro de accesos:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:382 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "Invalid size" -msgstr "" +msgstr "Tamaño no válido" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:264 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:423 msgid "Invalid database location" msgstr "Ubicación no válida" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "
                            Must be a directory." msgstr "
                            Debe ser un directorio." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "Invalid database location " msgstr "Ubicación no válida " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 msgid "Invalid database location.
                            Cannot write to " msgstr "Ubicación no válida.
                            Imposible escribir en " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting database. This may take a while." msgstr "Compactando base de datos. Esto podría durar un rato" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting..." msgstr "Compactando..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:329 msgid "Configuration" msgstr "Configuración" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:409 msgid "" "&Location of ebooks (The ebooks are stored in folders sorted by author and " "metadata is stored in the file metadata.db)" @@ -1807,15 +1980,16 @@ msgstr "" "Emplazamiento de los ebooks (Los ebooks son almacenados en carpetas " "ordenadas por autor, los metadatos se almacenan en el archivo metadata.db)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:410 msgid "Browse for the new database location" msgstr "Navegar a la nueva ubicación de la base de datos" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:358 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:374 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:386 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:426 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:373 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:509 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:282 @@ -1838,33 +2012,29 @@ msgstr "Navegar a la nueva ubicación de la base de datos" msgid "..." msgstr "..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:412 msgid "Show notification when &new version is available" msgstr "Mostrar aviso cuando una &nueva versión esté disponible" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:360 -msgid "Ask for &confirmation before deleting files" -msgstr "Solicitar &confirmación antes de eliminar archivos" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:413 msgid "" -"If you disable this setting, metadatas is guessed from the filename instead. " +"If you disable this setting, metadata is guessed from the filename instead. " "This can be configured in the Advanced section." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:414 msgid "Read &metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:415 msgid "Format for &single file save:" msgstr "Formato al guardar un &único archivo:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:416 msgid "Default network &timeout:" msgstr "&timeout por defecto de la red:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:417 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" @@ -1872,168 +2042,168 @@ msgstr "" "Establecer el tiempo de espera maximo para peticiones de red (cuando " "conectamos a internet para adquirir alguna información)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:418 msgid " seconds" msgstr " segundos" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:419 msgid "Choose &language (requires restart):" msgstr "Seleccionar idioma (requiere reiniciar el programa)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:420 msgid "Normal" -msgstr "" +msgstr "Normal" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:421 msgid "High" -msgstr "" +msgstr "Alta" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:422 msgid "Low" -msgstr "" +msgstr "Baja" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:423 msgid "Job &priority:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:425 msgid "Add a directory to the frequently used directories list" msgstr "Añadir directorio a la lista de directorios frecuentes" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:427 msgid "Remove a directory from the frequently used directories list" msgstr "Eliminar directorio a la lista de directorios frecuentes" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:429 msgid "Use &Roman numerals for series number" msgstr "Uso de numerales &romanos para números de serie" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:430 msgid "&Number of covers to show in browse mode (after restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:431 msgid "Toolbar" msgstr "Barra de herramientas" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 msgid "Large" msgstr "Grande" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Medium" msgstr "Medio" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 msgid "Small" msgstr "Pequeño" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:435 msgid "&Button size in toolbar" msgstr "Tamaño de &botón en la barra de herramientas" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:436 msgid "Show &text in toolbar buttons" msgstr "Mostrar &texto en los botones de la barra de herramientas" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:437 msgid "Select visible &columns in library view" msgstr "Seleccione las &columnas visibles en la vista de biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:440 msgid "Use internal &viewer for the following formats:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:441 msgid "Enable system &tray icon (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:442 msgid "Automatically send downloaded &news to ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:443 msgid "&Delete news from library when it is sent to reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:444 msgid "Free unused diskspace from the database" msgstr "Espacio de disco disponible de la base de datos" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:445 msgid "&Compact database" msgstr "&Compactar base de datos" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:446 msgid "&Metadata from file name" msgstr "&Metadatos a partir del nombre de archivo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:447 msgid "" "calibre contains a network server that allows you to access your book " "collection using a browser from anywhere in the world. Any changes to the " "settings will only take effect after a server restart." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:448 msgid "Server &port:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:146 msgid "&Username:" msgstr "&Usuario:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:147 msgid "&Password:" msgstr "&Contraseña:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:451 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:452 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:148 msgid "&Show password" msgstr "&Mostrar clave" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:453 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:454 msgid "Max. &cover size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:455 msgid "&Start Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:456 msgid "St&op Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:457 msgid "&Test Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:458 msgid "Run server &automatically on startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:459 msgid "View &server logs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 msgid "" "If you want to use the content server to access your ebook collection on " "your iphone with Stanza, you will need to add the URL " @@ -2042,6 +2212,44 @@ msgid "" "address of this computer." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 +msgid "" +"Here you can customize the behavior of Calibre by controlling what plugins " +"it uses." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:462 +msgid "Enable/&Disable plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 +msgid "&Customize plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:464 +msgid "&Remove plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:465 +msgid "Add new plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:466 +msgid "Plugin &file:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:468 +msgid "&Add" +msgstr "&Añadir" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +msgid "Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +msgid "&Show this warning again" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:41 msgid "ERROR" msgstr "ERROR" @@ -2059,7 +2267,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:296 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 msgid "Metadata" msgstr "Metadatos" @@ -2113,25 +2321,25 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 msgid "Cannot read" msgstr "No se puede leer" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:52 msgid "You do not have permission to read the file: " msgstr "No tienes permiso de lectura en el archivo: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 msgid "Error reading file" msgstr "Error leyendo archivo" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:184 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:61 msgid "

                            There was an error reading from file:
                            " msgstr "

                            Hubo un error leyendo el archivo:
                            " @@ -2141,7 +2349,7 @@ msgid " is not a valid picture" msgstr " no es una imagen válida" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "Cannot convert" msgstr "No se puede convertir" @@ -2780,7 +2988,7 @@ msgstr "" msgid "A&utomatically set author sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:262 msgid "" "

                            Enter your username and password for LibraryThing.com.
                            If you " "do not have one, you can register " @@ -2790,19 +2998,19 @@ msgstr "" "LibraryThing.com.
                            Si no dispone de una cuenta, puede regisrarse de manera gratuita.

                            " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover.
                            " msgstr "No se puede descargar la portada.
                            " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover" msgstr "No se puede descargar la portada." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "Cannot fetch cover" msgstr "No se puede descargar la portada" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "You must specify the ISBN identifier for this book." msgstr "Especifique primero un ISBN válido para el libro." @@ -2911,9 +3119,9 @@ msgstr "Añadir nueva fuente de noticias" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:335 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:761 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:765 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1064 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:752 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:756 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1055 msgid "News" msgstr "" @@ -3404,52 +3612,62 @@ msgstr "En espera..." msgid "Working" msgstr "Procesando..." -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:162 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:166 +#: /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 "No se puede detener este trabajo" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 msgid "Cannot kill jobs that communicate with the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:167 +#: /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:93 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:907 msgid "Size (MB)" msgstr "Tamaño (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:908 msgid "Date" msgstr "Fecha" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 msgid "Rating" msgstr "Valoración" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:274 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 msgid "None" msgstr "Ninguno" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 msgid "Book %s of %s." msgstr "Libro %s de %s." -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:675 +msgid "Not allowed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:676 +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:839 msgid "Format" msgstr "Formato" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:844 msgid "Timestamp" msgstr "Marca de tiempo" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:942 msgid "Search (For Advanced Search click the button to the left)" msgstr "" "Búsqueda (Para Busqueda Avanzada, haga click en el boton de la izquierda)" @@ -3479,7 +3697,7 @@ msgid "No matches for the search phrase %s were found." msgstr "No se han encontrado coincidencias para \"%s\"." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:377 msgid "No matches found" msgstr "No se han encontrado coincidencias" @@ -3504,12 +3722,12 @@ msgid "Previous Page" msgstr "Página anterior" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 msgid "Back" msgstr "Atrás" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 msgid "Forward" msgstr "Siguiente" @@ -3518,7 +3736,7 @@ msgid "Next match" msgstr "Siguiente coincidencia" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:162 msgid "Open ebook" msgstr "Abrir eBook" @@ -3526,27 +3744,27 @@ msgstr "Abrir eBook" msgid "Configure" msgstr "Configurar" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88 msgid "Error communicating with device" msgstr "Error en la comunicación con el dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Donate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Quit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:104 msgid "&Restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:148 msgid "" "

                            For help visit %s.kovidgoyal.net
                            " @@ -3554,130 +3772,126 @@ msgstr "" "

                            Para mas ayuda, visite %s.kovidgoyal.net
                            " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:149 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:165 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Send to main memory" msgstr "Enviar a la memoria interna" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "Send to storage card" msgstr "Enviar a la tarjeta de memoria" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "and delete from library" msgstr "y borrar de la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 msgid "Send to storage card by default" msgstr "enviar a la tarjeta de almacenamiento por defecto" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 msgid "Edit metadata individually" msgstr "Editar metadatos individualmente" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:187 msgid "Edit metadata in bulk" msgstr "Edita metadatos en bloque" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 msgid "Add books from a single directory" msgstr "añadir libros desde un único directorio" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:191 msgid "" -"Add books recursively (One book per directory, assumes every ebook file is " -"the same book in a different format)" +"Add books from directories, including sub-directories (One book per " +"directory, assumes every ebook file is the same book in a different format)" msgstr "" -"Añadir libros de manera recursiva (un libro por directorio, asumiendo que " -"cada archivo del directorio es el mismo libro en diferente formato)" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 msgid "" -"Add books recursively (Multiple books per directory, assumes every ebook " -"file is a different book)" +"Add books from directories, including sub directories (Multiple books per " +"directory, assumes every ebook file is a different book)" msgstr "" -"Añadir libros de manera recursiva (Multiples libros por directorio, " -"asumiendo que cada archivo es un libro diferente)" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:342 msgid "Save to disk" msgstr "Guardar en el disco" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 msgid "Save to disk in a single directory" msgstr "Guardar en el disco, en un único directorio" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Save only %s format to disk" msgstr "Guardar solamente el formato %s en disco" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:348 msgid "View" msgstr "Mostrar" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:213 msgid "View specific format" msgstr "Ver formato específico" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:230 msgid "Convert individually" msgstr "Convertir individualmente" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 msgid "Bulk convert" msgstr "Convertir en bloque" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:233 msgid "Set defaults for conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:234 msgid "Set defaults for conversion of comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:255 msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 msgid "Bad database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1333 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1356 msgid "Choose a location for your ebook library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:315 msgid "Migrating database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:487 msgid "Device: " msgstr "Dispositivo: " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:488 msgid " detected." msgstr " detectado." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:510 msgid "Connected " msgstr "Conectado " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:521 msgid "Device database corrupted" msgstr "Base de datos del dispositivo corrupta" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:522 msgid "" "\n" "

                            The database of books on the reader is corrupted. Try the " @@ -3707,8 +3921,25 @@ msgstr "" " \n" " " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:572 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:668 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +msgid "Stop" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:574 +msgid "Adding books recursively..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Added " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Searching..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:695 msgid "" "

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

                              " @@ -3716,103 +3947,118 @@ msgstr "" "

                              Ya existen libros con el mismo título en la base de datos. ¿Añadirlo de " "todas formas?

                                " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:575 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:698 msgid "Duplicates found!" msgstr "¡Duplicados encontrados!" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:649 msgid "Uploading books to device." msgstr "Enviando libros al dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:633 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:634 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:635 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:636 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:620 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:637 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:638 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:639 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:640 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:641 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:642 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:661 +msgid "Reading metadata..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:659 +msgid "Adding books..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:685 +msgid "Read metadata from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:688 +msgid "Adding books to database..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:730 msgid "No space on device" msgstr "No hay espacio en el dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:731 msgid "" "

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

                                No se pueden guardar los libros porque no hay espacio en el dispositivo " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:736 -msgid "Confirm delete" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:763 +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:737 -msgid "Are you sure you want to delete these %d books?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 msgid "Deleting books from device." msgstr "Eliminando libros del dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 msgid "Cannot edit metadata" msgstr "No se pueden editar los metadatos" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "No books selected" msgstr "No hay libros seleccionados" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:848 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:871 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:923 msgid "Sending books to device." msgstr "Enviando libros al dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:926 msgid "No suitable formats" msgstr "No hay formatos adecuados" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:927 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found:

                                  %s
                                " @@ -3820,15 +4066,15 @@ msgstr "" "No se pudieron enviar los siguientes libros al dispositivo, ya que no se " "hallaron formatos adecuados:
                                  %s
                                " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 msgid "Cannot save to disk" msgstr "No se puede guardar en disco" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:947 msgid "Choose destination directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:931 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:954 msgid "" "

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

                                  " @@ -3836,64 +4082,64 @@ msgstr "" "

                                  No se pudieron guardar los siguientes libros en disco, porque el formato " "%s no está disponible para ellos:

                                    " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:958 msgid "Could not save some ebooks" msgstr "No se pudieron guardar algunos ebooks" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:955 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:978 msgid "Fetching news from " msgstr "Buscando noticias de " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:992 msgid " fetched." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 msgid "No book selected" msgstr "Seleccione un libro" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 msgid "Cannot view" msgstr "No se puede visualizar" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1134 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1112 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1157 msgid "Choose the format to view" msgstr "Elija el formato para visualizar" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1130 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1153 msgid "%s has no available formats." msgstr "%s no tiene formatos disponibles" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure" msgstr "No se puede configurar" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure while there are running jobs." msgstr "No se puede configurar con trabajos en proceso." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1210 msgid "Copying database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212 msgid "Copying library to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1222 msgid "Invalid database" msgstr "Base de datos no valida" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1223 msgid "" "

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

                                    Ya existe una base de datos no valida en %s, bórrela antes de intentar " "mover la base de datos existente.
                                    Error: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1229 msgid "Could not move database" msgstr "No se puede mover la base de datos" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1226 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1249 msgid "No detailed info available" msgstr "No hay información detallada disponible" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1227 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1250 msgid "No detailed information is available for books on the device." msgstr "" "No hay información detallada disponible para los libros en el dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1270 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1293 msgid "Error talking to device" msgstr "Error de comunicación con el dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1294 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -3926,23 +4172,23 @@ msgstr "" "Hubo un error de comunicación con el dispositivo. Desconecte, vuelva a " "conectar el dispositivo y reinicie la aplicación." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1284 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1299 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1307 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1326 msgid "Conversion Error" msgstr "Error de conversión" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 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:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1342 msgid "Database does not exist" msgstr "No existe la base de datos" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1320 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1343 msgid "" "The directory in which the database should be: %s no longer exists. Please " "choose a new database location." @@ -3950,38 +4196,38 @@ msgstr "" "El directorio en el que se debería encontrar la base de datos, %s ya no " "existe. Por favor seleccióne una nueva ruta para la base de datos." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1345 msgid "Choose new location for database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1375 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 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:1396 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1419 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1421 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:1402 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1425 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 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:1444 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1467 msgid "" "Latest version: %s" @@ -3989,7 +4235,7 @@ msgstr "" "Última versión: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "" "%s has been updated to version %s. See the new features. " @@ -3999,15 +4245,15 @@ msgstr "" "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">nuevas " "características. Visita la página de descarga?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "Update available" msgstr "Actualización disponible" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1464 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1487 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1489 msgid "Log debugging information to console" msgstr "" @@ -4320,7 +4566,7 @@ msgid "The standard font type" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:47 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 msgid "Table of Contents" msgstr "" @@ -4344,109 +4590,113 @@ msgstr "" msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:338 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:339 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:378 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:445 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:497 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "

                                    This book is protected by DRM" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:507 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:508 msgid "%s

                                    %s

                                    " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:577 msgid "" "%prog [options] file\n" "\n" "View an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 msgid "Ebook Viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 msgid "toolBar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 msgid "Next page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 msgid "Previous page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 msgid "Font size larger" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 msgid "Font size smaller" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:163 msgid "Find next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:164 msgid "Copy to clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:165 msgid "Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:166 msgid "Reference Mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:167 msgid "Bookmark" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168 +msgid "Toggle full screen" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:47 msgid "Invalid regular expression" msgstr "Expresión regular no válida" @@ -4779,20 +5029,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1146 msgid "

                                    Copying books to %s

                                    " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1157 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1266 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1159 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1268 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1237 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "

                                    Migrating old database to ebook library in %s

                                    " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1285 msgid "Compacting database" msgstr "" @@ -4815,47 +5065,47 @@ msgstr "No se ha podido abrir el proceso trabajador." msgid "Job stopped by user" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:39 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:41 msgid "%sUsage%s: %s\n" msgstr "%sUso%s: %s\n" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:77 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:79 msgid "Created by " msgstr "Creado por " -#: /home/kovid/work/calibre/src/calibre/utils/config.py:524 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:527 msgid "Path to the database in which books are stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:526 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:529 msgid "Pattern to guess metadata from filenames" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:528 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:531 msgid "Access key for isbndb.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:530 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:533 msgid "Default timeout for network operations (seconds)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:532 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:535 msgid "Path to directory in which your library of books is stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:534 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:537 msgid "The language in which to display the user interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:536 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:539 msgid "The default output format for ebook conversions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:538 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:541 msgid "Read metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:540 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:543 msgid "The priority of worker processes" msgstr "" @@ -5337,6 +5587,20 @@ msgstr "Mostrar información de salida detallada. Útil para depuración" #~ msgid "Changes will only take affect after a restart." #~ msgstr "Los cambios no se aplicaran hasta reiniciar." +#~ msgid "" +#~ "Add books recursively (One book per directory, assumes every ebook file is " +#~ "the same book in a different format)" +#~ msgstr "" +#~ "Añadir libros de manera recursiva (un libro por directorio, asumiendo que " +#~ "cada archivo del directorio es el mismo libro en diferente formato)" + +#~ msgid "" +#~ "Add books recursively (Multiple books per directory, assumes every ebook " +#~ "file is a different book)" +#~ msgstr "" +#~ "Añadir libros de manera recursiva (Multiples libros por directorio, " +#~ "asumiendo que cada archivo es un libro diferente)" + #~ msgid "News fetched. Uploading to device." #~ msgstr "Noticias adquiridas. Enviando al dispositivo." @@ -5625,6 +5889,9 @@ msgstr "Mostrar información de salida detallada. Útil para depuración" #~ "SONY PRS-500 con un tamaño de pantalla de 584x754 píxeles. Las opciones son " #~ "%s" +#~ msgid "Ask for &confirmation before deleting files" +#~ msgstr "Solicitar &confirmación antes de eliminar archivos" + #~ msgid "Send downloaded periodical content to device automatically" #~ msgstr "" #~ "Enviar contenido descargado periodicamente al dispositivo automaticamente" diff --git a/src/calibre/translations/fr.po b/src/calibre/translations/fr.po index f30809d74a..f60b721485 100644 --- a/src/calibre/translations/fr.po +++ b/src/calibre/translations/fr.po @@ -6,25 +6,201 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.22\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-12-18 01:36+0000\n" -"PO-Revision-Date: 2008-08-28 13:18+0000\n" -"Last-Translator: Anthony Guéchoum \n" +"POT-Creation-Date: 2008-12-30 15:33+0000\n" +"PO-Revision-Date: 2008-12-31 14:45+0000\n" +"Last-Translator: Arnaud Bonatti \n" "Language-Team: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-12-23 17:57+0000\n" +"X-Launchpad-Export-Date: 2009-01-04 04:32+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:137 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:155 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:193 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 +msgid "Does absolutely nothing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:478 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:961 +#: /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 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 +#: /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:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 +#: /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:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:78 +#: /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:793 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:835 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:915 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 +#: /home/kovid/work/calibre/src/calibre/library/database.py:920 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1580 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:461 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:808 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:841 +msgid "Unknown" +msgstr "Inconnu" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:62 +msgid "Base" +msgstr "Base" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 +msgid "File type" +msgstr "Type de fichier" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:182 +msgid "Metadata reader" +msgstr "Lecteur de métadonnées" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:209 +msgid "Metadata writer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:12 +msgid "" +"Follow all local links in an HTML file and create a ZIP file containing all " +"linked files. This plugin is run every time you add an HTML file to the " +"library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:32 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:42 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:53 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:63 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:73 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:83 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:105 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:135 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:145 +msgid "Read metadata from %s files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:155 +msgid "Extract cover from comic files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:175 +msgid "Set metadata in EPUB files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:185 +msgid "Set metadata in LRF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:195 +msgid "Set metadata in RTF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:28 +msgid "Installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:29 +msgid "Mapping for filetype plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 +msgid "Local plugin customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 +msgid "Disabled plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:66 +msgid "No valid plugin found in " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:170 +msgid "Initialization of plugin %s failed with traceback:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:247 +msgid "" +" %prog options\n" +" \n" +" Customize calibre by loading external plugins.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:253 +msgid "Add a plugin by specifying the path to the zip file containing it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:255 +msgid "Remove a custom plugin by name. Has no effect on builtin plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:257 +msgid "" +"Customize plugin. Specify name of plugin and customization string separated " +"by a comma." +msgstr "" +"Configure le greffon. Spécifiez le nom du greffon et les arguments, séparés " +"par des virgules." + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:259 +msgid "List all installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:261 +msgid "Enable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:263 +msgid "Disable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:158 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:196 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:224 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:409 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:412 msgid "The reader has no storage card connected." msgstr "Le lecteur n'a pas de carte de stockage connectée." @@ -198,64 +374,7 @@ msgid "" "Extract the contents of the produced EPUB file to the specified directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:43 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:477 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 -#: /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 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 -#: /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:196 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:65 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:67 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:100 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:102 -#: /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:793 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 -#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:342 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:828 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:650 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 -#: /home/kovid/work/calibre/src/calibre/library/database.py:920 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1564 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:477 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:489 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:817 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 -msgid "Unknown" -msgstr "Inconnu" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:154 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:156 msgid "" "%%prog [options] filename\n" "\n" @@ -263,11 +382,11 @@ msgid "" "formats are: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:100 msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:157 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:158 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -278,13 +397,13 @@ msgid "" "the element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:389 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:737 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:391 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:739 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:411 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1035 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:413 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1046 msgid "You must specify an input HTML file" msgstr "" @@ -303,87 +422,87 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:490 msgid "Written processed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:820 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:827 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:838 msgid "The output directory. Default is the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:829 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:840 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:842 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:833 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:844 msgid "Control the following of links in HTML files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:835 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:846 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:837 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:848 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:839 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:850 msgid "Set metadata of the generated ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:841 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:852 msgid "Set the title. Default is to autodetect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:843 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:854 msgid "The author(s) of the ebook, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:845 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:856 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:847 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:858 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:849 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:860 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:851 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:862 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:853 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:864 msgid "Options useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:866 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:857 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:868 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:863 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:874 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -405,7 +524,7 @@ msgid "%prog [options] LITFILE" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:852 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:444 msgid "Output directory. Defaults to current directory." msgstr "" @@ -414,20 +533,20 @@ msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:723 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:724 msgid "Useful for debugging." msgstr "Utile pour déboguer" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:869 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:468 msgid "OEB ebook created in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:717 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:718 msgid "%prog [options] OPFFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:720 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:721 msgid "Output file. Default is derived from input filename." msgstr "" @@ -462,7 +581,7 @@ msgstr "Clé de tri pour l'auteur" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:275 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 msgid "Publisher" msgstr "Éditeur" @@ -764,11 +883,11 @@ msgstr "" "Windows est le cp-1252. Cela peut aussi être l'utf-8. Le mieux est d'essayer " "et deviner quel est l'encodage approprié." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:161 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:164 msgid "Converting from %s to LRF is not supported." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:171 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:175 msgid "" "any2lrf [options] myfile\n" "\n" @@ -785,122 +904,122 @@ msgstr "" "RAR ou ZIP, en recherchant les ebooks à l'intérieur de l'archive.\n" " " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:186 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:190 msgid "No file to convert specified." msgstr "Aucun fichier sélectionné à convertir." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:221 msgid "Rendered %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:223 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 msgid "Failed %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:275 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:276 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:283 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:289 msgid "Title for generated ebook. Default is to use the filename." msgstr "" "Titre pour le livre électronique créé. Par défaut le nom de fichier sera " "utilisé." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 msgid "" "Path to output file. By default a file is created in the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:296 msgid "Number of colors for grayscale image conversion. Default: %default" msgstr "" "Nombre de teintes pour la conversion de l'image en échelle de gris. Défaut: " "%default" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:307 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:308 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:310 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:312 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:314 msgid "" "Choose a profile for the device you are generating this file for. The " "default is the SONY PRS-500 with a screen size of 584x754 pixels. This is " "suitable for any reader with the same screen size. Choices are %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:316 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " "greater verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:318 msgid "Don't show progress bar." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:322 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" "Convert a comic in a CBZ or CBR file to an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:382 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:383 msgid "Output written to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:423 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:426 msgid "Rendering comic pages..." msgstr "" @@ -949,56 +1068,56 @@ msgstr "Options pour contrôler le comportement de html2lrf" msgid "Fetching of recipe failed: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 msgid "\tBook Designer file detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tParsing HTML..." msgstr "\tAnalyse de l'HTML..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:340 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:343 msgid "\tBaen file detected. Re-parsing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:356 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:359 msgid "Written preprocessed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:377 msgid "Processing %s" msgstr "Traitement de %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:388 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:391 msgid "\tConverting to BBeB..." msgstr "\tConversion en BBeB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:534 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:547 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:550 msgid "Could not parse file: %s" msgstr "Ne peut analyser le fichier: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:542 msgid "%s is an empty file" msgstr "%s est un fichier vide" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:559 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:562 msgid "Failed to parse link %s %s" msgstr "Érreur d'analyse du lien %s %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:603 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:606 msgid "Cannot add link %s to TOC" msgstr "Ne peut ajouter le lien %s au TOC" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:958 msgid "Unable to process image %s. Error: %s" msgstr "Incapable de traiter l'image %s. Erreur: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:996 msgid "Unable to process interlaced PNG %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1008 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1011 msgid "" "Could not process image: %s\n" "%s" @@ -1006,12 +1125,12 @@ msgstr "" "Ne peut traiter l'image: %s\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1765 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1767 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 msgid "" "Bad table:\n" "%s" @@ -1019,11 +1138,11 @@ msgstr "" "Mauvaise table:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1789 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 msgid "Table has cell that is too large" msgstr "La table a une cellule trop grande" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1819 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." @@ -1031,19 +1150,19 @@ msgstr "" "Vous devez tout d'abord sauvegarder le site web %s en fichier html, puis le " "lancer avec html2lrf." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 msgid "Could not read cover image: %s" msgstr "Ne peut lire l'image de couverture: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 msgid "Cannot read from: %s" msgstr "Ne peut lire depuis: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "Failed to process opf file" msgstr "Tentative de traitement du fichier opf échouée" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2009 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1281,17 +1400,17 @@ msgstr "Configurer les commentaires." #: /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:91 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 msgid "Title" msgstr "Titre" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:330 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:899 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:906 msgid "Author(s)" msgstr "Auteur(s)" @@ -1310,24 +1429,24 @@ msgstr "Catégorie" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:391 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:527 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "Commentaires" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:838 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:845 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Tags" msgstr "Tags" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Series" @@ -1462,11 +1581,11 @@ msgstr "Usage: pdf-meta file.pdf" msgid "Usage: rb-meta file.rb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:440 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 msgid "%prog [options] myebook.mobi" msgstr "%prog [options] myebook.mobi" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:464 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 msgid "Raw MOBI HTML saved in" msgstr "" @@ -1474,84 +1593,84 @@ msgstr "" msgid "The output directory. Defaults to the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:26 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:424 msgid "Frequently used directories" msgstr "Répertoires utilisés fréquemment" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:27 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:29 msgid "The format to use when saving single files to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:31 msgid "Confirm before deleting" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 msgid "Toolbar icon size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 msgid "Show button labels in the toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 msgid "Main window geometry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 msgid "Notify when a new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Use Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Sort tags list by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Number of covers to show in the cover browsing mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Options for the LRF ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 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:57 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Delete books from library after uploading to device" msgstr "" @@ -1590,8 +1709,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:282 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:840 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "Chemin" @@ -1600,7 +1719,7 @@ msgstr "Chemin" #: /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:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Formats" @@ -1615,6 +1734,7 @@ msgstr "Boîte de dialogue" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:53 msgid "TextLabel" @@ -1690,90 +1810,143 @@ msgstr "" msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 +msgid " plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:106 +msgid "by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Advanced" msgstr "Mode avancé" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "General" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 msgid "" "Content\n" "Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 +msgid "Plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:255 +msgid "No valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:256 +msgid "%s is not a valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +msgid "Choose plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:270 +msgid "Plugin cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:271 +msgid "The plugin: %s cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +msgid "Plugin not customizable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:282 +msgid "Plugin: %s does not need customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +msgid "Customize %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:295 +msgid "Cannot remove builtin plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:296 +msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:317 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:321 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:382 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:264 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:423 msgid "Invalid database location" msgstr "Chemin de la database invalide" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "
                                    Must be a directory." msgstr "
                                    Doit être un répertoire." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "Invalid database location " msgstr "Chemin de la database invalide " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 msgid "Invalid database location.
                                    Cannot write to " msgstr "Chemin de la database invalide.
                                    Erreur en écriture " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting database. This may take a while." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:329 msgid "Configuration" msgstr "Configuration" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:409 msgid "" "&Location of ebooks (The ebooks are stored in folders sorted by author and " "metadata is stored in the file metadata.db)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:410 msgid "Browse for the new database location" msgstr "Choisir un nouvel emplacement pour la base de données" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:358 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:374 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:386 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:426 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:373 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:509 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:282 @@ -1796,201 +1969,197 @@ msgstr "Choisir un nouvel emplacement pour la base de données" msgid "..." msgstr "..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:412 msgid "Show notification when &new version is available" msgstr "Envoyer une notification quand une nouvelle version est disponible." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:360 -msgid "Ask for &confirmation before deleting files" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:413 msgid "" -"If you disable this setting, metadatas is guessed from the filename instead. " +"If you disable this setting, metadata is guessed from the filename instead. " "This can be configured in the Advanced section." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:414 msgid "Read &metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:415 msgid "Format for &single file save:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:416 msgid "Default network &timeout:" msgstr "&Timeout par défaut pour les connexions réseau :" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:417 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:418 msgid " seconds" msgstr " secondes" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:419 msgid "Choose &language (requires restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:420 msgid "Normal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:421 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:422 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:423 msgid "Job &priority:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:425 msgid "Add a directory to the frequently used directories list" msgstr "Ajouter un répetoire à la liste des répertoires utilisés fréquemment" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:427 msgid "Remove a directory from the frequently used directories list" msgstr "" "Supprime un répetoire de la liste des répertoires utilisés fréquemment" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:429 msgid "Use &Roman numerals for series number" msgstr "Utilisation de chiffres romains pour les numéro de séries" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:430 msgid "&Number of covers to show in browse mode (after restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:431 msgid "Toolbar" msgstr "Barre d'outils" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 msgid "Large" msgstr "Large" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Medium" msgstr "Moyen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 msgid "Small" msgstr "Petit" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:435 msgid "&Button size in toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:436 msgid "Show &text in toolbar buttons" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:437 msgid "Select visible &columns in library view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:440 msgid "Use internal &viewer for the following formats:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:441 msgid "Enable system &tray icon (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:442 msgid "Automatically send downloaded &news to ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:443 msgid "&Delete news from library when it is sent to reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:444 msgid "Free unused diskspace from the database" msgstr "Espace libre non-utilisé de la base de données" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:445 msgid "&Compact database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:446 msgid "&Metadata from file name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:447 msgid "" "calibre contains a network server that allows you to access your book " "collection using a browser from anywhere in the world. Any changes to the " "settings will only take effect after a server restart." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:448 msgid "Server &port:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:146 msgid "&Username:" msgstr "Nom de l'&utilisateur :" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:147 msgid "&Password:" msgstr "Mot de &passe :" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:451 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:452 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:148 msgid "&Show password" msgstr "&Affiche le mot de passe" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:453 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:454 msgid "Max. &cover size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:455 msgid "&Start Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:456 msgid "St&op Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:457 msgid "&Test Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:458 msgid "Run server &automatically on startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:459 msgid "View &server logs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 msgid "" "If you want to use the content server to access your ebook collection on " "your iphone with Stanza, you will need to add the URL " @@ -1999,6 +2168,44 @@ msgid "" "address of this computer." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 +msgid "" +"Here you can customize the behavior of Calibre by controlling what plugins " +"it uses." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:462 +msgid "Enable/&Disable plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 +msgid "&Customize plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:464 +msgid "&Remove plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:465 +msgid "Add new plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:466 +msgid "Plugin &file:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:468 +msgid "&Add" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +msgid "Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +msgid "&Show this warning again" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:41 msgid "ERROR" msgstr "ERREUR" @@ -2016,7 +2223,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:296 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 msgid "Metadata" msgstr "Metadata" @@ -2070,25 +2277,25 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 msgid "Cannot read" msgstr "Impossible de lire" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:52 msgid "You do not have permission to read the file: " msgstr "Vous n'avez pas les permissions nécessaires pour lire ce fichier: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 msgid "Error reading file" msgstr "Erreur à la lecture du fichier" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:184 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:61 msgid "

                                    There was an error reading from file:
                                    " msgstr "

                                    Il y a eu une erreur à la lecture du fichier :
                                    " @@ -2098,7 +2305,7 @@ msgid " is not a valid picture" msgstr " n'est pas une image vailde" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "Cannot convert" msgstr "Conversion impossible" @@ -2743,7 +2950,7 @@ msgstr "" msgid "A&utomatically set author sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:262 msgid "" "

                                    Enter your username and password for LibraryThing.com.
                                    If you " "do not have one, you can register " @@ -2753,19 +2960,19 @@ msgstr "" "LibraryThing.com.
                                    Si vous n'en avez pas, vous pouvez y créer un compte gratuitement !

                                    " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover.
                                    " msgstr "Erreur à la récupération de l'image de couverture.
                                    " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover" msgstr "Erreur à la récupération de l'image de couverture" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "Cannot fetch cover" msgstr "Erreur à la récupération de l'image de couverture" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "You must specify the ISBN identifier for this book." msgstr "Vous devez fournir l'identifiant ISBN de ce livre." @@ -2874,9 +3081,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:335 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:761 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:765 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1064 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:752 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:756 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1055 msgid "News" msgstr "" @@ -3348,52 +3555,62 @@ msgstr "En attente" msgid "Working" msgstr "En cours" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:162 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:166 +#: /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 "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 msgid "Cannot kill jobs that communicate with the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:167 +#: /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:93 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:907 msgid "Size (MB)" msgstr "Taille (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:908 msgid "Date" msgstr "Date" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 msgid "Rating" msgstr "Note" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:274 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 msgid "None" msgstr "Aucun" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 msgid "Book %s of %s." msgstr "Livre %s of %s." -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:675 +msgid "Not allowed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:676 +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:839 msgid "Format" msgstr "Format" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:844 msgid "Timestamp" msgstr "Horodatage" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:942 msgid "Search (For Advanced Search click the button to the left)" msgstr "" @@ -3422,7 +3639,7 @@ msgid "No matches for the search phrase %s were found." msgstr "Aucun résultat pour la recherche %s." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:377 msgid "No matches found" msgstr "Aucun résultat" @@ -3447,12 +3664,12 @@ msgid "Previous Page" msgstr "Page précédente" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 msgid "Back" msgstr "Recule" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 msgid "Forward" msgstr "Avance" @@ -3461,7 +3678,7 @@ msgid "Next match" msgstr "Résultat suivant" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:162 msgid "Open ebook" msgstr "Ouvrir le livre" @@ -3469,156 +3686,152 @@ msgstr "Ouvrir le livre" msgid "Configure" msgstr "Configuration" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88 msgid "Error communicating with device" msgstr "Erreur pendant la communication avec le lecteur électronique" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Donate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Quit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:104 msgid "&Restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:148 msgid "" "

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

                                    " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Send to main memory" msgstr "Envoi vers la mémoire du lecteur" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "Send to storage card" msgstr "Envoi vers la carte mémoire" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 msgid "Send to storage card by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 msgid "Edit metadata individually" msgstr "Edition des metadata individuellement" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:187 msgid "Edit metadata in bulk" msgstr "Edition des metadata par lot" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 msgid "Add books from a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:191 msgid "" -"Add books recursively (One book per directory, assumes every ebook file is " -"the same book in a different format)" +"Add books from directories, including sub-directories (One book per " +"directory, assumes every ebook file is the same book in a different format)" msgstr "" -"Ajouter des livres récursivement (un livre par répertoire, assume que chaque " -"fichier correspond au même livre mais dans un format différent)" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 msgid "" -"Add books recursively (Multiple books per directory, assumes every ebook " -"file is a different book)" +"Add books from directories, including sub directories (Multiple books per " +"directory, assumes every ebook file is a different book)" msgstr "" -"Ajouter des livre récursivement (Plusieurs livres par répertoire, considère " -"que chaque fichier est un livre différent)" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:342 msgid "Save to disk" msgstr "Enregistrer sur le disque" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 msgid "Save to disk in a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Save only %s format to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:348 msgid "View" msgstr "Visualiser" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:213 msgid "View specific format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:230 msgid "Convert individually" msgstr "Convertion individuelle" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 msgid "Bulk convert" msgstr "Convertion par lot" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:233 msgid "Set defaults for conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:234 msgid "Set defaults for conversion of comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:255 msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 msgid "Bad database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1333 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1356 msgid "Choose a location for your ebook library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:315 msgid "Migrating database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:487 msgid "Device: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:488 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:510 msgid "Connected " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:521 msgid "Device database corrupted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:522 msgid "" "\n" "

                                    The database of books on the reader is corrupted. Try the " @@ -3634,8 +3847,25 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:572 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:668 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +msgid "Stop" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:574 +msgid "Adding books recursively..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Added " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Searching..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:695 msgid "" "

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

                                      " @@ -3643,181 +3873,196 @@ msgstr "" "

                                      Des livres ayant le même titre existent déjà dans la base de données. Les " "ajouter quand même ?

                                        " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:575 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:698 msgid "Duplicates found!" msgstr "Des doublons ont été détectés !" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:649 msgid "Uploading books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:633 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:634 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:635 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:636 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:620 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:637 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:638 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:639 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:640 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:641 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:642 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:661 +msgid "Reading metadata..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:659 +msgid "Adding books..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:685 +msgid "Read metadata from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:688 +msgid "Adding books to database..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:730 msgid "No space on device" msgstr "Le lecteur électronique n'a plus d'espace mémoire disponible" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:731 msgid "" "

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

                                        Impossible d'envoyer les livres sur le lecteur : il n'y a plus assez " "d'espace mémoire disponible " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:736 -msgid "Confirm delete" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:763 +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:737 -msgid "Are you sure you want to delete these %d books?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 msgid "Cannot edit metadata" msgstr "Erreur à l'édition des metadat" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "No books selected" msgstr "Aucun livre sélectionné" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:848 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:871 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:923 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:926 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:927 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:920 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 msgid "Cannot save to disk" msgstr "Ne peut pas enregistrer sur le disque" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:947 msgid "Choose destination directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:931 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:954 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:935 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:958 msgid "Could not save some ebooks" msgstr "Impossible de sauvegarder des livres électroniques" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:955 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:978 msgid "Fetching news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:992 msgid " fetched." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 msgid "No book selected" msgstr "Aucun livre sélectionné" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 msgid "Cannot view" msgstr "Impossible de visualiser" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1134 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1112 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1157 msgid "Choose the format to view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1130 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1153 msgid "%s has no available formats." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure" msgstr "Configuration impossible" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure while there are running jobs." msgstr "Impossible de configurer pendant que des travaux sont en cours." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1210 msgid "Copying database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212 msgid "Copying library to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1222 msgid "Invalid database" msgstr "Base de données invalide" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1223 msgid "" "

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

                                          Une base de données invalide existe déjà ici : %s, spprimez la avant " "d'essayer de déplacer la base de données existante.
                                          Erreur : %s" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1229 msgid "Could not move database" msgstr "Déplacement de la base de données impossible" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1226 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1249 msgid "No detailed info available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1227 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1250 msgid "No detailed information is available for books on the device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1270 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1293 msgid "Error talking to device" msgstr "Erreur pendant la communication avec le lecteur électronique" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1294 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -3850,81 +4095,81 @@ msgstr "" "lecteur électronique. Veuillez déconnecter et reconnecter le lecteur " "électronique et redémarrer." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1284 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1299 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1307 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1326 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 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:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1342 msgid "Database does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1320 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1343 msgid "" "The directory in which the database should be: %s no longer exists. Please " "choose a new database location." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1345 msgid "Choose new location for database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1375 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 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:1396 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1419 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1421 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:1402 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1425 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 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:1444 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1467 msgid "" "Latest version: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 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:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1464 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1487 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1489 msgid "Log debugging information to console" msgstr "" @@ -4232,7 +4477,7 @@ msgid "The standard font type" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:47 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 msgid "Table of Contents" msgstr "" @@ -4256,109 +4501,113 @@ msgstr "" msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:338 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:339 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:378 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:445 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:497 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "

                                          This book is protected by DRM" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:507 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:508 msgid "%s

                                          %s

                                          " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:577 msgid "" "%prog [options] file\n" "\n" "View an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 msgid "Ebook Viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 msgid "toolBar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 msgid "Next page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 msgid "Previous page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 msgid "Font size larger" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 msgid "Font size smaller" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:163 msgid "Find next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:164 msgid "Copy to clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:165 msgid "Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:166 msgid "Reference Mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:167 msgid "Bookmark" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168 +msgid "Toggle full screen" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:47 msgid "Invalid regular expression" msgstr "" @@ -4655,20 +4904,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1146 msgid "

                                          Copying books to %s

                                          " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1157 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1266 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1159 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1268 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1237 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "

                                          Migrating old database to ebook library in %s

                                          " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1285 msgid "Compacting database" msgstr "" @@ -4691,47 +4940,47 @@ msgstr "" msgid "Job stopped by user" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:39 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:41 msgid "%sUsage%s: %s\n" msgstr "%sUsage%s: %s\n" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:77 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:79 msgid "Created by " msgstr "Créé par " -#: /home/kovid/work/calibre/src/calibre/utils/config.py:524 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:527 msgid "Path to the database in which books are stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:526 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:529 msgid "Pattern to guess metadata from filenames" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:528 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:531 msgid "Access key for isbndb.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:530 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:533 msgid "Default timeout for network operations (seconds)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:532 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:535 msgid "Path to directory in which your library of books is stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:534 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:537 msgid "The language in which to display the user interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:536 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:539 msgid "The default output format for ebook conversions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:538 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:541 msgid "Read metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:540 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:543 msgid "The priority of worker processes" msgstr "" diff --git a/src/calibre/translations/gl.po b/src/calibre/translations/gl.po index c592f9ceea..b8ad5b1fd8 100644 --- a/src/calibre/translations/gl.po +++ b/src/calibre/translations/gl.po @@ -7,24 +7,198 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2008-12-18 01:36+0000\n" +"POT-Creation-Date: 2008-12-30 15:33+0000\n" "PO-Revision-Date: 2008-09-30 12:33+0000\n" "Last-Translator: Calidonia \n" "Language-Team: Galician \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-12-23 17:57+0000\n" +"X-Launchpad-Export-Date: 2009-01-04 04:32+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:137 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:155 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:193 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 +msgid "Does absolutely nothing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:478 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:961 +#: /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 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 +#: /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:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 +#: /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:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:78 +#: /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:793 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:835 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:915 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 +#: /home/kovid/work/calibre/src/calibre/library/database.py:920 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1580 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:461 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:808 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:841 +msgid "Unknown" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:62 +msgid "Base" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 +msgid "File type" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:182 +msgid "Metadata reader" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:209 +msgid "Metadata writer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:12 +msgid "" +"Follow all local links in an HTML file and create a ZIP file containing all " +"linked files. This plugin is run every time you add an HTML file to the " +"library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:32 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:42 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:53 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:63 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:73 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:83 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:105 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:135 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:145 +msgid "Read metadata from %s files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:155 +msgid "Extract cover from comic files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:175 +msgid "Set metadata in EPUB files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:185 +msgid "Set metadata in LRF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:195 +msgid "Set metadata in RTF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:28 +msgid "Installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:29 +msgid "Mapping for filetype plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 +msgid "Local plugin customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 +msgid "Disabled plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:66 +msgid "No valid plugin found in " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:170 +msgid "Initialization of plugin %s failed with traceback:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:247 +msgid "" +" %prog options\n" +" \n" +" Customize calibre by loading external plugins.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:253 +msgid "Add a plugin by specifying the path to the zip file containing it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:255 +msgid "Remove a custom plugin by name. Has no effect on builtin plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:257 +msgid "" +"Customize plugin. Specify name of plugin and customization string separated " +"by a comma." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:259 +msgid "List all installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:261 +msgid "Enable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:263 +msgid "Disable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:158 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:196 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:224 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "Non se puido detectar a unidade de disco %s. Probe a reiniciar." -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:409 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:412 msgid "The reader has no storage card connected." msgstr "O lector non ten conectada tarxeta de almacenamento ningunha" @@ -203,64 +377,7 @@ msgid "" "Extract the contents of the produced EPUB file to the specified directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:43 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:477 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 -#: /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 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 -#: /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:196 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:65 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:67 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:100 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:102 -#: /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:793 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 -#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:342 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:828 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:650 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 -#: /home/kovid/work/calibre/src/calibre/library/database.py:920 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1564 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:477 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:489 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:817 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 -msgid "Unknown" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:154 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:156 msgid "" "%%prog [options] filename\n" "\n" @@ -268,11 +385,11 @@ msgid "" "formats are: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:100 msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:157 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:158 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -283,13 +400,13 @@ msgid "" "the element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:389 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:737 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:391 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:739 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:411 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1035 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:413 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1046 msgid "You must specify an input HTML file" msgstr "" @@ -308,87 +425,87 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:490 msgid "Written processed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:820 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:827 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:838 msgid "The output directory. Default is the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:829 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:840 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:842 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:833 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:844 msgid "Control the following of links in HTML files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:835 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:846 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:837 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:848 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:839 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:850 msgid "Set metadata of the generated ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:841 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:852 msgid "Set the title. Default is to autodetect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:843 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:854 msgid "The author(s) of the ebook, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:845 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:856 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:847 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:858 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:849 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:860 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:851 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:862 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:853 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:864 msgid "Options useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:866 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:857 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:868 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:863 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:874 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -410,7 +527,7 @@ msgid "%prog [options] LITFILE" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:852 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:444 msgid "Output directory. Defaults to current directory." msgstr "" @@ -419,20 +536,20 @@ msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:723 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:724 msgid "Useful for debugging." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:869 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:468 msgid "OEB ebook created in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:717 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:718 msgid "%prog [options] OPFFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:720 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:721 msgid "Output file. Default is derived from input filename." msgstr "" @@ -465,7 +582,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:275 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 msgid "Publisher" msgstr "" @@ -706,11 +823,11 @@ msgid "" "default is to try and guess the encoding." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:161 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:164 msgid "Converting from %s to LRF is not supported." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:171 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:175 msgid "" "any2lrf [options] myfile\n" "\n" @@ -721,118 +838,118 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:186 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:190 msgid "No file to convert specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:221 msgid "Rendered %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:223 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 msgid "Failed %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:275 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:276 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:283 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:289 msgid "Title for generated ebook. Default is to use the filename." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 msgid "" "Path to output file. By default a file is created in the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:296 msgid "Number of colors for grayscale image conversion. Default: %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:307 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:308 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:310 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:312 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:314 msgid "" "Choose a profile for the device you are generating this file for. The " "default is the SONY PRS-500 with a screen size of 584x754 pixels. This is " "suitable for any reader with the same screen size. Choices are %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:316 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " "greater verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:318 msgid "Don't show progress bar." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:322 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" "Convert a comic in a CBZ or CBR file to an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:382 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:383 msgid "Output written to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:423 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:426 msgid "Rendering comic pages..." msgstr "" @@ -873,95 +990,95 @@ msgstr "" msgid "Fetching of recipe failed: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 msgid "\tBook Designer file detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tParsing HTML..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:340 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:343 msgid "\tBaen file detected. Re-parsing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:356 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:359 msgid "Written preprocessed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:377 msgid "Processing %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:388 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:391 msgid "\tConverting to BBeB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:534 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:547 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:550 msgid "Could not parse file: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:542 msgid "%s is an empty file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:559 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:562 msgid "Failed to parse link %s %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:603 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:606 msgid "Cannot add link %s to TOC" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:958 msgid "Unable to process image %s. Error: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:996 msgid "Unable to process interlaced PNG %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1008 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1011 msgid "" "Could not process image: %s\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1765 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1767 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 msgid "" "Bad table:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1789 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 msgid "Table has cell that is too large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1819 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 msgid "Could not read cover image: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 msgid "Cannot read from: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "Failed to process opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2009 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1160,17 +1277,17 @@ msgstr "" #: /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:91 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:330 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:899 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:906 msgid "Author(s)" msgstr "" @@ -1189,24 +1306,24 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:391 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:527 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:838 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:845 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Series" @@ -1323,11 +1440,11 @@ msgstr "" msgid "Usage: rb-meta file.rb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:440 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:464 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 msgid "Raw MOBI HTML saved in" msgstr "" @@ -1335,84 +1452,84 @@ msgstr "" msgid "The output directory. Defaults to the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:26 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:424 msgid "Frequently used directories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:27 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:29 msgid "The format to use when saving single files to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:31 msgid "Confirm before deleting" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 msgid "Toolbar icon size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 msgid "Show button labels in the toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 msgid "Main window geometry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 msgid "Notify when a new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Use Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Sort tags list by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Number of covers to show in the cover browsing mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Options for the LRF ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 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:57 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Delete books from library after uploading to device" msgstr "" @@ -1451,8 +1568,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:282 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:840 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "" @@ -1461,7 +1578,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:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Formats" @@ -1476,6 +1593,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:53 msgid "TextLabel" @@ -1551,90 +1669,143 @@ msgstr "" msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 +msgid " plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:106 +msgid "by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "General" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 msgid "" "Content\n" "Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 +msgid "Plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:255 +msgid "No valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:256 +msgid "%s is not a valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +msgid "Choose plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:270 +msgid "Plugin cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:271 +msgid "The plugin: %s cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +msgid "Plugin not customizable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:282 +msgid "Plugin: %s does not need customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +msgid "Customize %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:295 +msgid "Cannot remove builtin plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:296 +msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:317 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:321 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:382 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:264 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:423 msgid "Invalid database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "
                                          Must be a directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "Invalid database location " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 msgid "Invalid database location.
                                          Cannot write to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting database. This may take a while." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:329 msgid "Configuration" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:409 msgid "" "&Location of ebooks (The ebooks are stored in folders sorted by author and " "metadata is stored in the file metadata.db)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:410 msgid "Browse for the new database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:358 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:374 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:386 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:426 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:373 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:509 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:282 @@ -1657,200 +1828,196 @@ msgstr "" msgid "..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:412 msgid "Show notification when &new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:360 -msgid "Ask for &confirmation before deleting files" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:413 msgid "" -"If you disable this setting, metadatas is guessed from the filename instead. " +"If you disable this setting, metadata is guessed from the filename instead. " "This can be configured in the Advanced section." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:414 msgid "Read &metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:415 msgid "Format for &single file save:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:416 msgid "Default network &timeout:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:417 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:418 msgid " seconds" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:419 msgid "Choose &language (requires restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:420 msgid "Normal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:421 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:422 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:423 msgid "Job &priority:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:425 msgid "Add a directory to the frequently used directories list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:427 msgid "Remove a directory from the frequently used directories list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:429 msgid "Use &Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:430 msgid "&Number of covers to show in browse mode (after restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:431 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 msgid "Large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Medium" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:435 msgid "&Button size in toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:436 msgid "Show &text in toolbar buttons" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:437 msgid "Select visible &columns in library view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:440 msgid "Use internal &viewer for the following formats:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:441 msgid "Enable system &tray icon (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:442 msgid "Automatically send downloaded &news to ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:443 msgid "&Delete news from library when it is sent to reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:444 msgid "Free unused diskspace from the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:445 msgid "&Compact database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:446 msgid "&Metadata from file name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:447 msgid "" "calibre contains a network server that allows you to access your book " "collection using a browser from anywhere in the world. Any changes to the " "settings will only take effect after a server restart." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:448 msgid "Server &port:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:146 msgid "&Username:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:147 msgid "&Password:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:451 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:452 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:148 msgid "&Show password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:453 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:454 msgid "Max. &cover size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:455 msgid "&Start Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:456 msgid "St&op Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:457 msgid "&Test Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:458 msgid "Run server &automatically on startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:459 msgid "View &server logs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 msgid "" "If you want to use the content server to access your ebook collection on " "your iphone with Stanza, you will need to add the URL " @@ -1859,6 +2026,44 @@ msgid "" "address of this computer." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 +msgid "" +"Here you can customize the behavior of Calibre by controlling what plugins " +"it uses." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:462 +msgid "Enable/&Disable plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 +msgid "&Customize plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:464 +msgid "&Remove plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:465 +msgid "Add new plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:466 +msgid "Plugin &file:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:468 +msgid "&Add" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +msgid "Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +msgid "&Show this warning again" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:41 msgid "ERROR" msgstr "" @@ -1876,7 +2081,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:296 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 msgid "Metadata" msgstr "" @@ -1930,25 +2135,25 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 msgid "Cannot read" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:52 msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 msgid "Error reading file" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:184 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:61 msgid "

                                          There was an error reading from file:
                                          " msgstr "" @@ -1958,7 +2163,7 @@ msgid " is not a valid picture" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "Cannot convert" msgstr "" @@ -2578,26 +2783,26 @@ msgstr "" msgid "A&utomatically set author sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:262 msgid "" "

                                          Enter your username and password for LibraryThing.com.
                                          If you " "do not have one, you can register " "for free!.

                                          " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover.
                                          " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "You must specify the ISBN identifier for this book." msgstr "" @@ -2703,9 +2908,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:335 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:761 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:765 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1064 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:752 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:756 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1055 msgid "News" msgstr "" @@ -3174,52 +3379,62 @@ msgstr "" msgid "Working" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:162 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:166 +#: /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 "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 msgid "Cannot kill jobs that communicate with the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:167 +#: /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:93 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:907 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:908 msgid "Date" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 msgid "Rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:274 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 msgid "None" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 msgid "Book %s of %s." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:675 +msgid "Not allowed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:676 +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:839 msgid "Format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:844 msgid "Timestamp" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:942 msgid "Search (For Advanced Search click the button to the left)" msgstr "" @@ -3248,7 +3463,7 @@ msgid "No matches for the search phrase %s were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:377 msgid "No matches found" msgstr "" @@ -3273,12 +3488,12 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 msgid "Back" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 msgid "Forward" msgstr "" @@ -3287,7 +3502,7 @@ msgid "Next match" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:162 msgid "Open ebook" msgstr "" @@ -3295,152 +3510,152 @@ msgstr "" msgid "Configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88 msgid "Error communicating with device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Donate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Quit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:104 msgid "&Restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:148 msgid "" "

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

                                          " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Send to main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "Send to storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 msgid "Send to storage card by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 msgid "Edit metadata individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:187 msgid "Edit metadata in bulk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 msgid "Add books from a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:191 msgid "" -"Add books recursively (One book per directory, assumes every ebook file is " -"the same book in a different format)" +"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:190 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 msgid "" -"Add books recursively (Multiple books per directory, assumes every ebook " -"file is a different book)" +"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:205 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:342 msgid "Save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 msgid "Save to disk in a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Save only %s format to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:348 msgid "View" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:213 msgid "View specific format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:230 msgid "Convert individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 msgid "Bulk convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:233 msgid "Set defaults for conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:234 msgid "Set defaults for conversion of comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:255 msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 msgid "Bad database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1333 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1356 msgid "Choose a location for your ebook library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:315 msgid "Migrating database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:487 msgid "Device: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:488 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:510 msgid "Connected " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:521 msgid "Device database corrupted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:522 msgid "" "\n" "

                                          The database of books on the reader is corrupted. Try the " @@ -3456,288 +3671,320 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:572 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:668 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +msgid "Stop" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:574 +msgid "Adding books recursively..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Added " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Searching..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:695 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:575 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:698 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:649 msgid "Uploading books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:633 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:634 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:635 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:636 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:620 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:637 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:638 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:639 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:640 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:641 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:642 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:661 +msgid "Reading metadata..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:659 +msgid "Adding books..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:685 +msgid "Read metadata from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:688 +msgid "Adding books to database..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:730 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:731 msgid "" "

                                            Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:736 -msgid "Confirm delete" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:763 +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:737 -msgid "Are you sure you want to delete these %d books?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 msgid "Cannot edit metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "No books selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:848 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:871 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:923 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:926 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:927 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:920 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 msgid "Cannot save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:947 msgid "Choose destination directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:931 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:954 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:935 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:958 msgid "Could not save some ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:955 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:978 msgid "Fetching news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:992 msgid " fetched." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 msgid "No book selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 msgid "Cannot view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1134 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1112 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1157 msgid "Choose the format to view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1130 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1153 msgid "%s has no available formats." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure while there are running jobs." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1210 msgid "Copying database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212 msgid "Copying library to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1222 msgid "Invalid database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1223 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:1206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1229 msgid "Could not move database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1226 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1249 msgid "No detailed info available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1227 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1250 msgid "No detailed information is available for books on the device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1270 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1293 msgid "Error talking to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1294 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:1284 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1299 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1307 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1326 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 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:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1342 msgid "Database does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1320 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1343 msgid "" "The directory in which the database should be: %s no longer exists. Please " "choose a new database location." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1345 msgid "Choose new location for database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1375 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 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:1396 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1419 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1421 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:1402 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1425 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 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:1444 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1467 msgid "" "Latest version: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 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:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1464 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1487 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1489 msgid "Log debugging information to console" msgstr "" @@ -4041,7 +4288,7 @@ msgid "The standard font type" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:47 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 msgid "Table of Contents" msgstr "" @@ -4065,109 +4312,113 @@ msgstr "" msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:338 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:339 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:378 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:445 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:497 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "

                                              This book is protected by DRM" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:507 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:508 msgid "%s

                                              %s

                                              " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:577 msgid "" "%prog [options] file\n" "\n" "View an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 msgid "Ebook Viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 msgid "toolBar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 msgid "Next page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 msgid "Previous page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 msgid "Font size larger" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 msgid "Font size smaller" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:163 msgid "Find next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:164 msgid "Copy to clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:165 msgid "Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:166 msgid "Reference Mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:167 msgid "Bookmark" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168 +msgid "Toggle full screen" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:47 msgid "Invalid regular expression" msgstr "" @@ -4464,20 +4715,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1146 msgid "

                                              Copying books to %s

                                              " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1157 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1266 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1159 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1268 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1237 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "

                                              Migrating old database to ebook library in %s

                                              " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1285 msgid "Compacting database" msgstr "" @@ -4500,47 +4751,47 @@ msgstr "" msgid "Job stopped by user" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:39 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:41 msgid "%sUsage%s: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:77 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:79 msgid "Created by " msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:524 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:527 msgid "Path to the database in which books are stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:526 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:529 msgid "Pattern to guess metadata from filenames" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:528 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:531 msgid "Access key for isbndb.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:530 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:533 msgid "Default timeout for network operations (seconds)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:532 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:535 msgid "Path to directory in which your library of books is stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:534 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:537 msgid "The language in which to display the user interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:536 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:539 msgid "The default output format for ebook conversions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:538 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:541 msgid "Read metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:540 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:543 msgid "The priority of worker processes" msgstr "" diff --git a/src/calibre/translations/it.po b/src/calibre/translations/it.po index 97e98bf700..2c965f57f8 100644 --- a/src/calibre/translations/it.po +++ b/src/calibre/translations/it.po @@ -8,25 +8,203 @@ msgid "" msgstr "" "Project-Id-Version: calibre_calibre-it\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-12-18 01:36+0000\n" -"PO-Revision-Date: 2008-12-22 09:27+0000\n" -"Last-Translator: S. Dorscht \n" +"POT-Creation-Date: 2008-12-30 15:33+0000\n" +"PO-Revision-Date: 2009-01-01 18:58+0000\n" +"Last-Translator: Iacopo Benesperi \n" "Language-Team: italiano\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-12-23 17:57+0000\n" +"X-Launchpad-Export-Date: 2009-01-04 04:32+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:137 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:155 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:193 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 +msgid "Does absolutely nothing" +msgstr "Non fa assolutamente niente" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:478 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:961 +#: /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 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 +#: /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:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 +#: /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:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:78 +#: /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:793 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:835 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:915 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 +#: /home/kovid/work/calibre/src/calibre/library/database.py:920 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1580 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:461 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:808 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:841 +msgid "Unknown" +msgstr "Sconosciuto" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:62 +msgid "Base" +msgstr "Base" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 +msgid "File type" +msgstr "Tipo di file" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:182 +msgid "Metadata reader" +msgstr "Lettore metadati" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:209 +msgid "Metadata writer" +msgstr "Scrittore metadati" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:12 +msgid "" +"Follow all local links in an HTML file and create a ZIP file containing all " +"linked files. This plugin is run every time you add an HTML file to the " +"library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:32 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:42 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:53 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:63 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:73 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:83 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:105 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:135 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:145 +msgid "Read metadata from %s files" +msgstr "Legge i metadati da file %s" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:155 +msgid "Extract cover from comic files" +msgstr "Estrae le copertine dai file dei fumetti" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:175 +msgid "Set metadata in EPUB files" +msgstr "Imposta i metadati nei file EPUB" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:185 +msgid "Set metadata in LRF files" +msgstr "Imposta i metadati nei file LRF" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:195 +msgid "Set metadata in RTF files" +msgstr "Imposta i metadati nei file RTF" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:28 +msgid "Installed plugins" +msgstr "Plug-in installati" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:29 +msgid "Mapping for filetype plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 +msgid "Local plugin customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 +msgid "Disabled plugins" +msgstr "Disabilita plug-in" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:66 +msgid "No valid plugin found in " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:170 +msgid "Initialization of plugin %s failed with traceback:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:247 +msgid "" +" %prog options\n" +" \n" +" Customize calibre by loading external plugins.\n" +" " +msgstr "" +" %prog opzioni\n" +" \n" +" Personalizza calibre caricando plug-in esterni.\n" +" " + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:253 +msgid "Add a plugin by specifying the path to the zip file containing it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:255 +msgid "Remove a custom plugin by name. Has no effect on builtin plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:257 +msgid "" +"Customize plugin. Specify name of plugin and customization string separated " +"by a comma." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:259 +msgid "List all installed plugins" +msgstr "Elenca tutti i plug-in installati" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:261 +msgid "Enable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:263 +msgid "Disable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:158 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:196 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:224 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "Impossibile individuare il disco %s. Provare a riavviare." -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:409 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:412 msgid "The reader has no storage card connected." msgstr "Il lettore non ha una scheda di memoria connessa." @@ -255,64 +433,7 @@ msgid "" msgstr "" "Estrae i contenuti del file EPUB prodotto nella cartella specificata." -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:43 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:477 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 -#: /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 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 -#: /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:196 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:65 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:67 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:100 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:102 -#: /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:793 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 -#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:342 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:828 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:650 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 -#: /home/kovid/work/calibre/src/calibre/library/database.py:920 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1564 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:477 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:489 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:817 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 -msgid "Unknown" -msgstr "Sconosciuto" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:154 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:156 msgid "" "%%prog [options] filename\n" "\n" @@ -320,11 +441,11 @@ msgid "" "formats are: %s\n" msgstr "%%prog [opzioni] nomefile\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:100 msgid "Could not find an ebook inside the archive" msgstr "Impossibile trovare un libro dentro l'archivio" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:157 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:158 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -342,13 +463,13 @@ msgstr "" "presa\n" "dall'elemento del file OPF. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:389 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:737 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:391 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:739 msgid "Output written to " msgstr "Output scritto in " -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:411 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1035 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:413 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1046 msgid "You must specify an input HTML file" msgstr "È necessario specificare un file HTML" @@ -371,24 +492,24 @@ msgstr "" "\t\tTroppo markup. Divido di nuovo senza preservare la struttura. Questo " "potrebbe portare a problemi nella visualizzazione." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:490 msgid "Written processed HTML to " msgstr "HTML processato scritto in " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:820 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 msgid "Options to control the traversal of HTML" msgstr "Opzioni per controllare l'analisi completa dell'HTML" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:827 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:838 msgid "The output directory. Default is the current directory." msgstr "Cartella in uscita. Predefinita: cartella corrente" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:829 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:840 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" "Codifica caratteri per i file HTML. Predefinito: rilevamento automatico." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:842 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." @@ -396,11 +517,11 @@ msgstr "" "Crea l'output in un file zip. Se questa opzione è specificata, --output " "dovrebbe essere il nome di un file, non di una cartella." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:833 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:844 msgid "Control the following of links in HTML files." msgstr "Controlla come vengono seguiti i link nei file HTML." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:835 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:846 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" @@ -408,7 +529,7 @@ msgstr "" "Analizza tutti i link nei file HTML in ordine di grandezza. Normalmente, i " "link sono analizzati in ordine di profondità" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:837 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:848 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." @@ -416,39 +537,39 @@ msgstr "" "Massimo livello di ricorsività nel seguire i link in HTML. Deve essere un " "numero non negativo. 0 significa che i link non vengono seguiti." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:839 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:850 msgid "Set metadata of the generated ebook" msgstr "Impostare i metadati del libro generato" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:841 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:852 msgid "Set the title. Default is to autodetect." msgstr "Impostare il titolo. Predefinito: rilevato automaticamente." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:843 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:854 msgid "The author(s) of the ebook, as a comma separated list." msgstr "L'autore(i) del libro, sottoforma di un elenco separato da virgole." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:845 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:856 msgid "The subject(s) of this book, as a comma separated list." msgstr "Il soggetto(i) di questo libro, come elenco separato da virgole." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:847 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:858 msgid "Set the publisher of this book." msgstr "Impostare l'editore di questo libro." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:849 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:860 msgid "A summary of this book." msgstr "Un riassunto di questo libro." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:851 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:862 msgid "Load metadata from the specified OPF file" msgstr "Carica i metadati dal file OPF specificato" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:853 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:864 msgid "Options useful for debugging" msgstr "Opzioni utili per il debugging" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:866 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." @@ -456,13 +577,13 @@ msgstr "" "Più dettagliato durante il processo. Può essere specificato più volte per " "aumentare il dettaglio." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:857 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:868 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" "Rendere l'HTML in uscita \"ben stampato\", per una comprensione più facile " "da parte dell'uomo" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:863 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:874 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -492,7 +613,7 @@ msgid "%prog [options] LITFILE" msgstr "%prog [opzioni] FILELIT" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:852 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:444 msgid "Output directory. Defaults to current directory." msgstr "Cartella in uscita. Predefinita: cartella corrente." @@ -503,20 +624,20 @@ msgstr "" "significativi." #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:723 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:724 msgid "Useful for debugging." msgstr "Utile per il debugging" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:869 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:468 msgid "OEB ebook created in" msgstr "Libro OEB creato in" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:717 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:718 msgid "%prog [options] OPFFILE" msgstr "%prog [opzioni] FILEOPF" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:720 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:721 msgid "Output file. Default is derived from input filename." msgstr "" "File in uscita. Il nome predefinito è derivato da quello in ingresso." @@ -552,7 +673,7 @@ msgstr "Chiave per la classificazione dell'autore" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:275 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 msgid "Publisher" msgstr "Editore" @@ -870,11 +991,11 @@ msgstr "" "comune per i computer Windows è cp-1252. Un'altra scelta comune è utf-8. " "L'opzione predefinita è quella di provare ad indovinare la codifica" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:161 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:164 msgid "Converting from %s to LRF is not supported." msgstr "La conversione da %s a LRF non è supportata." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:171 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:175 msgid "" "any2lrf [options] myfile\n" "\n" @@ -891,19 +1012,19 @@ msgstr "" "archivio RAR o ZIP, cercando i libri dentro l'archivio.\n" " " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:186 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:190 msgid "No file to convert specified." msgstr "Nessun file da convertire specificato" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:221 msgid "Rendered %s" msgstr "Trasformato %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:223 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 msgid "Failed %s" msgstr "Fallito %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:275 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:276 msgid "" "Failed to process comic: %s\n" "\n" @@ -913,58 +1034,58 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:283 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "" "Opzioni per controllare la conversione dei file di fumetti (CBR, CBZ) in " "libri" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:289 msgid "Title for generated ebook. Default is to use the filename." msgstr "Titolo per il libro generato. Predefinito: nome del file." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" "Imposta l'autore nei metadati del libro generato. Predefinito: %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 msgid "" "Path to output file. By default a file is created in the current directory." msgstr "" "Percorso del file in uscita. Per impostazione predefinita viene creato nella " "cartella corrente." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:296 msgid "Number of colors for grayscale image conversion. Default: %default" msgstr "" "Numero di colori per conversione immagine in scala di grigi. Predefinito: " "%default" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Disabilita la normalizzazione dell'intervallo dei colori per le immagini " "(migliora il contrasto). Predefinito: falso." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" "Mantieni le proporzioni dell'immagine. Predefinito: riempimento dello " "schermo." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 msgid "Disable sharpening." msgstr "Disabilita maschera di nitidezza." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 msgid "Don't split landscape images into two portrait images" msgstr "Non dividere le immagini orizzontali in due immagini verticali" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -972,7 +1093,7 @@ msgstr "" "Mantieni le proporzioni e scala l'immagine usando l'altezza dello schermo " "come larghezza dell'immagine per la visualizzazione in orizzontale." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:307 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:308 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -981,7 +1102,7 @@ msgstr "" "divisione di una pagina orizzontale in due pagine verticali orientate da " "destra a sinistra." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:310 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -989,7 +1110,7 @@ msgstr "" "Abilita Despeckle. Riduce il rumore speckle. Può aumentare di molto il tempo " "di processamento." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:312 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -997,7 +1118,7 @@ msgstr "" "Non ordinare i file trovati nel fumetto alfabeticamente per nome. Usa invece " "l'ordine in cui sono stati aggiunti al fumetto." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:314 msgid "" "Choose a profile for the device you are generating this file for. The " "default is the SONY PRS-500 with a screen size of 584x754 pixels. This is " @@ -1008,7 +1129,7 @@ msgstr "" "584x754 pixel. Questo profilo va bene per qualsiasi dispositivo con uno " "schermo della stessa dimensione. Le scelte sono: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:316 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " "greater verbosity." @@ -1016,11 +1137,11 @@ msgstr "" "Sii dettagliato, utile per il debugging. Può essere specificato più volte " "per dettagli maggiori." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:318 msgid "Don't show progress bar." msgstr "Non visualizzare la barra di progresso." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:322 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" @@ -1030,11 +1151,11 @@ msgstr "" "\n" "Converte un fumetto in formato CBZ o CBR in un libro. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:382 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:383 msgid "Output written to" msgstr "Output scritto in" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:423 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:426 msgid "Rendering comic pages..." msgstr "Trasformazione pagine fumetto..." @@ -1084,56 +1205,56 @@ msgstr "Opzioni per controllare il comportamento di html2lrf" msgid "Fetching of recipe failed: " msgstr "Scaricamento della formula fallito: " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 msgid "\tBook Designer file detected." msgstr "\tFile di Book Designer individuato" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tParsing HTML..." msgstr "\tAnalisi HTML..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:340 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:343 msgid "\tBaen file detected. Re-parsing..." msgstr "\tFile di Baen individuato. Rianalizzo..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:356 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:359 msgid "Written preprocessed HTML to " msgstr "HTML preprocessato scritto in " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:377 msgid "Processing %s" msgstr "Sto processando %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:388 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:391 msgid "\tConverting to BBeB..." msgstr "\tConversione in BBeB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:534 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:547 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:550 msgid "Could not parse file: %s" msgstr "Impossibile analizzare il file: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:542 msgid "%s is an empty file" msgstr "%S è un file vuoto" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:559 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:562 msgid "Failed to parse link %s %s" msgstr "Analisi fallita del link %s %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:603 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:606 msgid "Cannot add link %s to TOC" msgstr "Impossibile aggiungere il link %s alla TOC" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:958 msgid "Unable to process image %s. Error: %s" msgstr "Impossibile processare l'immagine %s. Errore: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:996 msgid "Unable to process interlaced PNG %s" msgstr "Impossibile processare la PNG interlacciata %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1008 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1011 msgid "" "Could not process image: %s\n" "%s" @@ -1141,14 +1262,14 @@ msgstr "" "Impossibile processare l'immagine: %s\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1765 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "" "Si è verificato un errore nel processamento della tabella: %s. Ignoro il " "codice della tabella" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1767 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 msgid "" "Bad table:\n" "%s" @@ -1156,11 +1277,11 @@ msgstr "" "Tabella malformata:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1789 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 msgid "Table has cell that is too large" msgstr "La tabella ha celle troppo larghe" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1819 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." @@ -1168,19 +1289,19 @@ msgstr "" "È necessario prima salvare il sito web %s come un file HTML e poi eseguire " "html2lrf su di esso" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 msgid "Could not read cover image: %s" msgstr "Impossibile leggere l'immagine di copertina: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 msgid "Cannot read from: %s" msgstr "Impossibile leggere da: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "Failed to process opf file" msgstr "Processamento del file OPF fallito" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2009 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1426,17 +1547,17 @@ msgstr "Imposta il commento" #: /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:91 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 msgid "Title" msgstr "Titolo" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:330 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:899 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:906 msgid "Author(s)" msgstr "Autore(i)" @@ -1455,24 +1576,24 @@ msgstr "Categoria" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:391 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:527 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "Commenti" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:838 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:845 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Tags" msgstr "Tag" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Series" @@ -1607,11 +1728,11 @@ msgstr "Uso: pdf-meta-file.pdf" msgid "Usage: rb-meta file.rb" msgstr "Uso: rb-meta file.rb" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:440 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 msgid "%prog [options] myebook.mobi" msgstr "%prog [opzioni] miolibro.mobi" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:464 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 msgid "Raw MOBI HTML saved in" msgstr "MOBI HTML raw salvato in" @@ -1619,88 +1740,88 @@ msgstr "MOBI HTML raw salvato in" msgid "The output directory. Defaults to the current directory." msgstr "La cartella di uscita. La cartella predefinita è quella corrente." -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:26 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:424 msgid "Frequently used directories" msgstr "Cartelle usate frequentemente" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:27 msgid "Send file to storage card instead of main memory by default" msgstr "" "Invia il file alla scheda di memoria invece che alla memoria principale come " "impostazione predefinita" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:29 msgid "The format to use when saving single files to disk" msgstr "Formato da utilizzare per il salvataggio di singoli file sul disco" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:31 msgid "Confirm before deleting" msgstr "Chiedi conferma prima di eliminare" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 msgid "Toolbar icon size" msgstr "Dimensione bottoni nella barra degli strumenti" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 msgid "Show button labels in the toolbar" msgstr "Mostra testo nei bottoni della barra degli strumenti" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 msgid "Main window geometry" msgstr "Geometria della finestra principale" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 msgid "Notify when a new version is available" msgstr "Avverti quando è disponibile una nuova versione" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Use Roman numerals for series number" msgstr "Usa numeri romani per i numeri delle serie" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Sort tags list by popularity" msgstr "Ordina la lista dei tag per popolarità" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Number of covers to show in the cover browsing mode" msgstr "" "Numero di copertine da visualizzare nella modalità di sfogliatura copertine" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" msgstr "Parametri predefiniti per la conversione in LRF" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Options for the LRF ebook viewer" msgstr "Opzioni del lettore di libri LRF" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 msgid "Formats that are viewed using the internal viewer" msgstr "Formati visualizzati utilizzando il lettore interno" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 msgid "Columns to be displayed in the book list" msgstr "Colonne da mostrare nella lista dei libri" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Automatically launch content server on application startup" msgstr "" "Avvia automaticamente il server dei contenuti quando si apre l'applicazione" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Oldest news kept in database" msgstr "Notizie più vecchie da mantenere nel database" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 msgid "Show system tray icon" msgstr "Mostra un'icona nel vassoio di sistema" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 msgid "Upload downloaded news to device" msgstr "Carica le notizie scaricate sul dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Delete books from library after uploading to device" msgstr "" "Elimina i libri dalla biblioteca dopo averle caricate sul dispositivo" @@ -1740,8 +1861,8 @@ msgstr "Visualizza libro sul dispositivo" #: /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:282 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:840 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "Percorso" @@ -1750,7 +1871,7 @@ msgstr "Percorso" #: /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:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Formats" @@ -1765,6 +1886,7 @@ msgstr "Finestra di dialogo" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:53 msgid "TextLabel" @@ -1841,19 +1963,27 @@ msgstr "De&speckle" msgid "&Wide" msgstr "&Largo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 +msgid " plugins" +msgstr " plug-in" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:106 +msgid "by" +msgstr "di" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Advanced" msgstr "Avanzata" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "General" msgstr "Generale" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Interface" msgstr "Interfaccia" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 msgid "" "Content\n" "Server" @@ -1861,59 +1991,103 @@ msgstr "" "Server dei\n" "contenuti" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 +msgid "Plugins" +msgstr "Plug-in" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:255 +msgid "No valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:256 +msgid "%s is not a valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +msgid "Choose plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:270 +msgid "Plugin cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:271 +msgid "The plugin: %s cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +msgid "Plugin not customizable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:282 +msgid "Plugin: %s does not need customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +msgid "Customize %s" +msgstr "Personalizza %s" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:295 +msgid "Cannot remove builtin plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:296 +msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:317 msgid "Error log:" msgstr "File di log degli errori:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:321 msgid "Access log:" msgstr "File di log degli accessi:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:382 msgid "Failed to start content server" msgstr "Avvio del server dei contenuti fallito" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "Invalid size" msgstr "Dimensione non valida" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" "La dimensione %s non è valida. Deve essere nella forma larghezzaxaltezza" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:264 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:423 msgid "Invalid database location" msgstr "Percorso database non valido" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "
                                              Must be a directory." msgstr "
                                              Deve essere una cartella" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "Invalid database location " msgstr "Percorso database non valido " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 msgid "Invalid database location.
                                              Cannot write to " msgstr "Percorso database non valido.
                                              Impossibile scrivere su " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting database. This may take a while." msgstr "Compattazione database. Poterbbe richiedere un po' di tempo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting..." msgstr "Compattazione..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:329 msgid "Configuration" msgstr "Configurazione" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:409 msgid "" "&Location of ebooks (The ebooks are stored in folders sorted by author and " "metadata is stored in the file metadata.db)" @@ -1921,15 +2095,16 @@ msgstr "" "Per&corso dei libri (I libri sono salvati in cartelle salvate per autore e i " "metadati sono salvati nel file metadata.db)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:410 msgid "Browse for the new database location" msgstr "Sfoglia per specificare una nuova posizione del database" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:358 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:374 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:386 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:426 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:373 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:509 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:282 @@ -1952,35 +2127,29 @@ msgstr "Sfoglia per specificare una nuova posizione del database" msgid "..." msgstr "..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:412 msgid "Show notification when &new version is available" msgstr "&Visualizza un avvertimento quando è disponibile una nuova versione" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:360 -msgid "Ask for &confirmation before deleting files" -msgstr "&Chiedere conferma prima di eliminare i file" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:413 msgid "" -"If you disable this setting, metadatas is guessed from the filename instead. " +"If you disable this setting, metadata is guessed from the filename instead. " "This can be configured in the Advanced section." msgstr "" -"Se si disabilita questa impostazione, i metadati saranno indovinati dal nome " -"del file. Questa impostazione può essere configurata nella sezione Avanzata." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:414 msgid "Read &metadata from files" msgstr "Leggi &metadati dai file" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:415 msgid "Format for &single file save:" msgstr "&Formato per salvataggio singolo file:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:416 msgid "Default network &timeout:" msgstr "&Timeout predefinito della rete:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:417 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" @@ -1988,105 +2157,105 @@ msgstr "" "Imposta il timeout predefinito per gli scaricamenti dalla rete (cioè ogni " "volta che si usa Internet per prelevare informazioni)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:418 msgid " seconds" msgstr " secondi" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:419 msgid "Choose &language (requires restart):" msgstr "Scegliere la ling&ua (richiede il riavvio):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:420 msgid "Normal" msgstr "Normale" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:421 msgid "High" msgstr "Massima" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:422 msgid "Low" msgstr "Minima" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:423 msgid "Job &priority:" msgstr "&Priorità lavoro:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:425 msgid "Add a directory to the frequently used directories list" msgstr "Aggiunge una cartella alla lista delle cartelle usate frequentemente" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:427 msgid "Remove a directory from the frequently used directories list" msgstr "Rimuove una cartella dalla lista delle cartelle usate frequentemente" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:429 msgid "Use &Roman numerals for series number" msgstr "&Usa numeri romani per i numeri delle serie" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:430 msgid "&Number of covers to show in browse mode (after restart):" msgstr "" "&Numero di copertine da visualizzare nella modalità di sfogliatura (richiede " "riavvio):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:431 msgid "Toolbar" msgstr "Barra degli strumenti" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 msgid "Large" msgstr "Grande" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Medium" msgstr "Media" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 msgid "Small" msgstr "Piccola" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:435 msgid "&Button size in toolbar" msgstr "&Dimensione bottoni nella barra degli strumenti" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:436 msgid "Show &text in toolbar buttons" msgstr "&Mostra testo nei bottoni della barra degli strumenti" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:437 msgid "Select visible &columns in library view" msgstr "&Selezionare le colonne visibili nella vista biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:440 msgid "Use internal &viewer for the following formats:" msgstr "&Usa il lettore interno per i seguenti formati:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:441 msgid "Enable system &tray icon (needs restart)" msgstr "Abilita l'icona nel vassoio di sistema (richiede il riavvio)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:442 msgid "Automatically send downloaded &news to ebook reader" msgstr "Invia automaticamente le noti&zie scaricate al lettore di libri" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:443 msgid "&Delete news from library when it is sent to reader" msgstr "&Elimina le notizie dalla biblioteca dopo averle inviate al lettore" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:444 msgid "Free unused diskspace from the database" msgstr "Libera lo spazio non utilizzato dal database" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:445 msgid "&Compact database" msgstr "&Compatta database" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:446 msgid "&Metadata from file name" msgstr "&Metadati dal nome del file" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:447 msgid "" "calibre contains a network server that allows you to access your book " "collection using a browser from anywhere in the world. Any changes to the " @@ -2097,23 +2266,23 @@ msgstr "" "Qualsiasi cambiamento nella configurazione verrà attivato solo dopo il " "riavvio del server." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:448 msgid "Server &port:" msgstr "&Porta del server:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:146 msgid "&Username:" msgstr "&Nome utente:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:147 msgid "&Password:" msgstr "&Password:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:451 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." @@ -2121,13 +2290,13 @@ msgstr "" "Se si lascia la password in bianco, chiunque potrà accedere alla propria " "collezione di libri utilizzando l'interfaccia web." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:452 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:148 msgid "&Show password" msgstr "&Mostra password" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:453 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " @@ -2135,31 +2304,31 @@ msgstr "" "La dimensione massima (larghezzaxaltezza) per le copertine visualizzate. Le " "copertine più larghe vengono ridimensionate. " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:454 msgid "Max. &cover size:" msgstr "Dimensi&one massima copertina:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:455 msgid "&Start Server" msgstr "A&vvia il server" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:456 msgid "St&op Server" msgstr "&Ferma il server" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:457 msgid "&Test Server" msgstr "&Test sul server" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:458 msgid "Run server &automatically on startup" msgstr "Avvia a&utomaticamente il server all'apertura" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:459 msgid "View &server logs" msgstr "Visualizza i file di l&og del server" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 msgid "" "If you want to use the content server to access your ebook collection on " "your iphone with Stanza, you will need to add the URL " @@ -2173,6 +2342,44 @@ msgstr "" "proprio iphone. Mionomehost deve essere il nome host completo o l'indirizzo " "IP del computer." +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 +msgid "" +"Here you can customize the behavior of Calibre by controlling what plugins " +"it uses." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:462 +msgid "Enable/&Disable plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 +msgid "&Customize plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:464 +msgid "&Remove plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:465 +msgid "Add new plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:466 +msgid "Plugin &file:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:468 +msgid "&Add" +msgstr "&Aggiungi" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +msgid "Are you sure?" +msgstr "Si è sicuri?" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +msgid "&Show this warning again" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:41 msgid "ERROR" msgstr "ERRORE" @@ -2190,7 +2397,7 @@ msgstr "Converte %s in EPUB" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:296 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 msgid "Metadata" msgstr "Metadati" @@ -2252,25 +2459,25 @@ msgstr "Seleziona copertina per " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 msgid "Cannot read" msgstr "Impossibile leggere" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:52 msgid "You do not have permission to read the file: " msgstr "Non si hanno i permessi per leggere il file: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 msgid "Error reading file" msgstr "Errore nella lettura del file" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:184 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:61 msgid "

                                              There was an error reading from file:
                                              " msgstr "

                                              Si è verificato un errore nella lettura del file:
                                              " @@ -2280,7 +2487,7 @@ msgid " is not a valid picture" msgstr " non è un'immagine valida" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "Cannot convert" msgstr "Impossibile convertire" @@ -2954,7 +3161,7 @@ msgstr "Rimuovi for&mato:" msgid "A&utomatically set author sort" msgstr "Imposta a&utomaticamente la Classificazione autore" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:262 msgid "" "

                                              Enter your username and password for LibraryThing.com.
                                              If you " "do not have one, you can register " @@ -2964,19 +3171,19 @@ msgstr "" "
                                              Se non se ne possiede uno, è possibile registrarsi gratuitamente!

                                              " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover.
                                              " msgstr "Impossibile scaricare la copertina
                                              " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover" msgstr "Impossibile scaricare la copertina" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "Cannot fetch cover" msgstr "Impossibile scaricare la copertina" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "You must specify the ISBN identifier for this book." msgstr "È necessario specificare il codice ISBN di questo libro" @@ -3085,9 +3292,9 @@ msgstr "Aggiungi una fonte di notizie personalizzata" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:335 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:761 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:765 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1064 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:752 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:756 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1055 msgid "News" msgstr "Notizie" @@ -3603,52 +3810,62 @@ msgstr "In attesa" msgid "Working" msgstr "In esecuzione" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:162 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:166 +#: /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 "Impossibile terminare il lavoro" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 msgid "Cannot kill jobs that communicate with the device" msgstr "Impossibile annullare i processi che comunicano col dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:177 msgid "Job has already run" msgstr "Il lavoro è già stato avviato" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:907 msgid "Size (MB)" msgstr "Dimensione (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:908 msgid "Date" msgstr "Data" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 msgid "Rating" msgstr "Giudizio" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:274 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 msgid "None" msgstr "Nessuno" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 msgid "Book %s of %s." msgstr "Libro %s di %s" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:675 +msgid "Not allowed" +msgstr "Non permesso" + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:676 +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:839 msgid "Format" msgstr "Formato" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:844 msgid "Timestamp" msgstr "Timestamp" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:942 msgid "Search (For Advanced Search click the button to the left)" msgstr "Cerca (Per la ricerca avanzata fare clic sul bottone a sinistra)" @@ -3677,7 +3894,7 @@ msgid "No matches for the search phrase %s were found." msgstr "Nessuna corrispondenza trovata per la frase %s" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:377 msgid "No matches found" msgstr "Nessuna corrispondenza trovata" @@ -3702,12 +3919,12 @@ msgid "Previous Page" msgstr "Pagina precedente" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 msgid "Back" msgstr "Indietro" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 msgid "Forward" msgstr "Avanti" @@ -3716,7 +3933,7 @@ msgid "Next match" msgstr "Prossima corrispondenza" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:162 msgid "Open ebook" msgstr "Apri libro" @@ -3724,27 +3941,27 @@ msgstr "Apri libro" msgid "Configure" msgstr "Configurazione" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88 msgid "Error communicating with device" msgstr "Errore di comunicazione col dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 msgid "&Restore" msgstr "&Ripristina" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Donate" msgstr "&Dona" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Quit" msgstr "& Esci" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:104 msgid "&Restart" msgstr "&Riavvia" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:148 msgid "" "

                                              For help visit %s.kovidgoyal.net
                                              " @@ -3752,130 +3969,126 @@ msgstr "" "

                                              Per aiuto visitare %s.kovidgoyal.net
                                              " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:149 msgid "%s: %s by Kovid Goyal %%(version)s
                                              %%(device)s

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

                                              " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Send to main memory" msgstr "Invia alla memoria principale" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "Send to storage card" msgstr "Invia alla scheda di memoria" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "and delete from library" msgstr "ed elimina dalla biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 msgid "Send to storage card by default" msgstr "Invia alla scheda di memoria come imposazione predefinita" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 msgid "Edit metadata individually" msgstr "Modifica metadati individualmente" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:187 msgid "Edit metadata in bulk" msgstr "Modifica metadati in gruppo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 msgid "Add books from a single directory" msgstr "Aggiungi libri da una singola cartella" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:191 msgid "" -"Add books recursively (One book per directory, assumes every ebook file is " -"the same book in a different format)" +"Add books from directories, including sub-directories (One book per " +"directory, assumes every ebook file is the same book in a different format)" msgstr "" -"Aggiungi libri ricorsivamente (un libro per cartella, assume che ogni file " -"sia lo stesso libro in un diverso formato)" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 msgid "" -"Add books recursively (Multiple books per directory, assumes every ebook " -"file is a different book)" +"Add books from directories, including sub directories (Multiple books per " +"directory, assumes every ebook file is a different book)" msgstr "" -"Aggiungi libri ricorsivamente (più libri per cartella, assume che ogni file " -"sia un libro diverso)" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:342 msgid "Save to disk" msgstr "Salva su disco" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 msgid "Save to disk in a single directory" msgstr "Salva su disco in una singola cartella" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Save only %s format to disk" msgstr "Salva sul disco solo il formato %s" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:348 msgid "View" msgstr "Leggi" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:213 msgid "View specific format" msgstr "Leggi uno specifico formato" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:230 msgid "Convert individually" msgstr "Converti individualmente" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 msgid "Bulk convert" msgstr "Converti in gruppo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:233 msgid "Set defaults for conversion" msgstr "Imposta i parametri predefiniti per la conversione" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:234 msgid "Set defaults for conversion of comics" msgstr "Imposta i parametri predefiniti per la conversione di fumetti" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:255 msgid "Similar books..." msgstr "Libri simili..." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 msgid "Bad database location" msgstr "Percorso del database sbagliato" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1333 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1356 msgid "Choose a location for your ebook library." msgstr "Scegliere un percorso per la propria biblioteca." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:315 msgid "Migrating database" msgstr "Esportazione database" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:487 msgid "Device: " msgstr "Dispositivo: " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:488 msgid " detected." msgstr " individuato." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:510 msgid "Connected " msgstr "Connesso " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:521 msgid "Device database corrupted" msgstr "Database del dispositivo corrotto" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:522 msgid "" "\n" "

                                              The database of books on the reader is corrupted. Try the " @@ -3904,8 +4117,25 @@ msgstr "" " \n" " " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:572 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:668 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +msgid "Stop" +msgstr "Interrompi" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:574 +msgid "Adding books recursively..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Added " +msgstr "Aggiunto " + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Searching..." +msgstr "Ricerca in corso ..." + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:695 msgid "" "

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

                                                " @@ -3913,104 +4143,119 @@ msgstr "" "

                                                Nel database sono già presenti libri con i seguenti titoli. Aggiungerli " "ugualmente?

                                                  " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:575 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:698 msgid "Duplicates found!" msgstr "Scoperti duplicati!" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:649 msgid "Uploading books to device." msgstr "Caricamento libri nel dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:633 msgid "Books" msgstr "Libri" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:634 msgid "EPUB Books" msgstr "Libri EPUB" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:635 msgid "LRF Books" msgstr "Libri LRF" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:636 msgid "HTML Books" msgstr "Libri HTML" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:620 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:637 msgid "LIT Books" msgstr "Libri LIT" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:638 msgid "MOBI Books" msgstr "Libri MOBI" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:639 msgid "Text books" msgstr "Libri TXT" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:640 msgid "PDF Books" msgstr "Libri PDF" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:641 msgid "Comics" msgstr "Fumetti" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:642 msgid "Archives" msgstr "Archivi" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:661 +msgid "Reading metadata..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:659 +msgid "Adding books..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:685 +msgid "Read metadata from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:688 +msgid "Adding books to database..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:730 msgid "No space on device" msgstr "Spazio insufficiente sul dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:731 msgid "" "

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

                                                  Impossibile salvare libri sul dispositivo perché non c'è più spazio " "disponibile " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:736 -msgid "Confirm delete" -msgstr "Conferma elininazione" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:763 +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:737 -msgid "Are you sure you want to delete these %d books?" -msgstr "Si è sicuri di voler eliminare questi %d libri?" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 msgid "Deleting books from device." msgstr "Cancellamento libri dal dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 msgid "Cannot edit metadata" msgstr "Impossibile modificare i metadati" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "No books selected" msgstr "Nessun libro selezionato" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:848 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:871 msgid "Sending news to device." msgstr "Invio notizie al dispositivo in corso." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:923 msgid "Sending books to device." msgstr "Invio libri al dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:926 msgid "No suitable formats" msgstr "Nessun formato adatto" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:927 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found:

                                                    %s
                                                  " @@ -4018,15 +4263,15 @@ msgstr "" "Impossibile caricare i seguenti libri nel dispositivo, perché non è stato " "trovato nessun formato adatto:
                                                    %s
                                                  " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 msgid "Cannot save to disk" msgstr "Impossibile salvare sul disco" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:947 msgid "Choose destination directory" msgstr "Scegliere la cartella di destinazione" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:931 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:954 msgid "" "

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

                                                    " @@ -4034,64 +4279,64 @@ msgstr "" "

                                                    Impossibile salvare i libri seguenti su disco, perché il formato %s non è " "disponibile per loro:

                                                      " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:958 msgid "Could not save some ebooks" msgstr "Impossibile salvare alcuni libri" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:955 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:978 msgid "Fetching news from " msgstr "Scaricamento notizie da " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:992 msgid " fetched." msgstr " preso." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 msgid "No book selected" msgstr "Nessun libro selezionato" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 msgid "Cannot view" msgstr "Impossibile leggere" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1134 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1112 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1157 msgid "Choose the format to view" msgstr "Scegliere il formato da leggere" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 msgid "Cannot open folder" msgstr "Impossibile aprire la cartella" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1130 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1153 msgid "%s has no available formats." msgstr "%s non ha formati disponibili" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure" msgstr "Impossibile configurare" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure while there are running jobs." msgstr "Impossibile configurare mentre ci sono lavori in esecuzione" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1210 msgid "Copying database" msgstr "Sto copiando il database" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212 msgid "Copying library to " msgstr "Copia biblioteca in " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1222 msgid "Invalid database" msgstr "Database non valido" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1223 msgid "" "

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

                                                      Esiste già un database non valido in %s, eliminarlo prima di provare a " "spostare il database esistente.
                                                      Errore: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1229 msgid "Could not move database" msgstr "Impossibile spostare il database" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1226 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1249 msgid "No detailed info available" msgstr "Nessuna informazione dettagliata disponibile" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1227 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1250 msgid "No detailed information is available for books on the device." msgstr "" "Non è disponibile alcuna informazione dettagliata per i libri nel " "dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1270 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1293 msgid "Error talking to device" msgstr "Errore di comunicazione col dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1294 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -4125,13 +4370,13 @@ msgstr "" "Si è verificato un errore di comunicazione temporaneo col dispositivo. " "Disconnettere e riconnettere il dispositivo e/o riavviare" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1284 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1299 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1307 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1326 msgid "Conversion Error" msgstr "Errore di conversione" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 msgid "" "

                                                      Could not convert: %s

                                                      It is a DRMed book. You must " "first remove the DRM using 3rd party tools." @@ -4140,11 +4385,11 @@ msgstr "" "href=\"%s\">DRM. È necessario rimuovere prima il DRM usando programmi di " "terze parti." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1342 msgid "Database does not exist" msgstr "Il database non esiste" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1320 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1343 msgid "" "The directory in which the database should be: %s no longer exists. Please " "choose a new database location." @@ -4152,11 +4397,11 @@ msgstr "" "La cartella in cui il database dovrebbe essere: %s non esiste più. Scegliere " "una nuova posizione per il database." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1345 msgid "Choose new location for database" msgstr "Selezionare una nuova posizione per il database" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1375 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 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." @@ -4164,11 +4409,11 @@ msgstr "" "è il risultato degli sforzi di tanti volontari da tutto il mondo. Se lo " "trovi utile, puoi fare una donazione per supportare il suo sviluppo." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1396 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1419 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Ci sono lavori attivi. Uscire comunque?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1421 msgid "" " is communicating with the device!
                                                      \n" " 'Quitting may cause corruption on the device.
                                                      \n" @@ -4179,11 +4424,11 @@ msgstr "" "dispositivo.
                                                      \n" " 'Uscire comunque?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1402 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1425 msgid "WARNING: Active jobs" msgstr "ATTENZIONE: Lavori attivi" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -4191,7 +4436,7 @@ msgstr "" "continuerà a lavorare nel vassoio di sistema. Per chiuderlo, selezionare " "Esci nel menu contestuale del vassoio di sistema." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1444 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1467 msgid "" "Latest version: %s" @@ -4199,7 +4444,7 @@ msgstr "" "Ultima versione: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "" "%s has been updated to version %s. See the new features. " @@ -4209,15 +4454,15 @@ msgstr "" "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">nuove " "funzionalità. Una visita alla pagina del download?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "Update available" msgstr "Aggiornamento disponibile" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1464 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1487 msgid "Use the library located at the specified path." msgstr "Usa la biblioteca collocata nel percorso specificato." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1489 msgid "Log debugging information to console" msgstr "Invia le informazioni di debug alla console" @@ -4533,7 +4778,7 @@ msgid "The standard font type" msgstr "Il tipo di carattere predefinito" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:47 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 msgid "Table of Contents" msgstr "Sommario" @@ -4559,59 +4804,59 @@ msgstr "" msgid "Search for text in book" msgstr "Cerca del testo nel libro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:338 msgid "Choose ebook" msgstr "Scelta libro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:339 msgid "Ebooks" msgstr "Libri" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Add bookmark" msgstr "Aggiungi segnalibro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Enter title for bookmark:" msgstr "Inserire il titolo per il segnalibro:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:378 msgid "No matches found for: %s" msgstr "Nessuna corrispondenza trovata per %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 msgid "Loading flow..." msgstr "Caricamento..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:445 msgid "Laying out %s" msgstr "Impaginazione %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:497 msgid "Loading ebook..." msgstr "Caricamento libro..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "

                                                      This book is protected by DRM" msgstr "

                                                      Questo libro è protetto da DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "DRM Error" msgstr "Errore DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:507 msgid "Could not open ebook" msgstr "Impossibile aprire il libro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:508 msgid "%s

                                                      %s

                                                      " msgstr "%s

                                                      %s

                                                      " -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 msgid "Options to control the ebook viewer" msgstr "Opzioni per controllare il visualizzatore di libri" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:577 msgid "" "%prog [options] file\n" "\n" @@ -4621,50 +4866,54 @@ msgstr "" "\n" "Visualizza un libro. \n" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 msgid "Ebook Viewer" msgstr "Visualizzatore di libri" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 msgid "toolBar" msgstr "Barra degli strumenti" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 msgid "Next page" msgstr "Pagina successiva" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 msgid "Previous page" msgstr "Pagina precedente" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 msgid "Font size larger" msgstr "Dimensione del font maggiore" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 msgid "Font size smaller" msgstr "Dimensione del font minore" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:163 msgid "Find next" msgstr "Trova successivo" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:164 msgid "Copy to clipboard" msgstr "Copia negli appunti" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:165 msgid "Preferences" msgstr "Preferenze" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:166 msgid "Reference Mode" msgstr "Modalità riferimento" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:167 msgid "Bookmark" msgstr "Segnalibro" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168 +msgid "Toggle full screen" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:47 msgid "Invalid regular expression" msgstr "Espressione regolare non valida" @@ -5058,21 +5307,21 @@ msgstr "" "\n" "Per aiuto su un comando particolare: %%prog command --help\n" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1146 msgid "

                                                      Copying books to %s

                                                      " msgstr "

                                                      Sto copiando i libri in %s

                                                      " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1157 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1266 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1159 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1268 msgid "Copying %s" msgstr "Sto copiando %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1237 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "

                                                      Migrating old database to ebook library in %s

                                                      " msgstr "" "

                                                      Sto migrando il vecchio database nella nuova biblioteca in %s

                                                      " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1285 msgid "Compacting database" msgstr "Compattazione database" @@ -5099,47 +5348,47 @@ msgstr "Impossibile avviare il gestore dei lavori." msgid "Job stopped by user" msgstr "Lavoro fermato dall'utente" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:39 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:41 msgid "%sUsage%s: %s\n" msgstr "%sUso%s: %s\n" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:77 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:79 msgid "Created by " msgstr "Creato da " -#: /home/kovid/work/calibre/src/calibre/utils/config.py:524 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:527 msgid "Path to the database in which books are stored" msgstr "Percorso del database in cui sono salvati i libri" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:526 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:529 msgid "Pattern to guess metadata from filenames" msgstr "Modelli per indovinare i metadati dai nomi dei file" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:528 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:531 msgid "Access key for isbndb.com" msgstr "Chiave di accesso per isbndb.com" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:530 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:533 msgid "Default timeout for network operations (seconds)" msgstr "Timeout predefinito per le operazioni di rete (secondi)" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:532 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:535 msgid "Path to directory in which your library of books is stored" msgstr "Percorso alla cartella in cui è salvata la biblioteca" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:534 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:537 msgid "The language in which to display the user interface" msgstr "La lingua in cui visualizzare l'interfaccia utente" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:536 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:539 msgid "The default output format for ebook conversions." msgstr "Il formato predefinito per la conversione dei libri." -#: /home/kovid/work/calibre/src/calibre/utils/config.py:538 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:541 msgid "Read metadata from files" msgstr "Leggi metadati dai file" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:540 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:543 msgid "The priority of worker processes" msgstr "La priorità dei processi di lavoro" @@ -5549,6 +5798,20 @@ msgstr "Mostra un output dettagliato. Utile per il debugging" #~ msgid "Double click to edit me

                                                      " #~ msgstr "Doppio clic per modificarmi

                                                      " +#~ msgid "" +#~ "Add books recursively (One book per directory, assumes every ebook file is " +#~ "the same book in a different format)" +#~ msgstr "" +#~ "Aggiungi libri ricorsivamente (un libro per cartella, assume che ogni file " +#~ "sia lo stesso libro in un diverso formato)" + +#~ msgid "" +#~ "Add books recursively (Multiple books per directory, assumes every ebook " +#~ "file is a different book)" +#~ msgstr "" +#~ "Aggiungi libri ricorsivamente (più libri per cartella, assume che ogni file " +#~ "sia un libro diverso)" + #~ msgid "News fetched. Uploading to device." #~ msgstr "Notizie scaricate. Salvataggio sul dispositivo" @@ -5614,6 +5877,15 @@ msgstr "Mostra un output dettagliato. Utile per il debugging" #~ "Campi disponibili: %s\n" #~ "Predefinito: %%default" +#~ msgid "Ask for &confirmation before deleting files" +#~ msgstr "&Chiedere conferma prima di eliminare i file" + +#~ msgid "Confirm delete" +#~ msgstr "Conferma elininazione" + +#~ msgid "Are you sure you want to delete these %d books?" +#~ msgstr "Si è sicuri di voler eliminare questi %d libri?" + #~ msgid "Cannot kill waiting job" #~ msgstr "Impossibile uccidere il lavoro in attesa" @@ -5647,6 +5919,13 @@ msgstr "Mostra un output dettagliato. Utile per il debugging" #~ msgid "&Output format:" #~ msgstr "&Formato in uscita:" +#~ msgid "" +#~ "If you disable this setting, metadatas is guessed from the filename instead. " +#~ "This can be configured in the Advanced section." +#~ msgstr "" +#~ "Se si disabilita questa impostazione, i metadati saranno indovinati dal nome " +#~ "del file. Questa impostazione può essere configurata nella sezione Avanzata." + #~ msgid "" #~ "The fields to display when listing books in the database. Should be a comma " #~ "separated list of fields.\n" diff --git a/src/calibre/translations/nb.po b/src/calibre/translations/nb.po index ee57947c3c..b2a4e7164d 100644 --- a/src/calibre/translations/nb.po +++ b/src/calibre/translations/nb.po @@ -7,24 +7,198 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2008-12-18 01:36+0000\n" +"POT-Creation-Date: 2008-12-30 15:33+0000\n" "PO-Revision-Date: 2008-12-05 23:40+0000\n" "Last-Translator: Helene Klungvik \n" "Language-Team: Norwegian Bokmal \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-12-23 17:57+0000\n" +"X-Launchpad-Export-Date: 2009-01-04 04:32+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:137 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:155 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:193 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 +msgid "Does absolutely nothing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:478 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:961 +#: /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 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 +#: /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:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 +#: /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:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:78 +#: /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:793 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:835 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:915 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 +#: /home/kovid/work/calibre/src/calibre/library/database.py:920 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1580 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:461 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:808 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:841 +msgid "Unknown" +msgstr "Ukjent" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:62 +msgid "Base" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 +msgid "File type" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:182 +msgid "Metadata reader" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:209 +msgid "Metadata writer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:12 +msgid "" +"Follow all local links in an HTML file and create a ZIP file containing all " +"linked files. This plugin is run every time you add an HTML file to the " +"library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:32 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:42 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:53 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:63 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:73 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:83 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:105 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:135 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:145 +msgid "Read metadata from %s files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:155 +msgid "Extract cover from comic files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:175 +msgid "Set metadata in EPUB files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:185 +msgid "Set metadata in LRF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:195 +msgid "Set metadata in RTF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:28 +msgid "Installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:29 +msgid "Mapping for filetype plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 +msgid "Local plugin customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 +msgid "Disabled plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:66 +msgid "No valid plugin found in " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:170 +msgid "Initialization of plugin %s failed with traceback:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:247 +msgid "" +" %prog options\n" +" \n" +" Customize calibre by loading external plugins.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:253 +msgid "Add a plugin by specifying the path to the zip file containing it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:255 +msgid "Remove a custom plugin by name. Has no effect on builtin plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:257 +msgid "" +"Customize plugin. Specify name of plugin and customization string separated " +"by a comma." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:259 +msgid "List all installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:261 +msgid "Enable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:263 +msgid "Disable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:158 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:196 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:224 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "Finner ikke %s lagringsenheten. Venligst prøv å restarte." -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:409 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:412 msgid "The reader has no storage card connected." msgstr "Lesebrettet har ikke et lagringskort tilknyttet seg." @@ -238,64 +412,7 @@ msgid "" "Extract the contents of the produced EPUB file to the specified directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:43 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:477 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 -#: /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 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 -#: /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:196 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:65 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:67 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:100 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:102 -#: /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:793 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 -#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:342 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:828 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:650 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 -#: /home/kovid/work/calibre/src/calibre/library/database.py:920 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1564 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:477 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:489 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:817 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 -msgid "Unknown" -msgstr "Ukjent" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:154 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:156 msgid "" "%%prog [options] filename\n" "\n" @@ -303,11 +420,11 @@ msgid "" "formats are: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:100 msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:157 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:158 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -318,13 +435,13 @@ msgid "" "the element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:389 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:737 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:391 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:739 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:411 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1035 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:413 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1046 msgid "You must specify an input HTML file" msgstr "" @@ -343,87 +460,87 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:490 msgid "Written processed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:820 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:827 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:838 msgid "The output directory. Default is the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:829 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:840 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:842 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:833 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:844 msgid "Control the following of links in HTML files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:835 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:846 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:837 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:848 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:839 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:850 msgid "Set metadata of the generated ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:841 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:852 msgid "Set the title. Default is to autodetect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:843 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:854 msgid "The author(s) of the ebook, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:845 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:856 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:847 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:858 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:849 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:860 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:851 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:862 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:853 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:864 msgid "Options useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:866 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:857 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:868 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:863 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:874 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -445,7 +562,7 @@ msgid "%prog [options] LITFILE" msgstr "%applikasjon [opsjoner] LITFIL" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:852 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:444 msgid "Output directory. Defaults to current directory." msgstr "Lagringskatalog. Standard er nåværende katalog" @@ -456,20 +573,20 @@ msgstr "" "tabulatorer og linjeskift blir modifisert." #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:723 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:724 msgid "Useful for debugging." msgstr "Praktisk for feilsøking." #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:869 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:468 msgid "OEB ebook created in" msgstr "OEB bok opprettet i" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:717 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:718 msgid "%prog [options] OPFFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:720 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:721 msgid "Output file. Default is derived from input filename." msgstr "" @@ -502,7 +619,7 @@ msgstr "Sorteringsnøkkel for forfatter" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:275 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 msgid "Publisher" msgstr "Forlag" @@ -802,11 +919,11 @@ msgstr "" "for Windows maskiner er cp-1252. utf-8 er også et vanlig valg. Vanlig " "forsøks vinkel er å gjette tegnkoden." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:161 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:164 msgid "Converting from %s to LRF is not supported." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:171 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:175 msgid "" "any2lrf [options] myfile\n" "\n" @@ -823,78 +940,78 @@ msgstr "" "eller ZIP arkiv ved å søke etter ebøker inni arkivet.\n" " " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:186 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:190 msgid "No file to convert specified." msgstr "Ingen fil angitt for konvertering" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:221 msgid "Rendered %s" msgstr "Gjengitt %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:223 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 msgid "Failed %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:275 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:276 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:283 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "" "Opsjoner for å kontrollere konverteringen av tegneserier (CBR, CBZ) filer " "til digitale bøker." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:289 msgid "Title for generated ebook. Default is to use the filename." msgstr "Tittel for generert digitalbok. Standard er å bruke filnavnet." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" "Angi forfatter i metadataene til generert digitalbok. Standard er %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 msgid "" "Path to output file. By default a file is created in the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:296 msgid "Number of colors for grayscale image conversion. Default: %default" msgstr "" "Antall farger brukt for gråskala bildekonvertering. Standard er %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Forhindre normalisering (forbedre kontrasten) av farge rangering for bilder. " "Standard: False" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "Beholde bilde sideforhold. Standard er å fylle hele skjermen." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 msgid "Disable sharpening." msgstr "Ikke foreta skjerping av bilder" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 msgid "Don't split landscape images into two portrait images" msgstr "Ikke splitt landskapsbilder i to portrett bilder" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:307 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:308 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -903,13 +1020,13 @@ msgstr "" "landskapssider blir splittet til portrettbilder som leses fra høyre til " "venstre." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:310 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:312 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -917,14 +1034,14 @@ msgstr "" "Ikke sorter filene i tegneserien alfabetisk etter navn. Bruk rekkefølgen " "filene ble lagt til i tegneserien." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:314 msgid "" "Choose a profile for the device you are generating this file for. The " "default is the SONY PRS-500 with a screen size of 584x754 pixels. This is " "suitable for any reader with the same screen size. Choices are %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:316 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " "greater verbosity." @@ -932,22 +1049,22 @@ msgstr "" "Informativ modus, nyttig for feilretting. Kan bli spesifisert flere ganger " "for å motta ytterligere informasjon." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:318 msgid "Don't show progress bar." msgstr "Ikke vis fremskrittssøyle." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:322 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" "Convert a comic in a CBZ or CBR file to an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:382 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:383 msgid "Output written to" msgstr "Utdata blir skrevet til" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:423 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:426 msgid "Rendering comic pages..." msgstr "Prosesserer tegneserie sider..." @@ -997,56 +1114,56 @@ msgstr "Opsjoner for å kontrollere oppførselen til html2lrf" msgid "Fetching of recipe failed: " msgstr "Innehenting av oppskrift feilet: " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 msgid "\tBook Designer file detected." msgstr "\tBook Designer fil oppdaget." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tParsing HTML..." msgstr "\tProsesserer HTML..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:340 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:343 msgid "\tBaen file detected. Re-parsing..." msgstr "\tBaen fil oppdaget. Analyserer på nytt..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:356 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:359 msgid "Written preprocessed HTML to " msgstr "Skrevet førbehandlet HTML til " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:377 msgid "Processing %s" msgstr "Behandler %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:388 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:391 msgid "\tConverting to BBeB..." msgstr "\tKonverterer til BBeB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:534 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:547 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:550 msgid "Could not parse file: %s" msgstr "Kunne ikke analysere fil: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:542 msgid "%s is an empty file" msgstr "%s er en innholdsløs fil" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:559 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:562 msgid "Failed to parse link %s %s" msgstr "Analysering av lenken feilet %s %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:603 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:606 msgid "Cannot add link %s to TOC" msgstr "Kan ikke legge til lenken %s i innholdsregisteret" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:958 msgid "Unable to process image %s. Error: %s" msgstr "Kunne ikke behandle bilde %s. Feilmelding: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:996 msgid "Unable to process interlaced PNG %s" msgstr "Behandlingen av linjeflettet PNG feilet %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1008 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1011 msgid "" "Could not process image: %s\n" "%s" @@ -1054,14 +1171,14 @@ msgstr "" "Behandlingen av bildet feilet: %s\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1765 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "" "Under behandlingen av en tabell inntraff det en feil: %s. Ignorer tabell " "markup." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1767 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 msgid "" "Bad table:\n" "%s" @@ -1069,29 +1186,29 @@ msgstr "" "Dårlig tabell:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1789 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 msgid "Table has cell that is too large" msgstr "Tabellen har en celle som er for stor" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1819 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." msgstr "Nettstedet %s må lagres som en html fil før man kjører html2lrf." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 msgid "Could not read cover image: %s" msgstr "Kunne ikke lese omslagsbilde: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 msgid "Cannot read from: %s" msgstr "Kan ikke lese fra: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "Failed to process opf file" msgstr "Behandlingen av opf filen feilet" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2009 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1318,17 +1435,17 @@ msgstr "" #: /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:91 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:330 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:899 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:906 msgid "Author(s)" msgstr "" @@ -1347,24 +1464,24 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:391 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:527 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:838 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:845 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Series" @@ -1481,11 +1598,11 @@ msgstr "Bruksmåte: pdf-meta fil.pdf" msgid "Usage: rb-meta file.rb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:440 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:464 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 msgid "Raw MOBI HTML saved in" msgstr "" @@ -1493,84 +1610,84 @@ msgstr "" msgid "The output directory. Defaults to the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:26 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:424 msgid "Frequently used directories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:27 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:29 msgid "The format to use when saving single files to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:31 msgid "Confirm before deleting" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 msgid "Toolbar icon size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 msgid "Show button labels in the toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 msgid "Main window geometry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 msgid "Notify when a new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Use Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Sort tags list by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Number of covers to show in the cover browsing mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Options for the LRF ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 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:57 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Delete books from library after uploading to device" msgstr "" @@ -1609,8 +1726,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:282 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:840 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "" @@ -1619,7 +1736,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:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Formats" @@ -1634,6 +1751,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:53 msgid "TextLabel" @@ -1709,90 +1827,143 @@ msgstr "" msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 +msgid " plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:106 +msgid "by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "General" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 msgid "" "Content\n" "Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 +msgid "Plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:255 +msgid "No valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:256 +msgid "%s is not a valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +msgid "Choose plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:270 +msgid "Plugin cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:271 +msgid "The plugin: %s cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +msgid "Plugin not customizable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:282 +msgid "Plugin: %s does not need customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +msgid "Customize %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:295 +msgid "Cannot remove builtin plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:296 +msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:317 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:321 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:382 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:264 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:423 msgid "Invalid database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "
                                                      Must be a directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "Invalid database location " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 msgid "Invalid database location.
                                                      Cannot write to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting database. This may take a while." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:329 msgid "Configuration" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:409 msgid "" "&Location of ebooks (The ebooks are stored in folders sorted by author and " "metadata is stored in the file metadata.db)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:410 msgid "Browse for the new database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:358 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:374 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:386 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:426 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:373 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:509 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:282 @@ -1815,200 +1986,196 @@ msgstr "" msgid "..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:412 msgid "Show notification when &new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:360 -msgid "Ask for &confirmation before deleting files" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:413 msgid "" -"If you disable this setting, metadatas is guessed from the filename instead. " +"If you disable this setting, metadata is guessed from the filename instead. " "This can be configured in the Advanced section." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:414 msgid "Read &metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:415 msgid "Format for &single file save:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:416 msgid "Default network &timeout:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:417 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:418 msgid " seconds" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:419 msgid "Choose &language (requires restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:420 msgid "Normal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:421 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:422 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:423 msgid "Job &priority:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:425 msgid "Add a directory to the frequently used directories list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:427 msgid "Remove a directory from the frequently used directories list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:429 msgid "Use &Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:430 msgid "&Number of covers to show in browse mode (after restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:431 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 msgid "Large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Medium" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:435 msgid "&Button size in toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:436 msgid "Show &text in toolbar buttons" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:437 msgid "Select visible &columns in library view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:440 msgid "Use internal &viewer for the following formats:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:441 msgid "Enable system &tray icon (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:442 msgid "Automatically send downloaded &news to ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:443 msgid "&Delete news from library when it is sent to reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:444 msgid "Free unused diskspace from the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:445 msgid "&Compact database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:446 msgid "&Metadata from file name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:447 msgid "" "calibre contains a network server that allows you to access your book " "collection using a browser from anywhere in the world. Any changes to the " "settings will only take effect after a server restart." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:448 msgid "Server &port:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:146 msgid "&Username:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:147 msgid "&Password:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:451 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:452 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:148 msgid "&Show password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:453 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:454 msgid "Max. &cover size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:455 msgid "&Start Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:456 msgid "St&op Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:457 msgid "&Test Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:458 msgid "Run server &automatically on startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:459 msgid "View &server logs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 msgid "" "If you want to use the content server to access your ebook collection on " "your iphone with Stanza, you will need to add the URL " @@ -2017,6 +2184,44 @@ msgid "" "address of this computer." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 +msgid "" +"Here you can customize the behavior of Calibre by controlling what plugins " +"it uses." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:462 +msgid "Enable/&Disable plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 +msgid "&Customize plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:464 +msgid "&Remove plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:465 +msgid "Add new plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:466 +msgid "Plugin &file:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:468 +msgid "&Add" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +msgid "Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +msgid "&Show this warning again" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:41 msgid "ERROR" msgstr "" @@ -2034,7 +2239,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:296 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 msgid "Metadata" msgstr "" @@ -2088,25 +2293,25 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 msgid "Cannot read" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:52 msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 msgid "Error reading file" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:184 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:61 msgid "

                                                      There was an error reading from file:
                                                      " msgstr "" @@ -2116,7 +2321,7 @@ msgid " is not a valid picture" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "Cannot convert" msgstr "" @@ -2736,26 +2941,26 @@ msgstr "" msgid "A&utomatically set author sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:262 msgid "" "

                                                      Enter your username and password for LibraryThing.com.
                                                      If you " "do not have one, you can register " "for free!.

                                                      " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover.
                                                      " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "You must specify the ISBN identifier for this book." msgstr "" @@ -2861,9 +3066,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:335 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:761 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:765 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1064 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:752 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:756 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1055 msgid "News" msgstr "" @@ -3332,52 +3537,62 @@ msgstr "" msgid "Working" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:162 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:166 +#: /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 "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 msgid "Cannot kill jobs that communicate with the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:167 +#: /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:93 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:907 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:908 msgid "Date" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 msgid "Rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:274 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 msgid "None" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 msgid "Book %s of %s." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:675 +msgid "Not allowed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:676 +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:839 msgid "Format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:844 msgid "Timestamp" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:942 msgid "Search (For Advanced Search click the button to the left)" msgstr "" @@ -3406,7 +3621,7 @@ msgid "No matches for the search phrase %s were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:377 msgid "No matches found" msgstr "" @@ -3431,12 +3646,12 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 msgid "Back" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 msgid "Forward" msgstr "" @@ -3445,7 +3660,7 @@ msgid "Next match" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:162 msgid "Open ebook" msgstr "" @@ -3453,152 +3668,152 @@ msgstr "" msgid "Configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88 msgid "Error communicating with device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Donate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Quit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:104 msgid "&Restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:148 msgid "" "

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

                                                      " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Send to main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "Send to storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 msgid "Send to storage card by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 msgid "Edit metadata individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:187 msgid "Edit metadata in bulk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 msgid "Add books from a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:191 msgid "" -"Add books recursively (One book per directory, assumes every ebook file is " -"the same book in a different format)" +"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:190 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 msgid "" -"Add books recursively (Multiple books per directory, assumes every ebook " -"file is a different book)" +"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:205 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:342 msgid "Save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 msgid "Save to disk in a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Save only %s format to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:348 msgid "View" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:213 msgid "View specific format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:230 msgid "Convert individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 msgid "Bulk convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:233 msgid "Set defaults for conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:234 msgid "Set defaults for conversion of comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:255 msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 msgid "Bad database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1333 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1356 msgid "Choose a location for your ebook library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:315 msgid "Migrating database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:487 msgid "Device: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:488 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:510 msgid "Connected " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:521 msgid "Device database corrupted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:522 msgid "" "\n" "

                                                      The database of books on the reader is corrupted. Try the " @@ -3614,288 +3829,320 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:572 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:668 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +msgid "Stop" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:574 +msgid "Adding books recursively..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Added " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Searching..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:695 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:575 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:698 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:649 msgid "Uploading books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:633 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:634 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:635 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:636 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:620 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:637 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:638 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:639 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:640 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:641 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:642 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:661 +msgid "Reading metadata..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:659 +msgid "Adding books..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:685 +msgid "Read metadata from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:688 +msgid "Adding books to database..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:730 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:731 msgid "" "

                                                        Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:736 -msgid "Confirm delete" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:763 +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:737 -msgid "Are you sure you want to delete these %d books?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 msgid "Cannot edit metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "No books selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:848 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:871 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:923 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:926 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:927 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:920 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 msgid "Cannot save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:947 msgid "Choose destination directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:931 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:954 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:935 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:958 msgid "Could not save some ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:955 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:978 msgid "Fetching news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:992 msgid " fetched." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 msgid "No book selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 msgid "Cannot view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1134 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1112 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1157 msgid "Choose the format to view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1130 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1153 msgid "%s has no available formats." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure while there are running jobs." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1210 msgid "Copying database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212 msgid "Copying library to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1222 msgid "Invalid database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1223 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:1206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1229 msgid "Could not move database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1226 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1249 msgid "No detailed info available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1227 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1250 msgid "No detailed information is available for books on the device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1270 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1293 msgid "Error talking to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1294 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:1284 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1299 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1307 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1326 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 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:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1342 msgid "Database does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1320 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1343 msgid "" "The directory in which the database should be: %s no longer exists. Please " "choose a new database location." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1345 msgid "Choose new location for database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1375 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 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:1396 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1419 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1421 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:1402 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1425 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 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:1444 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1467 msgid "" "Latest version: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 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:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1464 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1487 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1489 msgid "Log debugging information to console" msgstr "" @@ -4199,7 +4446,7 @@ msgid "The standard font type" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:47 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 msgid "Table of Contents" msgstr "" @@ -4223,109 +4470,113 @@ msgstr "" msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:338 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:339 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:378 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:445 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:497 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "

                                                          This book is protected by DRM" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:507 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:508 msgid "%s

                                                          %s

                                                          " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:577 msgid "" "%prog [options] file\n" "\n" "View an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 msgid "Ebook Viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 msgid "toolBar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 msgid "Next page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 msgid "Previous page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 msgid "Font size larger" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 msgid "Font size smaller" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:163 msgid "Find next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:164 msgid "Copy to clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:165 msgid "Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:166 msgid "Reference Mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:167 msgid "Bookmark" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168 +msgid "Toggle full screen" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:47 msgid "Invalid regular expression" msgstr "" @@ -4622,20 +4873,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1146 msgid "

                                                          Copying books to %s

                                                          " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1157 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1266 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1159 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1268 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1237 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "

                                                          Migrating old database to ebook library in %s

                                                          " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1285 msgid "Compacting database" msgstr "" @@ -4658,47 +4909,47 @@ msgstr "" msgid "Job stopped by user" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:39 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:41 msgid "%sUsage%s: %s\n" msgstr "%sBruksområde%s: %s\n" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:77 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:79 msgid "Created by " msgstr "Utviklet av " -#: /home/kovid/work/calibre/src/calibre/utils/config.py:524 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:527 msgid "Path to the database in which books are stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:526 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:529 msgid "Pattern to guess metadata from filenames" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:528 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:531 msgid "Access key for isbndb.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:530 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:533 msgid "Default timeout for network operations (seconds)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:532 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:535 msgid "Path to directory in which your library of books is stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:534 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:537 msgid "The language in which to display the user interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:536 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:539 msgid "The default output format for ebook conversions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:538 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:541 msgid "Read metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:540 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:543 msgid "The priority of worker processes" msgstr "" diff --git a/src/calibre/translations/nds.po b/src/calibre/translations/nds.po index fb584448b0..505e0c0c06 100644 --- a/src/calibre/translations/nds.po +++ b/src/calibre/translations/nds.po @@ -7,25 +7,212 @@ msgid "" msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-12-18 01:36+0000\n" -"PO-Revision-Date: 2008-12-19 00:31+0000\n" +"POT-Creation-Date: 2008-12-30 15:33+0000\n" +"PO-Revision-Date: 2009-01-04 01:54+0000\n" "Last-Translator: S. Dorscht \n" "Language-Team: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-12-23 17:56+0000\n" +"X-Launchpad-Export-Date: 2009-01-04 04:32+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:137 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:155 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:193 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 +msgid "Does absolutely nothing" +msgstr "Macht gar nix" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:478 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:961 +#: /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 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 +#: /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:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 +#: /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:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:78 +#: /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:793 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:835 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:915 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 +#: /home/kovid/work/calibre/src/calibre/library/database.py:920 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1580 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:461 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:808 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:841 +msgid "Unknown" +msgstr "Unbekannt" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:62 +msgid "Base" +msgstr "Basis" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 +msgid "File type" +msgstr "Datei Typ" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:182 +msgid "Metadata reader" +msgstr "Metadaten Reader" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:209 +msgid "Metadata writer" +msgstr "Metadaten Writer" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:12 +msgid "" +"Follow all local links in an HTML file and create a ZIP file containing all " +"linked files. This plugin is run every time you add an HTML file to the " +"library." +msgstr "" +"Folge alle lokalen Verweise in einer HTML Datei und erstelle eine ZIP Datei " +"mit allen verlinkten Dateien. Dieses Plugin läuft immer, wenn sie eine HTML " +"Datei zur Bibliothek hinzufügen." + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:32 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:42 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:53 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:63 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:73 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:83 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:105 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:135 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:145 +msgid "Read metadata from %s files" +msgstr "Metadaten aus %s Dateien lesen" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:155 +msgid "Extract cover from comic files" +msgstr "Cover aus Comic Dateien extrahieren" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:175 +msgid "Set metadata in EPUB files" +msgstr "Metadaten in EPUB Dateien angeben" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:185 +msgid "Set metadata in LRF files" +msgstr "Metadaten in LRF Dateien angeben" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:195 +msgid "Set metadata in RTF files" +msgstr "Metadaten in RTF Dateien angeben" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:28 +msgid "Installed plugins" +msgstr "Installierte Plugins" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:29 +msgid "Mapping for filetype plugins" +msgstr "Mapping für Dateityp Plugins" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 +msgid "Local plugin customization" +msgstr "Lokale Plugin Anpassung" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 +msgid "Disabled plugins" +msgstr "Ausgeschaltene Plugins" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:66 +msgid "No valid plugin found in " +msgstr "Kein gültiges Plugin gefunden in " + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:170 +msgid "Initialization of plugin %s failed with traceback:" +msgstr "Staren des Plugins %s schlug fehl. Traceback:" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:247 +msgid "" +" %prog options\n" +" \n" +" Customize calibre by loading external plugins.\n" +" " +msgstr "" +" %prog options\n" +" \n" +" Calibre anpassen durch das Laden externer Plugins.\n" +" " + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:253 +msgid "Add a plugin by specifying the path to the zip file containing it." +msgstr "" +"Plugin hinzufügen durch die Angabe des Pfads zur ZIP Datei, die das Plugin " +"enthält." + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:255 +msgid "Remove a custom plugin by name. Has no effect on builtin plugins" +msgstr "" +"Anpassbares Plugin entfernen. Dies hat keinen Einfluss auf festinstallierte " +"Plugins" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:257 +msgid "" +"Customize plugin. Specify name of plugin and customization string separated " +"by a comma." +msgstr "" +"Plugin anpassen. Geben Sie den Namen des Pugins und die Anpassung durch ein " +"Komma getrennt an." + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:259 +msgid "List all installed plugins" +msgstr "Installierte Plugins auflisten" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:261 +msgid "Enable the named plugin" +msgstr "Gewähltes Plugin einschalten" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:263 +msgid "Disable the named plugin" +msgstr "Gewähltes Plugin ausschalten" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:158 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:196 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:224 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "Konnte das Laufwerk %s nicht finden. Versuchen Sie einen Neustart." -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:409 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:412 msgid "The reader has no storage card connected." msgstr "Im Reader ist keine Speicherkarte eingesteckt." @@ -263,64 +450,7 @@ msgstr "" "Den Inhalt der erstellten EPUB Datei in das angegebene Verzeichnis " "extrahieren." -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:43 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:477 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 -#: /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 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 -#: /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:196 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:65 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:67 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:100 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:102 -#: /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:793 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 -#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:342 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:828 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:650 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 -#: /home/kovid/work/calibre/src/calibre/library/database.py:920 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1564 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:477 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:489 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:817 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 -msgid "Unknown" -msgstr "Unbekannt" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:154 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:156 msgid "" "%%prog [options] filename\n" "\n" @@ -332,11 +462,11 @@ msgstr "" "Konvertiert verschiedenste eBook Formate in eine %s Datei. Unterstützte " "Formate: %s\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:100 msgid "Could not find an ebook inside the archive" msgstr "Konnte kein eBook im Archiv finden" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:157 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:158 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -354,13 +484,13 @@ msgstr "" "Verknüpfungen aus dem\n" " Element der OPF Datei verwendet. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:389 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:737 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:391 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:739 msgid "Output written to " msgstr "Ausgabe geschrieben nach " -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:411 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1035 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:413 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1046 msgid "You must specify an input HTML file" msgstr "Geben Sie eine Eingabedatei im HTML Format an." @@ -383,25 +513,25 @@ msgstr "" "\t\tZu viel Textauszeichnung. Wieder-Aufteilung ohne Bewahrung der Struktur. " "Dies kann zu falschem Rendering führen." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:490 msgid "Written processed HTML to " msgstr "Verarbeitetes HTML wurde geschrieben in " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:820 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 msgid "Options to control the traversal of HTML" msgstr "Einstellungen zur Kontrolle der Durchforstung von HTML" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:827 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:838 msgid "The output directory. Default is the current directory." msgstr "Ausgabeverzeichnis. Voreinstellung ist das aktuelle Verzeichnis." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:829 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:840 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" "Zeichenkodierung für HTML Dateien. Die Voreinstellung ist automatisches " "Erkennen." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:842 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." @@ -409,11 +539,11 @@ msgstr "" "Erstellt die Ausgabe in eine ZIP Datei. Wird diese Option angegeben, sollte -" "-output der Name einer Datei und nicht eines Verzeichnisses sein." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:833 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:844 msgid "Control the following of links in HTML files." msgstr "Kontrolliert die Verfolgung von Verknüpfungen in HTML Dateien." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:835 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:846 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" @@ -421,7 +551,7 @@ msgstr "" "Durchforstet Verknüpfungen in HTML Dateien zuerst in die Breite. " "Normalerweise werden sie zuerst in die Tiefe durchforstet" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:837 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:848 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." @@ -430,39 +560,39 @@ msgstr "" "Dateien. Darf nicht negativ sein. 0 gibt an, dass keine Verknüpfungen in der " "ursprünglichen HTML Datei verfolgt werden." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:839 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:850 msgid "Set metadata of the generated ebook" msgstr "Geben Sie die Metadaten des erstellten eBooks an" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:841 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:852 msgid "Set the title. Default is to autodetect." msgstr "Geben Sie den Titel an. Voreinstellung ist automatische Ermittlung." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:843 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:854 msgid "The author(s) of the ebook, as a comma separated list." msgstr "Autor(en) des eBooks, als durch Kommata getrennte Liste." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:845 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:856 msgid "The subject(s) of this book, as a comma separated list." msgstr "Das Thema dieses Buches, als durch Kommata getrennte Liste." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:847 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:858 msgid "Set the publisher of this book." msgstr "Geben Sie den Herausgeber dieses Buches an." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:849 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:860 msgid "A summary of this book." msgstr "Inhaltsübersicht dieses Buches." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:851 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:862 msgid "Load metadata from the specified OPF file" msgstr "Metadaten aus der angegebenen OPF Datei laden" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:853 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:864 msgid "Options useful for debugging" msgstr "Hilfreiche Einstellungen zur Fehlersuche" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:866 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." @@ -470,13 +600,13 @@ msgstr "" "Noch ausführlicher bei der weiteren Verarbeitung vorgehen. Kann zur " "Vergrößerung der Ausführlichkeit mehrfach angegeben werden." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:857 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:868 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" "Ausgabe HTML ist \"hübsch gedruckt\" zur einfacheren Analyse durch " "menschliche Wesen" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:863 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:874 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -507,7 +637,7 @@ msgid "%prog [options] LITFILE" msgstr "%prog [options] LITFILE" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:852 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:444 msgid "Output directory. Defaults to current directory." msgstr "Ausgabeverzeichnis. Voreinstellung ist aktuelles Verzeichnis." @@ -518,20 +648,20 @@ msgstr "" "Freiräume abändern." #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:723 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:724 msgid "Useful for debugging." msgstr "Hilfreich bei der Fehlersuche." #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:869 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:468 msgid "OEB ebook created in" msgstr "OEB eBook erstellt in" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:717 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:718 msgid "%prog [options] OPFFILE" msgstr "%prog [options] OPFFILE" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:720 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:721 msgid "Output file. Default is derived from input filename." msgstr "Ausgabedatei. Voreinstellung stammt aus dem Namen der Eingabedatei." @@ -566,7 +696,7 @@ msgstr "Sortierung nach Autor" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:275 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 msgid "Publisher" msgstr "Herausgeber" @@ -886,11 +1016,11 @@ msgstr "" "cp-1252. Eine andere gebräuchliche Alternative ist utf-8. In der " "Voreinstellung wird versucht, die Kodierung zu erraten." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:161 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:164 msgid "Converting from %s to LRF is not supported." msgstr "Konvertierung von %s nach LRF wird nicht unterstützt." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:171 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:175 msgid "" "any2lrf [options] myfile\n" "\n" @@ -909,19 +1039,19 @@ msgstr "" "ZIP Archive, indem es nach einem eBook im Archiv sucht.\n" " " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:186 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:190 msgid "No file to convert specified." msgstr "Keine Datei zur Konvertierung angegeben." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:221 msgid "Rendered %s" msgstr "%s gerendert." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:223 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 msgid "Failed %s" msgstr "%s schlug fehl" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:275 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:276 msgid "" "Failed to process comic: %s\n" "\n" @@ -931,60 +1061,60 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:283 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "" "Einstellungen zur Kontrolle der Konvertierung von Comic (CBR, CBZ) Dateien " "zu eBooks" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:289 msgid "Title for generated ebook. Default is to use the filename." msgstr "" "Titel für erstelltes eBook. In der Voreinstellung wird der Dateiname benutzt." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" "Gibt den Autor in den Metadaten des erstellen eBooks an. Voreinstellung ist " "%default." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 msgid "" "Path to output file. By default a file is created in the current directory." msgstr "" "Pfad zur Ausgabedatei. Die Datei wird im aktuellen Verzeichnis erstellt " "(Voreinstellung)." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:296 msgid "Number of colors for grayscale image conversion. Default: %default" msgstr "" "Anzahl der Farben für die Konvertierung von Graustufenbildern. " "Voreinstellung: %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Deaktivieren der Normalisierung (verbessert den Kontrast) des Farbbereichs " "für Bilder. Voreinstellung: False" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" "Seitenverhältnis des Bildes beibehalten. Voreinstellung ist " "bildschirmfüllende Darstellung." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 msgid "Disable sharpening." msgstr "Schärfen deaktivieren." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 msgid "Don't split landscape images into two portrait images" msgstr "Bilder im Querformat nicht in zwei Bilder im Hochformat aufteilen." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -992,7 +1122,7 @@ msgstr "" "Seitenverhältnis beibehalten und Bild so skalieren, dass die Bildschirmhöhe " "als Bildbreite in der Querformatansicht verwendet wird." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:307 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:308 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -1000,7 +1130,7 @@ msgstr "" "Benutzt für rechts-nach-links Publikationen wie Mangas. Querformatige Seiten " "werden von rechts nach links in mehrere hochformatige Seiten unterteilt." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:310 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -1008,7 +1138,7 @@ msgstr "" "Entkörnung einschalten. Reduziert die Körnigkeit. Kann die Bearbeitungszeit " "stark verlängern." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:312 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -1017,7 +1147,7 @@ msgstr "" "sortieren, sondern die Reihenfolge verwenden, in der sie zum Comic " "hinzugefügt wurden." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:314 msgid "" "Choose a profile for the device you are generating this file for. The " "default is the SONY PRS-500 with a screen size of 584x754 pixels. This is " @@ -1028,7 +1158,7 @@ msgstr "" "Diese Einstellung funktioniert für alle Geräte mit derselben " "Bildschirmgröße. Wahlmöglichkeiten sind %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:316 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " "greater verbosity." @@ -1036,11 +1166,11 @@ msgstr "" "Ausführlicher, hilfreich zur Fehlersuche. Kann mehrmals angegeben werden um " "eine größere Ausführlichkeit zu erreichen." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:318 msgid "Don't show progress bar." msgstr "Fortschrittsbalken nicht anzeigen." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:322 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" @@ -1050,11 +1180,11 @@ msgstr "" "\n" "Konvertiert ein Comic einer CBZ oder CBR Datei in ein eBook. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:382 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:383 msgid "Output written to" msgstr "Ausgabe gespeichert unter" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:423 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:426 msgid "Rendering comic pages..." msgstr "Rendere Seiten des Comics..." @@ -1103,56 +1233,56 @@ msgstr "Einstellungen für html2lrf" msgid "Fetching of recipe failed: " msgstr "Abruf des Rezepts misslungen: " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 msgid "\tBook Designer file detected." msgstr "\tBook Designer Datei erkannt." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tParsing HTML..." msgstr "\tAnalysiere HTML..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:340 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:343 msgid "\tBaen file detected. Re-parsing..." msgstr "\tBaen Datei erkannt. Analysiere erneut..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:356 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:359 msgid "Written preprocessed HTML to " msgstr "Vorverarbeitetes HTML gespeichert unter " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:377 msgid "Processing %s" msgstr "Verarbeite %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:388 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:391 msgid "\tConverting to BBeB..." msgstr "\tKonvertiere in BBeB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:534 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:547 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:550 msgid "Could not parse file: %s" msgstr "Konnte Datei nicht analysieren: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:542 msgid "%s is an empty file" msgstr "%s ist eine leere Datei" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:559 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:562 msgid "Failed to parse link %s %s" msgstr "Fehlschlag bei der Analysierung von %s %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:603 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:606 msgid "Cannot add link %s to TOC" msgstr "Konnte Link %s nicht zu TOC hinzufügen" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:958 msgid "Unable to process image %s. Error: %s" msgstr "Konnte Bild %s nicht verarbeiten. Fehler: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:996 msgid "Unable to process interlaced PNG %s" msgstr "Konnte verschachteltes PNG %s nicht verarbeiten" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1008 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1011 msgid "" "Could not process image: %s\n" "%s" @@ -1160,14 +1290,14 @@ msgstr "" "Konnte Bild nicht verarbeiten: %s\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1765 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "" "Ein Fehler trat während der Bearbeitung einer Tabelle auf: %s. " "Tabellenformat wird ignoriert." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1767 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 msgid "" "Bad table:\n" "%s" @@ -1175,11 +1305,11 @@ msgstr "" "Schlechte Tabelle:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1789 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 msgid "Table has cell that is too large" msgstr "Tabelle enthält Zelle, die zu groß ist" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1819 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." @@ -1187,19 +1317,19 @@ msgstr "" "Sichern Sie die Website %s zuerst als HTML Datei und benutzen Sie dann " "html2lrf mit der gespeicherten HTML Datei." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 msgid "Could not read cover image: %s" msgstr "Konnte Umschlagbild nicht lesen: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 msgid "Cannot read from: %s" msgstr "Lesen nicht möglich von: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "Failed to process opf file" msgstr "Verarbeitung der OPF Datei schlug fehl" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2009 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1448,17 +1578,17 @@ msgstr "Gebe Kommentar ein" #: /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:91 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 msgid "Title" msgstr "Titel" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:330 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:899 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:906 msgid "Author(s)" msgstr "Autor(en)" @@ -1477,24 +1607,24 @@ msgstr "Kategorie" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:391 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:527 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "Bemerkung" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:838 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:845 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Tags" msgstr "Etiketten" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Series" @@ -1631,11 +1761,11 @@ msgstr "Benutzung: pdf-meta dateiname.pdf" msgid "Usage: rb-meta file.rb" msgstr "Benutzung: rb-meta file.rb" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:440 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 msgid "%prog [options] myebook.mobi" msgstr "%prog [options] dateiname.mobi" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:464 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 msgid "Raw MOBI HTML saved in" msgstr "Original MOBI HTML gespeichert in" @@ -1644,89 +1774,89 @@ msgid "The output directory. Defaults to the current directory." msgstr "" "Das Ausgabeverzeichnis. Laut Voreinstellung das aktuelle Verzeichnis." -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:26 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:424 msgid "Frequently used directories" msgstr "Häufig benutzte Verzeichnisse" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:27 msgid "Send file to storage card instead of main memory by default" msgstr "" "Datei auf die Speicherkarte anstatt in den Hauptspeicher des Gerätes " "(Voreinstellung) senden" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:29 msgid "The format to use when saving single files to disk" msgstr "" "Das zu verwendende Format bei der Speicherung einzelner Dateie auf die " "Festplatte" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:31 msgid "Confirm before deleting" msgstr "Bestätigung vor dem Löschen" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 msgid "Toolbar icon size" msgstr "Schaltflächengröße der Symbolleiste" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 msgid "Show button labels in the toolbar" msgstr "Zeige Schaltflächenbeschriftung in der Symbolleiste" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 msgid "Main window geometry" msgstr "Aufteilung des Hauptfensters" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 msgid "Notify when a new version is available" msgstr "Benachrichtigen, wenn eine neue Version verfügbar ist" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Use Roman numerals for series number" msgstr "Benutze römische Ziffern für Seriennummerierung" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Sort tags list by popularity" msgstr "Liste der Etiketten nach Beliebtheit sortieren" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Number of covers to show in the cover browsing mode" msgstr "" "Anzahl der Umschlagbilder, die im Cover-Ansicht Modus angezeit werden" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" msgstr "Voreinstellungen für Konvertierung zu LRF" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Options for the LRF ebook viewer" msgstr "Optionen für den LRF eBook Viewer" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 msgid "Formats that are viewed using the internal viewer" msgstr "Formate, die mithilfe des internen Viewers angesehen werden" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 msgid "Columns to be displayed in the book list" msgstr "Spalten, die in der Liste der Bücher angezeigt werden sollen" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Automatically launch content server on application startup" msgstr "Content Server automatisch beim Aufrufen von calibre starten" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Oldest news kept in database" msgstr "Älteste in der Datenbank gespeicherte Nachrichten" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 msgid "Show system tray icon" msgstr "Symbol im Systembereich der Kontrollleiste anzeigen" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 msgid "Upload downloaded news to device" msgstr "Geladene Nachrichten auf das Gerät übertragen" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Delete books from library after uploading to device" msgstr "Bücher nach der Übertragung auf das Gerät aus der Bibliothek löschen" @@ -1765,8 +1895,8 @@ msgstr "Buch auf dem Gerät ansehen" #: /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:282 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:840 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "Pfad" @@ -1775,7 +1905,7 @@ msgstr "Pfad" #: /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:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Formats" @@ -1790,6 +1920,7 @@ msgstr "Dialog" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:53 msgid "TextLabel" @@ -1866,19 +1997,27 @@ msgstr "Ent&körnung" msgid "&Wide" msgstr "&Weite" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 +msgid " plugins" +msgstr " Plugins" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:106 +msgid "by" +msgstr "von" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Advanced" msgstr "Erweitert" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "General" msgstr "Allgemein" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Interface" msgstr "Schnittstelle" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 msgid "" "Content\n" "Server" @@ -1886,59 +2025,105 @@ msgstr "" "Content\n" "Server" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 +msgid "Plugins" +msgstr "Plugins" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:255 +msgid "No valid plugin path" +msgstr "Kein gültiger Plugin Pfad" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:256 +msgid "%s is not a valid plugin path" +msgstr "%s ist kein gültiger Plugin Pfad" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +msgid "Choose plugin" +msgstr "Plugin wählen" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:270 +msgid "Plugin cannot be disabled" +msgstr "Plugin kann nicht ausgeschaltet werden" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:271 +msgid "The plugin: %s cannot be disabled" +msgstr "Das Plugin: %s kann nicht ausgeschaltet werden" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +msgid "Plugin not customizable" +msgstr "Plugin nicht anpassbar" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:282 +msgid "Plugin: %s does not need customization" +msgstr "Plugin: %s bedarf keines Anpassens" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +msgid "Customize %s" +msgstr "Anpassen von %s" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:295 +msgid "Cannot remove builtin plugin" +msgstr "Kann festinstalliertes Plugin nicht entfernen" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:296 +msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." +msgstr "" +" kann nicht entfernt werden, da es ein festinstalliertes Plugin ist. " +"Versuchen Sie, es auszuschalten." + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:317 msgid "Error log:" msgstr "Fehler Log:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:321 msgid "Access log:" msgstr "Zugriffs-Protokolldatei:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:382 msgid "Failed to start content server" msgstr "Content Server konnte nicht gestartet werden" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "Invalid size" msgstr "Ungültige Größe" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" "Die Größe %s ist ungültig. Sie muss der Form BreitexHöhe entsprechen." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:264 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:423 msgid "Invalid database location" msgstr "Ortsangabe der Datenbank ungültig" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "
                                                          Must be a directory." msgstr "
                                                          Muss ein Verzeichnis sein." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "Invalid database location " msgstr "Ortsangabe der Datenbank ungültig " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 msgid "Invalid database location.
                                                          Cannot write to " msgstr "Ortsangabe der Datenbank ungültig.
                                                          Speichern nicht möglich " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting database. This may take a while." msgstr "Komprimiere Datenbank. Das kann etwas dauern..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting..." msgstr "Komprimiere Datenbank..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:329 msgid "Configuration" msgstr "Konfiguration" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:409 msgid "" "&Location of ebooks (The ebooks are stored in folders sorted by author and " "metadata is stored in the file metadata.db)" @@ -1947,15 +2132,16 @@ msgstr "" "sortiert gespeichert und die Metadaten werden in der Datei metadata.db " "gespeichert)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:410 msgid "Browse for the new database location" msgstr "Zu einem neuen Ort der Datenbank wechseln" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:358 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:374 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:386 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:426 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:373 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:509 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:282 @@ -1978,35 +2164,31 @@ msgstr "Zu einem neuen Ort der Datenbank wechseln" msgid "..." msgstr "..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:412 msgid "Show notification when &new version is available" msgstr "Benachrichtigung anzeigen, wenn &neue Version verfügbar ist" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:360 -msgid "Ask for &confirmation before deleting files" -msgstr "Nach einer Bestätigung vor dem Löschen von Dateien fragen" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:413 msgid "" -"If you disable this setting, metadatas is guessed from the filename instead. " +"If you disable this setting, metadata is guessed from the filename instead. " "This can be configured in the Advanced section." msgstr "" -"Wenn sie diese Einstellung ausschalten, dann werden die Metadaten aus dem " -"Dateinamen erraten. Die Konfiguration ist im Abschnitt \"Erweitert\" möglich." +"Falls Sie diese Einstellung ausschalten, werden die Metadaten aus dem " +"Dateinamen erschlossen. Dies kann unter Erweitert konfiguriert werden." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:414 msgid "Read &metadata from files" msgstr "&Metadaten aus Dateien lesen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:415 msgid "Format for &single file save:" msgstr "Format zur &Speicherung einer Datei:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:416 msgid "Default network &timeout:" msgstr "Voreinstellung für Zei&tüberschreitung bei Netzwerkverbindungen:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:417 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" @@ -2014,108 +2196,108 @@ msgstr "" "Voreinstellung der Zeitüberschreitung für Netzwerkabrufe festsetzen (Gilt " "immer dann, wenn aus dem Internet Informationen abgerufen werden sollen)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:418 msgid " seconds" msgstr " Sekunden" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:419 msgid "Choose &language (requires restart):" msgstr "Sprache wäh&len (erfordert Neustart):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:420 msgid "Normal" msgstr "Normal" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:421 msgid "High" msgstr "Hoch" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:422 msgid "Low" msgstr "Niedrig" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:423 msgid "Job &priority:" msgstr "Auftrags&priorität:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:425 msgid "Add a directory to the frequently used directories list" msgstr "" "Ein Verzeichnis zur Liste der häufig genutzten Verzeichnisse hinzufügen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:427 msgid "Remove a directory from the frequently used directories list" msgstr "" "Ein Verzeichnis von der Liste der häufig genutzten Verzeichnisse entfernen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:429 msgid "Use &Roman numerals for series number" msgstr "&Römische Ziffern für Serien Nummerierung verwenden" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:430 msgid "&Number of covers to show in browse mode (after restart):" msgstr "" "A&nzahl der Umschlagbilder, die (nach einem Neustart) in der Cover-Ansicht " "angezeigt werden:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:431 msgid "Toolbar" msgstr "Symbolleiste" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 msgid "Large" msgstr "Groß" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Medium" msgstr "Mittel" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 msgid "Small" msgstr "Klein" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:435 msgid "&Button size in toolbar" msgstr "&Größe der Schaltflächen in der Symbolleiste" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:436 msgid "Show &text in toolbar buttons" msgstr "Zeige &Text in Schaltflächen der Symbolleiste" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:437 msgid "Select visible &columns in library view" msgstr "Si&chtbare Spalten in Bibliothek-Ansicht wählen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:440 msgid "Use internal &viewer for the following formats:" msgstr "Den internen &Viewer für die folgenden Formate verwenden:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:441 msgid "Enable system &tray icon (needs restart)" msgstr "" "Symbol im Sys&tembereich der Kontrollleiste aktivieren (erfordert Neustart)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:442 msgid "Automatically send downloaded &news to ebook reader" msgstr "Geladene &Nachrichten automatisch an das Gerät senden" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:443 msgid "&Delete news from library when it is sent to reader" msgstr "Nachrichten nach dem Senden an das Gerät aus der Bibliothek &löschen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:444 msgid "Free unused diskspace from the database" msgstr "Freier unbenutzter Festplattenspeicher der Datenbank" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:445 msgid "&Compact database" msgstr "Datenbank &komprimieren" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:446 msgid "&Metadata from file name" msgstr "&Meta-Daten aus dem Dateinamen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:447 msgid "" "calibre contains a network server that allows you to access your book " "collection using a browser from anywhere in the world. Any changes to the " @@ -2125,23 +2307,23 @@ msgstr "" "von überall aus mit Hilfe eines Browsers auf Ihre Büchersammlung zugreifen " "können. Einstellungsänderungen erfolgen erst nach einem Neustart des Servers." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:448 msgid "Server &port:" msgstr "Server &Port:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:146 msgid "&Username:" msgstr "Ben&utzername:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:147 msgid "&Password:" msgstr "&Passwort:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:451 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." @@ -2149,13 +2331,13 @@ msgstr "" "Wenn Sie das Kennwort leer lassen, kann jeder auf Ihre Büchersammlung über " "das Webinterface zugreifen." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:452 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:148 msgid "&Show password" msgstr "Pa&sswort anzeigen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:453 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " @@ -2163,31 +2345,31 @@ msgstr "" "Maximale Größe (BreitexHöhe) der angezeigten Covers. Größere Covers werden " "verkleinert. " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:454 msgid "Max. &cover size:" msgstr "Maximale &Cover-Größe:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:455 msgid "&Start Server" msgstr "Server &starten" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:456 msgid "St&op Server" msgstr "Server st&oppen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:457 msgid "&Test Server" msgstr "Server &testen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:458 msgid "Run server &automatically on startup" msgstr "Server &automatisch beim Starten hochfahren" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:459 msgid "View &server logs" msgstr "Server Logs ansehen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 msgid "" "If you want to use the content server to access your ebook collection on " "your iphone with Stanza, you will need to add the URL " @@ -2201,6 +2383,46 @@ msgstr "" "auf Ihrem iPhone hinzufügen. In diesem Fall sollte meinservername der volle " "Hostname oder die IP Adresse dieses Rechners sein." +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 +msgid "" +"Here you can customize the behavior of Calibre by controlling what plugins " +"it uses." +msgstr "" +"Hier können Sie das Verhalten von Calibrie anpassen, indem sie festlegen, " +"welche Plugins verwendet werden." + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:462 +msgid "Enable/&Disable plugin" +msgstr "Plugin &ein-/ausschalten" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 +msgid "&Customize plugin" +msgstr "Plugin &anpassen" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:464 +msgid "&Remove plugin" +msgstr "Plugin entfe&rnen" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:465 +msgid "Add new plugin" +msgstr "Neues Plugin hinzufügen" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:466 +msgid "Plugin &file:" +msgstr "&Plugin Datei:" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:468 +msgid "&Add" +msgstr "&Hinzufügen" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +msgid "Are you sure?" +msgstr "Sicher?" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +msgid "&Show this warning again" +msgstr "&Warnung erneut anzeigen" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:41 msgid "ERROR" msgstr "FEHLER" @@ -2218,7 +2440,7 @@ msgstr "%s in EPUB konvertieren" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:296 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 msgid "Metadata" msgstr "Meta-Daten" @@ -2279,25 +2501,25 @@ msgstr "Wählen Sie das Umschlagbild für " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 msgid "Cannot read" msgstr "Lesen nicht möglich" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:52 msgid "You do not have permission to read the file: " msgstr "Sie haben nicht die nötigen Rechte, um diese Datei zu lesen: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 msgid "Error reading file" msgstr "Fehler beim Lesen der Datei" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:184 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:61 msgid "

                                                          There was an error reading from file:
                                                          " msgstr "

                                                          Es trat ein Fehler beim Lesen dieser Datei auf:
                                                          " @@ -2307,7 +2529,7 @@ msgid " is not a valid picture" msgstr " ist kein gültiges Bild" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "Cannot convert" msgstr "Konvertierung nicht möglich" @@ -2988,7 +3210,7 @@ msgstr "&Format entfernen:" msgid "A&utomatically set author sort" msgstr "Automatisch Sortierung nach Autor setzen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:262 msgid "" "

                                                          Enter your username and password for LibraryThing.com.
                                                          If you " "do not have one, you can register " @@ -2998,19 +3220,19 @@ msgstr "" "LibraryThing.com an.
                                                          Insofern Sie dies nicht besitzen, können " "Sie sich kostenlos anmelden!

                                                          " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover.
                                                          " msgstr "Konnte kein Umschlagbild abrufen.
                                                          " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover" msgstr "Konnte kein Umschlagbild abrufen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "Cannot fetch cover" msgstr "Kann kein Umschlagbild abrufen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "You must specify the ISBN identifier for this book." msgstr "Sie müssen die ISBN für dieses Buch angeben." @@ -3119,9 +3341,9 @@ msgstr "Neue individuelle Nachrichtenquelle hinzufügen" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:335 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:761 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:765 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1064 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:752 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:756 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1055 msgid "News" msgstr "Nachrichten" @@ -3644,52 +3866,64 @@ msgstr "Abwarten und Tee trinken..." msgid "Working" msgstr "Bei der Arbeit..." -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:162 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:166 +#: /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 "Kann Auftrag nicht abbrechen" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 msgid "Cannot kill jobs that communicate with the device" msgstr "Kann Aufträge, die mit dem Gerät kommunizieren, nicht abbrechen" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:177 msgid "Job has already run" msgstr "Auftrag wird schon ausgeführt" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:907 msgid "Size (MB)" msgstr "Größe (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:908 msgid "Date" msgstr "Datum" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 msgid "Rating" msgstr "Bewertung" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:274 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 msgid "None" msgstr "Keine" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 msgid "Book %s of %s." msgstr "Buch %s von %s." -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:675 +msgid "Not allowed" +msgstr "Das ist nicht gestattet" + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:676 +msgid "" +"Dropping onto a device is not supported. First add the book to the calibre " +"library." +msgstr "" +"Direktes Hinzufügen auf das Gerät wird nicht unterstützt. Fügen Sie das Buch " +"zuerst zur Bibliothek hinzu." + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:839 msgid "Format" msgstr "Format" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:844 msgid "Timestamp" msgstr "Zeitstempel" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:942 msgid "Search (For Advanced Search click the button to the left)" msgstr "Suche (Zur erweiterten Suche die Schaltfläche links klicken)" @@ -3718,7 +3952,7 @@ msgid "No matches for the search phrase %s were found." msgstr "Keine Treffer für die Suchworte %s gefunden." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:377 msgid "No matches found" msgstr "Keine Treffer gefunden" @@ -3743,12 +3977,12 @@ msgid "Previous Page" msgstr "Vorherige Seite" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 msgid "Back" msgstr "Zurück" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 msgid "Forward" msgstr "Weiter" @@ -3757,7 +3991,7 @@ msgid "Next match" msgstr "Nächster Treffer" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:162 msgid "Open ebook" msgstr "eBook öffnen" @@ -3765,27 +3999,27 @@ msgstr "eBook öffnen" msgid "Configure" msgstr "Konfigurieren" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88 msgid "Error communicating with device" msgstr "Fehler bei der Kommunikation mit dem Gerät" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 msgid "&Restore" msgstr "&Wiederherstellen" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Donate" msgstr "&Spenden" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Quit" msgstr "Be&enden" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:104 msgid "&Restart" msgstr "&Neustart" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:148 msgid "" "

                                                          For help visit %s.kovidgoyal.net
                                                          " @@ -3793,130 +4027,131 @@ msgstr "" "

                                                          Hilfe gibt es online bei %s.kovidgoyal.net
                                                          " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:149 msgid "%s: %s by Kovid Goyal %%(version)s
                                                          %%(device)s

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

                                                          " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Send to main memory" msgstr "An Hauptspeicher senden" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "Send to storage card" msgstr "An Speicherkarte senden" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "and delete from library" msgstr "und aus der Datenbank löschen" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 msgid "Send to storage card by default" msgstr "Auf die Speicherkarte senden (Voreinstellung)" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 msgid "Edit metadata individually" msgstr "Meta-Daten einzeln bearbeiten" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:187 msgid "Edit metadata in bulk" msgstr "Meta-Daten auf einmal bearbeiten" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 msgid "Add books from a single directory" msgstr "Bücher aus einem einzelnen Verzeichnis hinzufügen" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:191 msgid "" -"Add books recursively (One book per directory, assumes every ebook file is " -"the same book in a different format)" +"Add books from directories, including sub-directories (One book per " +"directory, assumes every ebook file is the same book in a different format)" msgstr "" -"Bücher rekursiv hinzufügen (Ein Buch pro Verzeichnis, setzt voraus, dass " -"jede eBook Datei das gleiche Buch in einem unterschiedlichen Format enthält)" +"Bücher aus Verzeichnissen hinzufügen, inklusive Unterverzeichnissen (ein " +"Buch pro Verzeichnis, jede eBook Datei im Verzeichnis ist dasselbe Buch in " +"verschiedenen Formaten)" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 msgid "" -"Add books recursively (Multiple books per directory, assumes every ebook " -"file is a different book)" +"Add books from directories, including sub directories (Multiple books per " +"directory, assumes every ebook file is a different book)" msgstr "" -"Bücher rekursiv hinzufügen (Mehrere Bücher pro Verzeichnis, setzt voraus, " -"dass jede eBook Datei ein anderes Buch enthält)" +"Bücher aus Verzeichnissen hinzufügen, inklusive Unterverzeichnissen " +"(verschiedene Bücher im Verzeichnis, jede eBook Datei ist ein anderes Buch)" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:342 msgid "Save to disk" msgstr "Auf Festplatte speichern" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 msgid "Save to disk in a single directory" msgstr "Auf Festplatte in ein einziges Verzeichnis speichern" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Save only %s format to disk" msgstr "Nur das %s Format auf Festplatte speichern" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:348 msgid "View" msgstr "Vorschau" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:213 msgid "View specific format" msgstr "Spezielles Format ansehen" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:230 msgid "Convert individually" msgstr "Einzeln konvertieren" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 msgid "Bulk convert" msgstr "Auf einmal konvertieren" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:233 msgid "Set defaults for conversion" msgstr "Voreinstellung für Konvertierung eingeben" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:234 msgid "Set defaults for conversion of comics" msgstr "Voreinstellungen für die Konvertierung von Comics eingeben" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:255 msgid "Similar books..." msgstr "Ähnliche Bücher..." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 msgid "Bad database location" msgstr "Schlechter Datenbank Standort" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1333 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1356 msgid "Choose a location for your ebook library." msgstr "Wählen Sie einen Speicherort für Ihre eBook Bibliothek." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:315 msgid "Migrating database" msgstr "Migriere Datenbank" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:487 msgid "Device: " msgstr "Gerät: " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:488 msgid " detected." msgstr " gefunden." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:510 msgid "Connected " msgstr "Angeschlossen: " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:521 msgid "Device database corrupted" msgstr "Gerätedatenbank ist beschädigt" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:522 msgid "" "\n" "

                                                          The database of books on the reader is corrupted. Try the " @@ -3947,8 +4182,25 @@ msgstr "" " \n" " " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:572 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:668 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +msgid "Stop" +msgstr "Stop" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:574 +msgid "Adding books recursively..." +msgstr "Füge Bücher rekursiv hinzu..." + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Added " +msgstr "Hinzugefügt " + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Searching..." +msgstr "Suche..." + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:695 msgid "" "

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

                                                            " @@ -3956,104 +4208,121 @@ msgstr "" "

                                                            Es existieren bereits Bücher mit dem selben Titel in der Datenbank. " "Sollen die folgenden Bücher trotzdem hinzugefügt werden?

                                                              " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:575 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:698 msgid "Duplicates found!" msgstr "Duplikate gefunden!" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:649 msgid "Uploading books to device." msgstr "Lade Bücher auf das Gerät." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:633 msgid "Books" msgstr "Bücher" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:634 msgid "EPUB Books" msgstr "EPUB Bücher" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:635 msgid "LRF Books" msgstr "LRF Bücher" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:636 msgid "HTML Books" msgstr "HTML Bücher" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:620 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:637 msgid "LIT Books" msgstr "LIT Bücher" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:638 msgid "MOBI Books" msgstr "MOBI Bücher" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:639 msgid "Text books" msgstr "Text Bücher" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:640 msgid "PDF Books" msgstr "PDF Bücher" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:641 msgid "Comics" msgstr "Comics" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:642 msgid "Archives" msgstr "Archive" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:661 +msgid "Reading metadata..." +msgstr "Lese Metadaten..." + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:659 +msgid "Adding books..." +msgstr "Füge Bücher hinzu..." + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:685 +msgid "Read metadata from " +msgstr "Lese Metadaten von " + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:688 +msgid "Adding books to database..." +msgstr "Füge Bücher zur Datenbank hinzu..." + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:730 msgid "No space on device" msgstr "Gerätespeicher voll" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:731 msgid "" "

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

                                                              Es können keine Bücher mehr auf das Gerät geladen werden, da der " "Gerätespeicher voll ist " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:736 -msgid "Confirm delete" -msgstr "Bestätigen Sie das Löschen" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:763 +msgid "" +"The selected books will be permanently deleted and the files removed " +"from your computer. Are you sure?" +msgstr "" +"Die gewählten Bücher werden dauerhaft gelöscht und die Dateien vom " +"Computer entfernt. Sicher?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:737 -msgid "Are you sure you want to delete these %d books?" -msgstr "Sind Sie sicher, dass Sie diese %d Bücher löschen wollen?" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 msgid "Deleting books from device." msgstr "Lösche Bücher vom Gerät." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 msgid "Cannot edit metadata" msgstr "Kann Metadaten nicht bearbeiten" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "No books selected" msgstr "Keine Bücher ausgewählt" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:848 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:871 msgid "Sending news to device." msgstr "Sende Nachrichten an das Gerät." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:923 msgid "Sending books to device." msgstr "Sende Bücher an das Gerät." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:926 msgid "No suitable formats" msgstr "Keine geeigneten Formate" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:927 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found:

                                                                %s
                                                              " @@ -4061,15 +4330,15 @@ msgstr "" "Die folgenden Bücher konnten nicht auf das Gerät geladen werden, da keine " "geeigneten Formate vorhanden sind:
                                                                %s
                                                              " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 msgid "Cannot save to disk" msgstr "Speichern auf Festplatte nicht möglich" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:947 msgid "Choose destination directory" msgstr "Zielverzeichnis auswählen" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:931 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:954 msgid "" "

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

                                                                " @@ -4077,64 +4346,64 @@ msgstr "" "

                                                                Die folgenden Bücher konnten nicht auf die Festplatte gespeichert werden, " "da das %s Format für sie nicht verfügbar ist:

                                                                  " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:958 msgid "Could not save some ebooks" msgstr "Konnte einige eBooks nicht speichern" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:955 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:978 msgid "Fetching news from " msgstr "Rufe Nachrichten ab von " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:992 msgid " fetched." msgstr " abgerufen." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 msgid "No book selected" msgstr "Kein Buch ausgewählt" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 msgid "Cannot view" msgstr "Ansehen nicht möglich" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1134 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1112 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1157 msgid "Choose the format to view" msgstr "Format zur Vorschau wählen" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 msgid "Cannot open folder" msgstr "Konnte Verzeichnis nicht öffnen" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1130 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1153 msgid "%s has no available formats." msgstr "%s hat keine verfügbaren Formate." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure" msgstr "Konfiguration nicht möglich" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure while there are running jobs." msgstr "Konfiguration nicht möglich während Aufträge abgearbeitet werden." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1210 msgid "Copying database" msgstr "Kopiere Datenbank" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212 msgid "Copying library to " msgstr "Kopiere Bibliothek nach " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1222 msgid "Invalid database" msgstr "Ungültige Datenbank" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1223 msgid "" "

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

                                                                  Es existiert bereits eine ungültige Datenbank in %s, bitte löschen Sie " "diese, bevor sie die bestehende Datenbank verschieben.
                                                                  Fehler: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1229 msgid "Could not move database" msgstr "Konnte Datenbank nicht verschieben" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1226 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1249 msgid "No detailed info available" msgstr "Es ist keine weitere Information verfügbar" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1227 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1250 msgid "No detailed information is available for books on the device." msgstr "" "Es sind keine weitere Informationen über Bücher auf dem Gerät verfügbar" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1270 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1293 msgid "Error talking to device" msgstr "Fehler in der Kommunikation zum Gerät" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1294 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -4167,13 +4436,13 @@ msgstr "" "Es trat ein Fehler in der Kommunikation mit dem Gerät auf. Bitte entfernen " "und schließen Sie das Gerät wieder an und - oder starten Sie neu." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1284 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1299 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1307 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1326 msgid "Conversion Error" msgstr "Konvertierungsfehler" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 msgid "" "

                                                                  Could not convert: %s

                                                                  It is a DRMed book. You must " "first remove the DRM using 3rd party tools." @@ -4182,11 +4451,11 @@ msgstr "" "href=\"%s\">DRM geschützt. Sie müssen zunächst das DRM mit einem anderen " "Programm entfernen." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1342 msgid "Database does not exist" msgstr "Datenbank existiert nicht" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1320 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1343 msgid "" "The directory in which the database should be: %s no longer exists. Please " "choose a new database location." @@ -4194,11 +4463,11 @@ msgstr "" "Das Verzeichnis, in dem die Datenbank sein sollte: %s existiert nicht mehr. " "Bitte wählen Sie einen neuen Ort für die Datenbank aus." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1345 msgid "Choose new location for database" msgstr "Wählen Sie einen neuen Speicherort für die Datenbank" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1375 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 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." @@ -4207,12 +4476,12 @@ msgstr "" "Falls Sie es nützlich finden, sollten Sie eine Spende zur Unterstützung " "seiner Entwicklung in Betracht ziehen." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1396 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1419 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" "Es bestehen aktive Aufträge. Sind Sie sicher, dass sie es beenden wollen?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1421 msgid "" " is communicating with the device!
                                                                  \n" " 'Quitting may cause corruption on the device.
                                                                  \n" @@ -4222,11 +4491,11 @@ msgstr "" " 'Ein Beenden kann das Gerät beschädigen.
                                                                  \n" " 'Sind Sie sicher, dass sie es beenden wollen?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1402 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1425 msgid "WARNING: Active jobs" msgstr "WARNUNG: Aktive Aufträge" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -4234,7 +4503,7 @@ msgstr "" "wird im System Tray weiter laufen. Zum Schließen wählen Sie Beenden " "im Kontextmenü des System Tray." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1444 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1467 msgid "" "Latest version: %s" @@ -4242,7 +4511,7 @@ msgstr "" "Letzte Version: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "" "%s has been updated to version %s. See the new features. " @@ -4252,15 +4521,15 @@ msgstr "" "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">neuen Features an. " "Möchten Sie die Download Seite besuchen?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "Update available" msgstr "Neue Version verfügbar" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1464 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1487 msgid "Use the library located at the specified path." msgstr "Die im angegebenen Pfad sich befindende Bibliothek verwenden" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1489 msgid "Log debugging information to console" msgstr "Informationen zur Fehlersuche in Konsole aufzeichnen" @@ -4578,7 +4847,7 @@ msgid "The standard font type" msgstr "Standardschriftart" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:47 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 msgid "Table of Contents" msgstr "Inhaltsverzeichnis" @@ -4604,59 +4873,59 @@ msgstr "" msgid "Search for text in book" msgstr "Suche nach Text im Buch" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:338 msgid "Choose ebook" msgstr "eBook wählen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:339 msgid "Ebooks" msgstr "eBooks" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Add bookmark" msgstr "Lesezeichen hinzufügen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Enter title for bookmark:" msgstr "Titel für Lesezeichen eingeben:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:378 msgid "No matches found for: %s" msgstr "Keine Treffer gefunden für: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 msgid "Loading flow..." msgstr "Lade Ablauf..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:445 msgid "Laying out %s" msgstr "Lege %s an" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:497 msgid "Loading ebook..." msgstr "Lade eBook..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "

                                                                  This book is protected by DRM" msgstr "

                                                                  Dieses Buch ist geschützt durch DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "DRM Error" msgstr "DRM Fehler" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:507 msgid "Could not open ebook" msgstr "Konnte eBook nicht öffnen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:508 msgid "%s

                                                                  %s

                                                                  " msgstr "%s

                                                                  %s

                                                                  " -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 msgid "Options to control the ebook viewer" msgstr "Einstellungen zur Kontrolle des eBook Viewers" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:577 msgid "" "%prog [options] file\n" "\n" @@ -4666,50 +4935,54 @@ msgstr "" "\n" "eBook ansehen. \n" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 msgid "Ebook Viewer" msgstr "eBook Viewer" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 msgid "toolBar" msgstr "Symbolleiste" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 msgid "Next page" msgstr "Nächste Seite" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 msgid "Previous page" msgstr "Vorherige Seite" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 msgid "Font size larger" msgstr "Größere Schrift" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 msgid "Font size smaller" msgstr "Kleinere Schrift" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:163 msgid "Find next" msgstr "Weitersuchen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:164 msgid "Copy to clipboard" msgstr "In die Zwischenablage kopieren" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:165 msgid "Preferences" msgstr "Voreinstellungen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:166 msgid "Reference Mode" msgstr "Verweismodus" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:167 msgid "Bookmark" msgstr "Lesezeichen" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168 +msgid "Toggle full screen" +msgstr "Vollbildmodus beenden" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:47 msgid "Invalid regular expression" msgstr "Ungültiger regulärer Ausdruck" @@ -5109,20 +5382,20 @@ msgstr "" "\n" "Sie erhalten Hilfe zu einem bestimmten Befehl mit: %%prog command --help\n" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1146 msgid "

                                                                  Copying books to %s

                                                                  " msgstr "

                                                                  Kopiere Bücher nach %s

                                                                  " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1157 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1266 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1159 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1268 msgid "Copying %s" msgstr "Kopiere %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1237 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "

                                                                  Migrating old database to ebook library in %s

                                                                  " msgstr "

                                                                  Migriere alte Datenbank zu eBook Bibliothek in %s

                                                                  " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1285 msgid "Compacting database" msgstr "Komprimiere Datenbank" @@ -5149,48 +5422,48 @@ msgstr "Konnte Arbeitsprozess nicht starten." msgid "Job stopped by user" msgstr "Auftrag durch Benutzer unterbrochen" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:39 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:41 msgid "%sUsage%s: %s\n" msgstr "%sBenutzung%s: %s\n" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:77 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:79 msgid "Created by " msgstr "Erstellt von " -#: /home/kovid/work/calibre/src/calibre/utils/config.py:524 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:527 msgid "Path to the database in which books are stored" msgstr "Pfad zur Datenbank in der die Bücher gespeichtert sind" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:526 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:529 msgid "Pattern to guess metadata from filenames" msgstr "Verhaltensmuster zum Erraten der Metadaten aus den Dateinamen" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:528 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:531 msgid "Access key for isbndb.com" msgstr "Zugangsschlüssel für isbndb.com" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:530 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:533 msgid "Default timeout for network operations (seconds)" msgstr "" "Voreinstellung der Zeitüberschreitung bei Netzwerkverbindungen (in Sekunden)" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:532 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:535 msgid "Path to directory in which your library of books is stored" msgstr "Pfad zum Verzeichnis, in dem die Bibliothek gespeichert ist" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:534 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:537 msgid "The language in which to display the user interface" msgstr "Sprache, in der die Benutzer-Oberfläche dargestellt wird" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:536 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:539 msgid "The default output format for ebook conversions." msgstr "Das voreingestellte Ausgabeformat für eBook Konvertierungen." -#: /home/kovid/work/calibre/src/calibre/utils/config.py:538 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:541 msgid "Read metadata from files" msgstr "Metadaten aus Dateien lesen" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:540 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:543 msgid "The priority of worker processes" msgstr "Priorität der Arbeitsaufträge" @@ -5664,6 +5937,20 @@ msgstr "Zeige detailierte Ausgabeinformation. Hilfreich zur Fehlersuche." #~ msgid "Changes will only take affect after a restart." #~ msgstr "Änderungen treten erst nach einem Neustart in Kraft." +#~ msgid "" +#~ "Add books recursively (One book per directory, assumes every ebook file is " +#~ "the same book in a different format)" +#~ msgstr "" +#~ "Bücher rekursiv hinzufügen (Ein Buch pro Verzeichnis, setzt voraus, dass " +#~ "jede eBook Datei das gleiche Buch in einem unterschiedlichen Format enthält)" + +#~ msgid "" +#~ "Add books recursively (Multiple books per directory, assumes every ebook " +#~ "file is a different book)" +#~ msgstr "" +#~ "Bücher rekursiv hinzufügen (Mehrere Bücher pro Verzeichnis, setzt voraus, " +#~ "dass jede eBook Datei ein anderes Buch enthält)" + #~ msgid "News fetched. Uploading to device." #~ msgstr "Nachrichten abgerufen. Übertragung ans Gerät läuft." @@ -5898,6 +6185,15 @@ msgstr "Zeige detailierte Ausgabeinformation. Hilfreich zur Fehlersuche." #~ "Die Voreinstellung ist der SONY PRS-500 mit einer Bildschirmgröße von " #~ "584x754 Punkten. Wahlmöglichkeiten sind %s" +#~ msgid "Ask for &confirmation before deleting files" +#~ msgstr "Nach einer Bestätigung vor dem Löschen von Dateien fragen" + +#~ msgid "Confirm delete" +#~ msgstr "Bestätigen Sie das Löschen" + +#~ msgid "Are you sure you want to delete these %d books?" +#~ msgstr "Sind Sie sicher, dass Sie diese %d Bücher löschen wollen?" + #~ msgid "" #~ "%prog [options] comic.cb[z|r]\n" #~ "\n" @@ -6004,6 +6300,13 @@ msgstr "Zeige detailierte Ausgabeinformation. Hilfreich zur Fehlersuche." #~ msgid "&Output format:" #~ msgstr "&Ausgabeformat:" +#~ msgid "" +#~ "If you disable this setting, metadatas is guessed from the filename instead. " +#~ "This can be configured in the Advanced section." +#~ msgstr "" +#~ "Wenn sie diese Einstellung ausschalten, dann werden die Metadaten aus dem " +#~ "Dateinamen erraten. Die Konfiguration ist im Abschnitt \"Erweitert\" möglich." + #~ msgid "Detailed logging" #~ msgstr "Ausführliche Protokollierung" diff --git a/src/calibre/translations/nl.po b/src/calibre/translations/nl.po index e2714e2a19..f1a007ae30 100644 --- a/src/calibre/translations/nl.po +++ b/src/calibre/translations/nl.po @@ -7,24 +7,198 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2008-12-18 01:36+0000\n" +"POT-Creation-Date: 2008-12-30 15:33+0000\n" "PO-Revision-Date: 2008-09-04 01:49+0000\n" "Last-Translator: Marc van den Dikkenberg \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-12-23 17:57+0000\n" +"X-Launchpad-Export-Date: 2009-01-04 04:32+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:137 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:155 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:193 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 +msgid "Does absolutely nothing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:478 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:961 +#: /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 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 +#: /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:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 +#: /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:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:78 +#: /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:793 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:835 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:915 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 +#: /home/kovid/work/calibre/src/calibre/library/database.py:920 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1580 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:461 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:808 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:841 +msgid "Unknown" +msgstr "Onbekend" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:62 +msgid "Base" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 +msgid "File type" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:182 +msgid "Metadata reader" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:209 +msgid "Metadata writer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:12 +msgid "" +"Follow all local links in an HTML file and create a ZIP file containing all " +"linked files. This plugin is run every time you add an HTML file to the " +"library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:32 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:42 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:53 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:63 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:73 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:83 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:105 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:135 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:145 +msgid "Read metadata from %s files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:155 +msgid "Extract cover from comic files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:175 +msgid "Set metadata in EPUB files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:185 +msgid "Set metadata in LRF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:195 +msgid "Set metadata in RTF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:28 +msgid "Installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:29 +msgid "Mapping for filetype plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 +msgid "Local plugin customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 +msgid "Disabled plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:66 +msgid "No valid plugin found in " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:170 +msgid "Initialization of plugin %s failed with traceback:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:247 +msgid "" +" %prog options\n" +" \n" +" Customize calibre by loading external plugins.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:253 +msgid "Add a plugin by specifying the path to the zip file containing it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:255 +msgid "Remove a custom plugin by name. Has no effect on builtin plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:257 +msgid "" +"Customize plugin. Specify name of plugin and customization string separated " +"by a comma." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:259 +msgid "List all installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:261 +msgid "Enable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:263 +msgid "Disable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:158 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:196 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:224 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "Schijf %s is niet gevonden. Probeer te herstarten." -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:409 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:412 msgid "The reader has no storage card connected." msgstr "Er is geen geheugen kaart verbonden met de reader." @@ -200,64 +374,7 @@ msgid "" "Extract the contents of the produced EPUB file to the specified directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:43 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:477 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 -#: /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 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 -#: /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:196 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:65 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:67 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:100 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:102 -#: /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:793 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 -#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:342 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:828 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:650 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 -#: /home/kovid/work/calibre/src/calibre/library/database.py:920 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1564 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:477 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:489 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:817 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 -msgid "Unknown" -msgstr "Onbekend" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:154 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:156 msgid "" "%%prog [options] filename\n" "\n" @@ -265,11 +382,11 @@ msgid "" "formats are: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:100 msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:157 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:158 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -280,13 +397,13 @@ msgid "" "the element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:389 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:737 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:391 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:739 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:411 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1035 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:413 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1046 msgid "You must specify an input HTML file" msgstr "Een bron HTML bestand is nodig" @@ -305,23 +422,23 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:490 msgid "Written processed HTML to " msgstr "Schrijf verwerkte HTML naar " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:820 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 msgid "Options to control the traversal of HTML" msgstr "Opties voor de verwerking van HTML" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:827 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:838 msgid "The output directory. Default is the current directory." msgstr "De uitvoer folder. Standaard is de huidige folder." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:829 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:840 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "Karakter codering voor HTML bestanden. Standaard is auto detect." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:842 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." @@ -329,11 +446,11 @@ msgstr "" "Genereer de uitvoer in een zip bestand. Als deze optie is gekozen, dan moet -" "-output de naam van een bestand zijn, niet de folder." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:833 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:844 msgid "Control the following of links in HTML files." msgstr "Configueer het volgen van links in HTML bestanden." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:835 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:846 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" @@ -341,7 +458,7 @@ msgstr "" "Volg links in HTML bestanden in de breedte. Standaard worden ze eerst in de " "diepte gevolgd." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:837 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:848 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." @@ -350,39 +467,39 @@ msgstr "" "Deze waarde kan niet negatief zijn. Gebruik 0 aan te geven dan links in het " "top HTML bestand niet zullen worden gevolgd." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:839 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:850 msgid "Set metadata of the generated ebook" msgstr "Metadata van het gegenereerde eboek" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:841 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:852 msgid "Set the title. Default is to autodetect." msgstr "Titel. Standaard is auto-detect." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:843 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:854 msgid "The author(s) of the ebook, as a comma separated list." msgstr "De auteur(s) van het eboek, als lijst gescheiden met komma's." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:845 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:856 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:847 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:858 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:849 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:860 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:851 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:862 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:853 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:864 msgid "Options useful for debugging" msgstr "Opties handig voor debuggen" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:866 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." @@ -390,12 +507,12 @@ msgstr "" "Geen meer informatie tijdens verwerking. Dit kan meerder malen worden " "opgegeven om meer informatie te verkrijgen" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:857 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:868 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" "Uitvoer HTML is \"mooi geprint\" om makkelijker door mensen leesbaar te zijn" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:863 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:874 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -417,7 +534,7 @@ msgid "%prog [options] LITFILE" msgstr "%prog [opties] LITBESTAND" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:852 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:444 msgid "Output directory. Defaults to current directory." msgstr "Output folder. Standaard is dit de huidige folder." @@ -428,20 +545,20 @@ msgstr "" "gewijzigd worden." #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:723 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:724 msgid "Useful for debugging." msgstr "Handig voor Debugging" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:869 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:468 msgid "OEB ebook created in" msgstr "OEB boek bemaakt in" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:717 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:718 msgid "%prog [options] OPFFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:720 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:721 msgid "Output file. Default is derived from input filename." msgstr "" @@ -476,7 +593,7 @@ msgstr "Zoeksleutel voor de auteur" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:275 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 msgid "Publisher" msgstr "Uitgeverij" @@ -782,11 +899,11 @@ msgstr "" "gebruikte keuze is utf-8. Standaard zal er worden geprobeerd om de encoding " "automatisch te herkennen." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:161 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:164 msgid "Converting from %s to LRF is not supported." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:171 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:175 msgid "" "any2lrf [options] myfile\n" "\n" @@ -803,73 +920,73 @@ msgstr "" "bestanden, en zoekt ebook bestanden in deze archiven.\n" " " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:186 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:190 msgid "No file to convert specified." msgstr "Geen bestand opgegeven om te converteren." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:221 msgid "Rendered %s" msgstr "Gegenereerd %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:223 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 msgid "Failed %s" msgstr "Mislukt %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:275 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:276 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:283 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "" "Opties voor de configuratie van de conversie van comics (CBR, CBZ) bestanden " "naar eboek" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:289 msgid "Title for generated ebook. Default is to use the filename." msgstr "" "Titel voor gegenereerd eboek. Standaard word de bestandsnaam gebruikt." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" "De auteur in de metadata van het gegenereerde eboek. Standaard is %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 msgid "" "Path to output file. By default a file is created in the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:296 msgid "Number of colors for grayscale image conversion. Default: %default" msgstr "" "Aantal kleuren voor beeld conversie naar grijstinten. Standaard: %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Geen kleur normalisatie (contrast verbetering) voor afbeeldingen. Standaard: " "Nee (False)" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "Behoudt afbeelding aspect ratio. Standaard is beeldvullend." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 msgid "Disable sharpening." msgstr "Geen aanscherpen." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 msgid "Don't split landscape images into two portrait images" msgstr "Splits landscape afbeeldingen niet in twee portret afbeeldingen" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -877,7 +994,7 @@ msgstr "" "Behoudt aspect ratio en schaal afbeelding aan de hand van de schermhoogte " "als beeld breedte voor het bekijken in landscape modus." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:307 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:308 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -885,7 +1002,7 @@ msgstr "" "Gebruik voor rechts-naar-links publicaties zoals manga. Hierdoor worden " "landscape paginas gesplitst in portret paginas van rechts naar links." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:310 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -893,7 +1010,7 @@ msgstr "" "Activeer ontspikkelen. Verminderd spikkel ruis. Dit kan de verwerkingstijd " "flink verlengen." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:312 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -901,14 +1018,14 @@ msgstr "" "Sorteer de bestanden in de comic niet alfabetisch op naam - gebruik de " "voldorde waarin ze zijn toegevoegd aan de comic." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:314 msgid "" "Choose a profile for the device you are generating this file for. The " "default is the SONY PRS-500 with a screen size of 584x754 pixels. This is " "suitable for any reader with the same screen size. Choices are %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:316 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " "greater verbosity." @@ -916,22 +1033,22 @@ msgstr "" "Uitgebreide informatie, handig voor debuggen. Kan meerdere malen worden " "opgegeven voor meer informatie." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:318 msgid "Don't show progress bar." msgstr "Laat geen vootgangsbalk zien" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:322 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" "Convert a comic in a CBZ or CBR file to an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:382 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:383 msgid "Output written to" msgstr "Uitvoer weggeschreven naar" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:423 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:426 msgid "Rendering comic pages..." msgstr "Generatie comic bladzijden..." @@ -980,56 +1097,56 @@ msgstr "Opties om het gedrag van html2lrf te beïnvloeden." msgid "Fetching of recipe failed: " msgstr "Ophalen van recept mislukt: " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 msgid "\tBook Designer file detected." msgstr "\tBook Designer bestand herkend." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tParsing HTML..." msgstr "\tLezen HTML" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:340 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:343 msgid "\tBaen file detected. Re-parsing..." msgstr "\tBaen bestand herkend. Her-lezen..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:356 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:359 msgid "Written preprocessed HTML to " msgstr "Schrijf pre-info HTML naar " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:377 msgid "Processing %s" msgstr "Verwerking %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:388 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:391 msgid "\tConverting to BBeB..." msgstr "\tConveteer naar BBEB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:534 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:547 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:550 msgid "Could not parse file: %s" msgstr "Kan bestand niet parseren: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:542 msgid "%s is an empty file" msgstr "%s is een leeg bestand" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:559 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:562 msgid "Failed to parse link %s %s" msgstr "Link %s %s kan niet worden geparseerd" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:603 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:606 msgid "Cannot add link %s to TOC" msgstr "Link %s kan niet worden toegevoegd aan de inhoudsopgave" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:958 msgid "Unable to process image %s. Error: %s" msgstr "Niet mogelijk om afbeelding %s te verwerken. Foutmelding: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:996 msgid "Unable to process interlaced PNG %s" msgstr "Niet mogelijk om interlaced PNG bestand %s te verwerken." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1008 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1011 msgid "" "Could not process image: %s\n" "%s" @@ -1037,14 +1154,14 @@ msgstr "" "Niet mogelijk om afbeelding %s te verwerken\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1765 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "" "Een fout is opgetreden tijdens het verwerken van een tabel: %s. Tabel opmaak " "zal worden genegeerd." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1767 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 msgid "" "Bad table:\n" "%s" @@ -1052,11 +1169,11 @@ msgstr "" "Foutieve tabel:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1789 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 msgid "Table has cell that is too large" msgstr "Tabel heeft een cel die te groot is." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1819 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." @@ -1064,19 +1181,19 @@ msgstr "" "De website %s moet eerst als een HTML bestand worden weggeschreven, waarna " "je deze met html2rlf kunt converteren." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 msgid "Could not read cover image: %s" msgstr "Omslag afbeelding kan niet worden ingelezen: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 msgid "Cannot read from: %s" msgstr "Kan niet lezen van: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "Failed to process opf file" msgstr "Verwerking van OPF bestand is niet gelukt." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2009 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1322,17 +1439,17 @@ msgstr "Geef de omschrijving" #: /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:91 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 msgid "Title" msgstr "Titel" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:330 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:899 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:906 msgid "Author(s)" msgstr "Auteur(s)" @@ -1351,24 +1468,24 @@ msgstr "Categorie" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:391 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:527 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "Opmerkingen" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:838 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:845 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Tags" msgstr "Tags" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Series" @@ -1502,11 +1619,11 @@ msgstr "Gebruik: pdf-meta bestand.pdf" msgid "Usage: rb-meta file.rb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:440 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 msgid "%prog [options] myebook.mobi" msgstr "%prog [opties] mijnboek.mobi" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:464 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 msgid "Raw MOBI HTML saved in" msgstr "RAW MOBI HTML bewaard in" @@ -1514,86 +1631,86 @@ msgstr "RAW MOBI HTML bewaard in" msgid "The output directory. Defaults to the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:26 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:424 msgid "Frequently used directories" msgstr "Vaak gebruikte folders" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:27 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:29 msgid "The format to use when saving single files to disk" msgstr "" "Het formaat te gebruiken voor het wegschrijven van enkele bestanden naar " "schijf" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:31 msgid "Confirm before deleting" msgstr "Bevestig alvorens verwijdering" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 msgid "Toolbar icon size" msgstr "werkbalk ikoon grootte" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 msgid "Show button labels in the toolbar" msgstr "Laat labels zien in de werkbalk" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 msgid "Main window geometry" msgstr "Hoofdscherm geometrie" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 msgid "Notify when a new version is available" msgstr "Laat weten wanneer er een nieuwe versie is" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Use Roman numerals for series number" msgstr "Gebruik Romeinse nummers voor serie nummers" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Sort tags list by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Number of covers to show in the cover browsing mode" msgstr "Aantal boek covers te laten zien in cover browsing modus" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" msgstr "Standaarden voor conversie naar LRF" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Options for the LRF ebook viewer" msgstr "Opties voor de LRF eboek viewer" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 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:57 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Delete books from library after uploading to device" msgstr "" @@ -1632,8 +1749,8 @@ msgstr "Bekijk book op apparaat" #: /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:282 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:840 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "Pad" @@ -1642,7 +1759,7 @@ msgstr "Pad" #: /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:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Formats" @@ -1657,6 +1774,7 @@ msgstr "Dialoogvenster" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:53 msgid "TextLabel" @@ -1732,76 +1850,128 @@ msgstr "Ont&spikkel" msgid "&Wide" msgstr "&Wijd" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 +msgid " plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:106 +msgid "by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Advanced" msgstr "Geavanceerd" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "General" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 msgid "" "Content\n" "Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 +msgid "Plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:255 +msgid "No valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:256 +msgid "%s is not a valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +msgid "Choose plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:270 +msgid "Plugin cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:271 +msgid "The plugin: %s cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +msgid "Plugin not customizable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:282 +msgid "Plugin: %s does not need customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +msgid "Customize %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:295 +msgid "Cannot remove builtin plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:296 +msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:317 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:321 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:382 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:264 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:423 msgid "Invalid database location" msgstr "Foutieve database locatie" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "
                                                                  Must be a directory." msgstr "
                                                                  Moet een folder zijn." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "Invalid database location " msgstr "Foutieve database locatie " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 msgid "Invalid database location.
                                                                  Cannot write to " msgstr "Foutieve database locatie.
                                                                  Kan niet schrijven naar " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting database. This may take a while." msgstr "Database aan het comprimeren. Dit kan even duren." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting..." msgstr "Comprimeren..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:329 msgid "Configuration" msgstr "Configuratie" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:409 msgid "" "&Location of ebooks (The ebooks are stored in folders sorted by author and " "metadata is stored in the file metadata.db)" @@ -1809,15 +1979,16 @@ msgstr "" "&Locatie van eboeken. (De eboeken zijn opgeslagen in de folders gesorteerd " "op auteur, en metadata word bewaard in eht bestand metadata.db)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:410 msgid "Browse for the new database location" msgstr "Blader naar de nieuwe database locatie" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:358 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:374 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:386 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:426 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:373 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:509 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:282 @@ -1840,33 +2011,29 @@ msgstr "Blader naar de nieuwe database locatie" msgid "..." msgstr "..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:412 msgid "Show notification when &new version is available" msgstr "Notificeer als een &nieuwe versie beschikbaar is" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:360 -msgid "Ask for &confirmation before deleting files" -msgstr "Vraag &bevestiging alvorens bestanden te verwijderen" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:413 msgid "" -"If you disable this setting, metadatas is guessed from the filename instead. " +"If you disable this setting, metadata is guessed from the filename instead. " "This can be configured in the Advanced section." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:414 msgid "Read &metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:415 msgid "Format for &single file save:" msgstr "Opglagformaat voor &enkel bestand:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:416 msgid "Default network &timeout:" msgstr "Standaard netwerk &timeout:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:417 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" @@ -1874,168 +2041,168 @@ msgstr "" "Geef de standaard timeout voor netwerk downloads. (bv. wanneer we informatie " "van het Internet moeten halen)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:418 msgid " seconds" msgstr " seconden" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:419 msgid "Choose &language (requires restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:420 msgid "Normal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:421 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:422 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:423 msgid "Job &priority:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:425 msgid "Add a directory to the frequently used directories list" msgstr "Voeg een folder toe aan de lijst met vaak gebruikte folders" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:427 msgid "Remove a directory from the frequently used directories list" msgstr "Verwijder een folder van de lijst met vaak gebruikte folders" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:429 msgid "Use &Roman numerals for series number" msgstr "Gebruik &Romeinse nummers voor de series" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:430 msgid "&Number of covers to show in browse mode (after restart):" msgstr "&Aantal covers zichtbaar in blader modus (na herstart):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:431 msgid "Toolbar" msgstr "Werkbalk" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 msgid "Large" msgstr "Groot" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Medium" msgstr "Middel" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 msgid "Small" msgstr "Klein" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:435 msgid "&Button size in toolbar" msgstr "&Knop grootte in werkbalk" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:436 msgid "Show &text in toolbar buttons" msgstr "Laat &tekst zien in werkbalk knoppen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:437 msgid "Select visible &columns in library view" msgstr "Selecteer zichtbare &kolommen in bibliotheek weergave" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:440 msgid "Use internal &viewer for the following formats:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:441 msgid "Enable system &tray icon (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:442 msgid "Automatically send downloaded &news to ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:443 msgid "&Delete news from library when it is sent to reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:444 msgid "Free unused diskspace from the database" msgstr "Geef ongebruikte diskruimte uit de database terug" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:445 msgid "&Compact database" msgstr "&Comprimeer database" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:446 msgid "&Metadata from file name" msgstr "&Metadata van bestands naam" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:447 msgid "" "calibre contains a network server that allows you to access your book " "collection using a browser from anywhere in the world. Any changes to the " "settings will only take effect after a server restart." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:448 msgid "Server &port:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:146 msgid "&Username:" msgstr "Gebr&uikersnaam:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:147 msgid "&Password:" msgstr "W&achtwoord:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:451 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:452 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:148 msgid "&Show password" msgstr "&Geef wachtwoord weer" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:453 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:454 msgid "Max. &cover size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:455 msgid "&Start Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:456 msgid "St&op Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:457 msgid "&Test Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:458 msgid "Run server &automatically on startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:459 msgid "View &server logs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 msgid "" "If you want to use the content server to access your ebook collection on " "your iphone with Stanza, you will need to add the URL " @@ -2044,6 +2211,44 @@ msgid "" "address of this computer." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 +msgid "" +"Here you can customize the behavior of Calibre by controlling what plugins " +"it uses." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:462 +msgid "Enable/&Disable plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 +msgid "&Customize plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:464 +msgid "&Remove plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:465 +msgid "Add new plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:466 +msgid "Plugin &file:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:468 +msgid "&Add" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +msgid "Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +msgid "&Show this warning again" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:41 msgid "ERROR" msgstr "FOUT" @@ -2061,7 +2266,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:296 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 msgid "Metadata" msgstr "Metadata" @@ -2115,25 +2320,25 @@ msgstr "Kies cover voor " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 msgid "Cannot read" msgstr "Kan niet lezen" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:52 msgid "You do not have permission to read the file: " msgstr "Je hebt geen permissie om het bestand te lezen: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 msgid "Error reading file" msgstr "Fout bij het lezen van bestand" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:184 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:61 msgid "

                                                                  There was an error reading from file:
                                                                  " msgstr "

                                                                  Er is een fout opgetreden bij het lezen van bestand:
                                                                  " @@ -2143,7 +2348,7 @@ msgid " is not a valid picture" msgstr " is geen geldige afbeelding" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "Cannot convert" msgstr "Kan niet converteren" @@ -2791,7 +2996,7 @@ msgstr "" msgid "A&utomatically set author sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:262 msgid "" "

                                                                  Enter your username and password for LibraryThing.com.
                                                                  If you " "do not have one, you can register " @@ -2801,19 +3006,19 @@ msgstr "" "
                                                                  Als u deze niet heeft, dan kunt u er gratis een krijgen door te registreren

                                                                  " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover.
                                                                  " msgstr "Omslag kon niet worden gedownload
                                                                  " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover" msgstr "Omslag kon niet worden gedownload" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "Cannot fetch cover" msgstr "Kan omslag niet downloaden" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "You must specify the ISBN identifier for this book." msgstr "Het ISBN nummer voor dit boek moet worden opgegeven." @@ -2921,9 +3126,9 @@ msgstr "Voeg een persoonlijke nieuwsbron toe" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:335 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:761 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:765 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1064 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:752 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:756 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1055 msgid "News" msgstr "" @@ -3415,53 +3620,63 @@ msgstr "Wachten" msgid "Working" msgstr "Bezig" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:162 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:166 +#: /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 "Opdracht kan niet worden afgebroken" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 msgid "Cannot kill jobs that communicate with the device" msgstr "" "Taken die met het apparaat communicaren kunnen niet worden afgebroken" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:177 msgid "Job has already run" msgstr "Taak is al uitgevoerd" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:907 msgid "Size (MB)" msgstr "Grootte (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:908 msgid "Date" msgstr "Datum" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 msgid "Rating" msgstr "Waardering" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:274 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 msgid "None" msgstr "Geen" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 msgid "Book %s of %s." msgstr "Boek %s van %s." -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:675 +msgid "Not allowed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:676 +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:839 msgid "Format" msgstr "Formaat" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:844 msgid "Timestamp" msgstr "Tijdsaanduiding" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:942 msgid "Search (For Advanced Search click the button to the left)" msgstr "Zoeken (Voor geavanceerd zoeken klik op de knop links)" @@ -3491,7 +3706,7 @@ msgid "No matches for the search phrase %s were found." msgstr "Geen Resultaten voor de zoekterm %s gevonden." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:377 msgid "No matches found" msgstr "Geen resultaten gevonden" @@ -3516,12 +3731,12 @@ msgid "Previous Page" msgstr "Vorige Pagina" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 msgid "Back" msgstr "Terug" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 msgid "Forward" msgstr "Verder" @@ -3530,7 +3745,7 @@ msgid "Next match" msgstr "Volgende overeenkomst" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:162 msgid "Open ebook" msgstr "Open eboek" @@ -3538,27 +3753,27 @@ msgstr "Open eboek" msgid "Configure" msgstr "Configureer" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88 msgid "Error communicating with device" msgstr "Fout bij communicatie met lezer" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Donate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Quit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:104 msgid "&Restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:148 msgid "" "

                                                                  For help visit %s.kovidgoyal.net
                                                                  " @@ -3566,131 +3781,127 @@ msgstr "" "

                                                                  Voor assistentie, bezoek %s.kovidgoyal.net
                                                                  " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:149 msgid "%s: %s by Kovid Goyal %%(version)s
                                                                  %%(device)s

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

                                                                  " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Send to main memory" msgstr "Stuur naar hoofdgeheugen" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "Send to storage card" msgstr "Stuur naar opslag kaart" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "and delete from library" msgstr "en verwijder uit bibliotheek" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 msgid "Send to storage card by default" msgstr "Bewaar standaard op geheugen kaart" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 msgid "Edit metadata individually" msgstr "Bewerk metadata individueel" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:187 msgid "Edit metadata in bulk" msgstr "Bewerk metadata in groep" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 msgid "Add books from a single directory" msgstr "Voeg boeken toe uit een enkele folder" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:191 msgid "" -"Add books recursively (One book per directory, assumes every ebook file is " -"the same book in a different format)" +"Add books from directories, including sub-directories (One book per " +"directory, assumes every ebook file is the same book in a different format)" msgstr "" -"Voeg recursief boeken toe (Een boek per folder, neemt aan dat ieder eboek " -"bestand hetzelfde boek is in een ander formaat)" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 msgid "" -"Add books recursively (Multiple books per directory, assumes every ebook " -"file is a different book)" +"Add books from directories, including sub directories (Multiple books per " +"directory, assumes every ebook file is a different book)" msgstr "" -"voeg recursief boeken toe (Meerdere boeken per folder, neemt aan dat ieder " -"eboek bestand een ander boek is)" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:342 msgid "Save to disk" msgstr "Opslaan op schijf" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 msgid "Save to disk in a single directory" msgstr "Opslaan op schijf in een enkele folder" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Save only %s format to disk" msgstr "Bewaar alleen %s formaat op schijf" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:348 msgid "View" msgstr "Bekijk" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:213 msgid "View specific format" msgstr "Bekijk specifiek formaat" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:230 msgid "Convert individually" msgstr "Converteer Individueel" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 msgid "Bulk convert" msgstr "Converteer Groep" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:233 msgid "Set defaults for conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:234 msgid "Set defaults for conversion of comics" msgstr "Zet standaarden voor conversie van comics" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:255 msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 msgid "Bad database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1333 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1356 msgid "Choose a location for your ebook library." msgstr "Kies een locatie voor de eboek bibliotheek" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:315 msgid "Migrating database" msgstr "Migratie database" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:487 msgid "Device: " msgstr "Apparaat: " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:488 msgid " detected." msgstr " gedetecteerd" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:510 msgid "Connected " msgstr "Verbonden " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:521 msgid "Device database corrupted" msgstr "Apparaat Database Beschadigd" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:522 msgid "" "\n" "

                                                                  The database of books on the reader is corrupted. Try the " @@ -3719,8 +3930,25 @@ msgstr "" " \n" " " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:572 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:668 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +msgid "Stop" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:574 +msgid "Adding books recursively..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Added " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Searching..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:695 msgid "" "

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

                                                                    " @@ -3728,104 +3956,119 @@ msgstr "" "

                                                                    Boeken met de volgende titels bestaan al in de database. Wil je ze echt " "toevoegen?

                                                                      " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:575 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:698 msgid "Duplicates found!" msgstr "Duplicaten gevonden!" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:649 msgid "Uploading books to device." msgstr "Boeken worden geupload naar de lezer." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:633 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:634 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:635 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:636 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:620 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:637 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:638 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:639 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:640 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:641 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:642 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:661 +msgid "Reading metadata..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:659 +msgid "Adding books..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:685 +msgid "Read metadata from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:688 +msgid "Adding books to database..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:730 msgid "No space on device" msgstr "Geen schijfruimte op de lezer." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:731 msgid "" "

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

                                                                      De boeken kunnen niet worden geupload naar de lezer, omdat er onvoldoende " "schijfruimte beschikbaar is " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:736 -msgid "Confirm delete" -msgstr "Bevesting verwijdering" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:763 +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:737 -msgid "Are you sure you want to delete these %d books?" -msgstr "Weet u zeker dat u deze %d bestanden wilt verwijderen?" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 msgid "Deleting books from device." msgstr "Boeken worden verwijderd van de lezer." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 msgid "Cannot edit metadata" msgstr "Metedata kan niet worden gewijzigd" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "No books selected" msgstr "Geen boeken geselecteerd" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:848 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:871 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:923 msgid "Sending books to device." msgstr "Boeken worden naar de lezer verzonden." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:926 msgid "No suitable formats" msgstr "Geen geschikte formaten" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:927 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found:

                                                                        %s
                                                                      " @@ -3833,15 +4076,15 @@ msgstr "" "De volgende boeken konden niet naar de lezer worden deupload, omdat geen " "geschikt formaat werd gevonden:
                                                                        %s
                                                                      " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 msgid "Cannot save to disk" msgstr "Kan niet naar schijf worden opgeslagen" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:947 msgid "Choose destination directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:931 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:954 msgid "" "

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

                                                                        " @@ -3849,64 +4092,64 @@ msgstr "" "

                                                                        De volgende boeken konden niet worden bewaard op schijf, omdat het %s " "formaat niet beschikbaar is:

                                                                          " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:958 msgid "Could not save some ebooks" msgstr "Sommige boeken konden niet worden opgeslagen" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:955 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:978 msgid "Fetching news from " msgstr "Downloading nieuws van " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:992 msgid " fetched." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 msgid "No book selected" msgstr "Geen boek geselecteerd" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 msgid "Cannot view" msgstr "Kan niet bekijken" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1134 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1112 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1157 msgid "Choose the format to view" msgstr "Kies het te bekijken formaat" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1130 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1153 msgid "%s has no available formats." msgstr "%s heeft geen beschikbare formaten" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure" msgstr "Kan niet configureren" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure while there are running jobs." msgstr "Can niet configueren terwijl bestaande opdrachten bezig zijn" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1210 msgid "Copying database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212 msgid "Copying library to " msgstr "Copieer bibliotheek naar " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1222 msgid "Invalid database" msgstr "ongeldige database" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1223 msgid "" "

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

                                                                          Een ongeldige database bestaat op %s, verwijder deze voordat je probeert " "de bestaande database te verplaatsen.
                                                                          Foutmelding: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1229 msgid "Could not move database" msgstr "Database kon niet worden verplaatst" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1226 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1249 msgid "No detailed info available" msgstr "Geen details beschikbaar" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1227 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1250 msgid "No detailed information is available for books on the device." msgstr "Geen details zijn beschikbaar voor de boeken op de lezer." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1270 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1293 msgid "Error talking to device" msgstr "Fout bij communicatie met lezer" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1294 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -3938,23 +4181,23 @@ msgstr "" "Er is een tijdelijke fout opgetreden tijdens de communicatie met de lezer. " "verwijzer de lezer en plug hem opnieuw in, of herstart." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1284 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1299 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1307 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1326 msgid "Conversion Error" msgstr "Converteer Fout" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 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:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1342 msgid "Database does not exist" msgstr "database bestaat niet" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1320 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1343 msgid "" "The directory in which the database should be: %s no longer exists. Please " "choose a new database location." @@ -3962,38 +4205,38 @@ msgstr "" "De folder waarin de database zou moetten zijn: %s bestaat niet meer. Kies " "een nieuwe database locatie." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1345 msgid "Choose new location for database" msgstr "Kies een nieuwe locatie voor de database" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1375 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 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:1396 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1419 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1421 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:1402 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1425 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 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:1444 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1467 msgid "" "Latest version: %s" @@ -4001,7 +4244,7 @@ msgstr "" "Laatste versie: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "" "%s has been updated to version %s. See the new features. " @@ -4011,15 +4254,15 @@ msgstr "" "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">nieuwe functies " "Bezoek download pagina?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "Update available" msgstr "Update beschikbaar" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1464 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1487 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1489 msgid "Log debugging information to console" msgstr "" @@ -4333,7 +4576,7 @@ msgid "The standard font type" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:47 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 msgid "Table of Contents" msgstr "" @@ -4357,109 +4600,113 @@ msgstr "" msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:338 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:339 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:378 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:445 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:497 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "

                                                                          This book is protected by DRM" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:507 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:508 msgid "%s

                                                                          %s

                                                                          " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:577 msgid "" "%prog [options] file\n" "\n" "View an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 msgid "Ebook Viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 msgid "toolBar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 msgid "Next page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 msgid "Previous page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 msgid "Font size larger" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 msgid "Font size smaller" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:163 msgid "Find next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:164 msgid "Copy to clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:165 msgid "Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:166 msgid "Reference Mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:167 msgid "Bookmark" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168 +msgid "Toggle full screen" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:47 msgid "Invalid regular expression" msgstr "Ongeldige reguliere expressie" @@ -4826,20 +5073,20 @@ msgstr "" "\n" "Voor help met een specifiek commando: %%prog command --help\n" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1146 msgid "

                                                                          Copying books to %s

                                                                          " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1157 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1266 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1159 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1268 msgid "Copying %s" msgstr "Copieer %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1237 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "

                                                                          Migrating old database to ebook library in %s

                                                                          " msgstr "

                                                                          Migreer oude database naar eboek bibliotheek in %s

                                                                          " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1285 msgid "Compacting database" msgstr "Comprimeren database" @@ -4862,47 +5109,47 @@ msgstr "Werker sessie kan niet worden gestart." msgid "Job stopped by user" msgstr "Taak gestopt door gebruiker" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:39 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:41 msgid "%sUsage%s: %s\n" msgstr "%sGebruik%s: %s\n" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:77 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:79 msgid "Created by " msgstr "Gemaakt door " -#: /home/kovid/work/calibre/src/calibre/utils/config.py:524 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:527 msgid "Path to the database in which books are stored" msgstr "Pad naar de database waarin boeken zijn opgeslagen" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:526 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:529 msgid "Pattern to guess metadata from filenames" msgstr "Patroon om metadata uit bestandsnamen te voorspellen" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:528 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:531 msgid "Access key for isbndb.com" msgstr "Toegangssleutel voor isbndb.com" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:530 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:533 msgid "Default timeout for network operations (seconds)" msgstr "Standaard timeout voor netwerk operaties" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:532 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:535 msgid "Path to directory in which your library of books is stored" msgstr "Pad naar folder waarin je bibliotheek is opgeslagen" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:534 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:537 msgid "The language in which to display the user interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:536 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:539 msgid "The default output format for ebook conversions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:538 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:541 msgid "Read metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:540 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:543 msgid "The priority of worker processes" msgstr "" @@ -5368,6 +5615,20 @@ msgstr "" #~ msgid "Changes will only take affect after a restart." #~ msgstr "Veranderingen zijn pas zichtbaar na een herstart." +#~ msgid "" +#~ "Add books recursively (One book per directory, assumes every ebook file is " +#~ "the same book in a different format)" +#~ msgstr "" +#~ "Voeg recursief boeken toe (Een boek per folder, neemt aan dat ieder eboek " +#~ "bestand hetzelfde boek is in een ander formaat)" + +#~ msgid "" +#~ "Add books recursively (Multiple books per directory, assumes every ebook " +#~ "file is a different book)" +#~ msgstr "" +#~ "voeg recursief boeken toe (Meerdere boeken per folder, neemt aan dat ieder " +#~ "eboek bestand een ander boek is)" + #~ msgid "News fetched. Uploading to device." #~ msgstr "Nieuws gedownload, uploading naar lezer." @@ -5567,6 +5828,15 @@ msgstr "" #~ "Standaard is de SONY PRS-500 met een scherm grootte van 584x754 pixels. " #~ "Keuzes zijn %s" +#~ msgid "Ask for &confirmation before deleting files" +#~ msgstr "Vraag &bevestiging alvorens bestanden te verwijderen" + +#~ msgid "Confirm delete" +#~ msgstr "Bevesting verwijdering" + +#~ msgid "Are you sure you want to delete these %d books?" +#~ msgstr "Weet u zeker dat u deze %d bestanden wilt verwijderen?" + #~ msgid "" #~ "%prog [options] comic.cb[z|r]\n" #~ "\n" diff --git a/src/calibre/translations/pl.po b/src/calibre/translations/pl.po index 28e0222788..3deb19c0c2 100644 --- a/src/calibre/translations/pl.po +++ b/src/calibre/translations/pl.po @@ -7,24 +7,204 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2008-12-18 01:36+0000\n" -"PO-Revision-Date: 2008-12-21 14:22+0000\n" -"Last-Translator: Andrzej MoST (Marcin Ostajewski) \n" +"POT-Creation-Date: 2008-12-30 15:33+0000\n" +"PO-Revision-Date: 2009-01-03 20:09+0000\n" +"Last-Translator: Radian \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-12-23 17:57+0000\n" +"X-Launchpad-Export-Date: 2009-01-04 04:32+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:137 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:155 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:193 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 +msgid "Does absolutely nothing" +msgstr "Ta opcja nic nie zmienia" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:478 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:961 +#: /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 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 +#: /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:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 +#: /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:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:78 +#: /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:793 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:835 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:915 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 +#: /home/kovid/work/calibre/src/calibre/library/database.py:920 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1580 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:461 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:808 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:841 +msgid "Unknown" +msgstr "Nieznany" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:62 +msgid "Base" +msgstr "Baza" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 +msgid "File type" +msgstr "Typ pliku" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:182 +msgid "Metadata reader" +msgstr "Czytnik metadanych" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:209 +msgid "Metadata writer" +msgstr "Zapisywacz metadanych" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:12 +msgid "" +"Follow all local links in an HTML file and create a ZIP file containing all " +"linked files. This plugin is run every time you add an HTML file to the " +"library." +msgstr "" +"Podąż za wszystkimi lokalnymi linkami w pliku HTML i stwórz plik ZIP " +"zawierający wszystkie podlinkowane pliki. Ta wtyczka jest uruchamiana za " +"każdym razem, gdy dodasz plik HTML do biblioteki." + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:32 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:42 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:53 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:63 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:73 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:83 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:105 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:135 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:145 +msgid "Read metadata from %s files" +msgstr "Odczytaj metadane z %s plików" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:155 +msgid "Extract cover from comic files" +msgstr "Wyodrębnij okładki z plików komisów" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:175 +msgid "Set metadata in EPUB files" +msgstr "Ustaw metadane w plikach EPUB" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:185 +msgid "Set metadata in LRF files" +msgstr "Ustaw metadane w plikach LRF" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:195 +msgid "Set metadata in RTF files" +msgstr "Ustaw metadane w plikach RTF" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:28 +msgid "Installed plugins" +msgstr "Zainstalowane wtyczki" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:29 +msgid "Mapping for filetype plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 +msgid "Local plugin customization" +msgstr "Lokalne dostosowanie wtyczek" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 +msgid "Disabled plugins" +msgstr "Wyłączone wtyczki" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:66 +msgid "No valid plugin found in " +msgstr "Nie znaleziono wtyczki w " + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:170 +msgid "Initialization of plugin %s failed with traceback:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:247 +msgid "" +" %prog options\n" +" \n" +" Customize calibre by loading external plugins.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:253 +msgid "Add a plugin by specifying the path to the zip file containing it." +msgstr "Dodaj wtyczkę przez podanie ścieżki do pliku, który ją zawiera." + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:255 +msgid "Remove a custom plugin by name. Has no effect on builtin plugins" +msgstr "" +"Usuń wtyczkę użytkownika - po nazwie. Nie ma wpływu na wtyczki wbudowane." + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:257 +msgid "" +"Customize plugin. Specify name of plugin and customization string separated " +"by a comma." +msgstr "" +"Dostosuj wtyczkę. Wprowadź nazwę wtyczki i polecenie dostosowujące " +"oddzielając przecinkami." + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:259 +msgid "List all installed plugins" +msgstr "Wyświetl wszystkie zainstalowane wtyczki" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:261 +msgid "Enable the named plugin" +msgstr "Włącz wtyczkę" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:263 +msgid "Disable the named plugin" +msgstr "Wyłącz wtyczkę" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:158 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:196 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:224 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "Wykrycie dysku %s niemożliwe. Spróbuj ponownie uruchomić komputer." -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:409 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:412 msgid "The reader has no storage card connected." msgstr "Brak karty pamięci w czytniku." @@ -210,8 +390,8 @@ msgid "" "The base font size in pts. Default is %defaultpt. Set to 0 to disable " "rescaling of fonts." msgstr "" -"Wielkość czcionki podstawowej w pts. Domyślna to %defaultpt. Ustawienie na 0 " -"zapobiegnie skalowaniu czcionek." +"Rozmiar czcionki podstawowej w punktach. Domyślna to %default pt. Ustawienie " +"wartości na 0 zapobiegnie skalowaniu czcionek." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:159 msgid "" @@ -249,64 +429,7 @@ msgid "" "Extract the contents of the produced EPUB file to the specified directory." msgstr "Wypakuj zawartość utworzonego pliku EPUB do podanego katalogu." -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:43 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:477 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 -#: /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 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 -#: /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:196 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:65 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:67 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:100 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:102 -#: /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:793 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 -#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:342 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:828 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:650 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 -#: /home/kovid/work/calibre/src/calibre/library/database.py:920 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1564 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:477 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:489 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:817 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 -msgid "Unknown" -msgstr "Nieznany" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:154 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:156 msgid "" "%%prog [options] filename\n" "\n" @@ -318,11 +441,11 @@ msgstr "" "Konwertuj jeden z wielu dostępnych formatów e-booka do pliku %s. Wspierane " "formaty: %s\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:100 msgid "Could not find an ebook inside the archive" msgstr "Nie znaleziono e-book'a w archiwum" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:157 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:158 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -337,13 +460,13 @@ msgstr "" "Jeśli wybierzesz plik OPF zamiast pliku HTML, lista odnośników będzie brana " "z elementu w pliku OPF. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:389 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:737 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:391 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:739 msgid "Output written to " msgstr "Plik wyjściowy zapisany w " -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:411 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1035 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:413 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1046 msgid "You must specify an input HTML file" msgstr "Musisz podać wejściowy plik HTML" @@ -366,24 +489,24 @@ msgstr "" "\t\tZa dużo oznaczeń. Ponowne dzielenie bez zachowania struktury. Może to " "doprowadzić do złego renderowania." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:490 msgid "Written processed HTML to " msgstr "Zapisz przekształcony HTML w " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:820 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 msgid "Options to control the traversal of HTML" msgstr "Opcje do kontroli traversal w HTML" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:827 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:838 msgid "The output directory. Default is the current directory." msgstr "Folder wyjściowy. Domyślny folder to folder bieżący." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:829 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:840 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" "Kodowanie znaków dla plików HTML. Domyślnie jest to wybór automatyczny." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:842 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." @@ -391,11 +514,11 @@ msgstr "" "Stwórz plik formatu .zip. Jeśli ta opcja jest zaznaczona, wartość --output " "powinna być nazwą pliku a nie katalogu." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:833 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:844 msgid "Control the following of links in HTML files." msgstr "Kontrola śledzenia odnośników w plikach HTML." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:835 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:846 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" @@ -403,45 +526,48 @@ msgstr "" "Przechodź przez odnośniki w plikach HTML wszerz. Standardowo używany jest " "algorytm wgłębny." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:837 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:848 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 "" +"Maksymalny poziom rekurencji podczas podążania za linkami w plikach HTML. " +"Musi być liczbą nieujemną. 0 oznacza, że w głównym pliku html nie podąża się " +"za żadnymi linkami." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:839 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:850 msgid "Set metadata of the generated ebook" msgstr "Ustaw metadane w wygenerowanym e-booku." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:841 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:852 msgid "Set the title. Default is to autodetect." msgstr "Ustaw tytuł ksiązki. Domyślnie jest on wykrywny automatycznie." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:843 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:854 msgid "The author(s) of the ebook, as a comma separated list." msgstr "Autor(rzy) książki, jako lista rozdzielona przecinkami." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:845 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:856 msgid "The subject(s) of this book, as a comma separated list." msgstr "Temat(y) tej książki, jako lista rozdzielona przecinkami." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:847 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:858 msgid "Set the publisher of this book." msgstr "Ustaw wydawcę tej książki" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:849 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:860 msgid "A summary of this book." msgstr "Podsumowanie tej książki." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:851 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:862 msgid "Load metadata from the specified OPF file" msgstr "Wczytaj metadane ze wskazanego pliku OPF" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:853 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:864 msgid "Options useful for debugging" msgstr "Opcje przydatne do diagnostyki" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:866 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." @@ -449,11 +575,11 @@ msgstr "" "Wyświetlaj szczegółowe komunikaty w czasie pracy. Zaznaczenie w wielu " "miejscach zwiększa liczbę szczegółów." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:857 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:868 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "Wyjściowy HTML jest \"ładnie drukowany\" dla łatwiejszej analizy" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:863 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:874 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -481,7 +607,7 @@ msgid "%prog [options] LITFILE" msgstr "%prog [opcje] LITFILE" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:852 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:444 msgid "Output directory. Defaults to current directory." msgstr "Folder docelowy. Domyślnie to aktualny folder." @@ -492,20 +618,20 @@ msgstr "" "przestrzeń" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:723 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:724 msgid "Useful for debugging." msgstr "Użyteczne dla debugowania." #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:869 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:468 msgid "OEB ebook created in" msgstr "OEB ebook stworzony w" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:717 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:718 msgid "%prog [options] OPFFILE" msgstr "%prog [opcje] OPFFILE" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:720 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:721 msgid "Output file. Default is derived from input filename." msgstr "" "Plik wynikowy. Nazwa domyślnie jest generowana na podstawie nazwy pliku " @@ -537,12 +663,12 @@ msgstr "Rodzaj klucza dla tytułu" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:85 msgid "Sort key for the author" -msgstr "" +msgstr "Sortuj wg autora" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:275 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 msgid "Publisher" msgstr "Wydawca" @@ -804,11 +930,11 @@ msgid "" "default is to try and guess the encoding." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:161 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:164 msgid "Converting from %s to LRF is not supported." msgstr "Konwersja z %s do LRF nie jest wspierana." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:171 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:175 msgid "" "any2lrf [options] myfile\n" "\n" @@ -826,19 +952,19 @@ msgstr "" "ZIP szukając pliku e-booka wewnątrz archiwum.\n" " " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:186 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:190 msgid "No file to convert specified." msgstr "Nie wybrano pliku do konwersji." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:221 msgid "Rendered %s" msgstr "Wykonane %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:223 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 msgid "Failed %s" msgstr "Nieudane %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:275 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:276 msgid "" "Failed to process comic: %s\n" "\n" @@ -848,84 +974,84 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:283 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "Opcje kontrolujące konwersję plików komiksów (CBR, CBZ) na e-booki" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:289 msgid "Title for generated ebook. Default is to use the filename." msgstr "Tytuł tworzonego e-booka. Domyślnie używana jest nazwa pliku." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" "Ustawienia autora w metadanych generowanego e-booka. Domyślna wartość to " "%default" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 msgid "" "Path to output file. By default a file is created in the current directory." msgstr "" "Ścieżka do pliku wyjściowego. Domyślnie jest on tworzony w katalogu bieżącym." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:296 msgid "Number of colors for grayscale image conversion. Default: %default" msgstr "" "Liczba kolorów dla konwersji grafiki na czarno-białą. Domyślnie: %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Nie zezwalaj na normalizowanie (poprawianie kontrastu) głębi kolorów. " "Domyślne: Fałsz" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 msgid "Disable sharpening." msgstr "Wyłącz wyostrzanie" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 msgid "Don't split landscape images into two portrait images" msgstr "Nie dziel grafik panoramicznych na dwie części" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:307 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:308 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:310 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:312 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:314 msgid "" "Choose a profile for the device you are generating this file for. The " "default is the SONY PRS-500 with a screen size of 584x754 pixels. This is " "suitable for any reader with the same screen size. Choices are %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:316 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " "greater verbosity." @@ -933,11 +1059,11 @@ msgstr "" "Wyświetlaj szczegółowe komunikaty przydatne przy debugowaniu. Zaznaczenie w " "wielu miejscach zwiększa liczbę szczegółów." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:318 msgid "Don't show progress bar." msgstr "Nie pokazuj paska postępu." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:322 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" @@ -947,11 +1073,11 @@ msgstr "" "\n" "Konwersja komiksu w formacie CBR lub CBZ do e-booka. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:382 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:383 msgid "Output written to" msgstr "Plik wyjściowy zapisany do" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:423 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:426 msgid "Rendering comic pages..." msgstr "Przetwarzanie stron komiksu..." @@ -1000,56 +1126,56 @@ msgstr "Opcje kontrolujące zachowanie html2lrf" msgid "Fetching of recipe failed: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 msgid "\tBook Designer file detected." msgstr "\twykryto plik Book Designer." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tParsing HTML..." msgstr "\tAnalizowanie HTML..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:340 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:343 msgid "\tBaen file detected. Re-parsing..." msgstr "\tWykryto plik Baen. Ponowna analiza..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:356 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:359 msgid "Written preprocessed HTML to " msgstr "Zapisano wstępnie przetworziny HTML do " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:377 msgid "Processing %s" msgstr "Przetwarzanie %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:388 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:391 msgid "\tConverting to BBeB..." msgstr "\tKonwersja do BBeB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:534 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:547 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:550 msgid "Could not parse file: %s" msgstr "Nie można przetworzyć pliku: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:542 msgid "%s is an empty file" msgstr "%s jest pustym plikiem" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:559 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:562 msgid "Failed to parse link %s %s" msgstr "Analiza odnośnika %s %s nie powiodła się" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:603 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:606 msgid "Cannot add link %s to TOC" msgstr "Nie można dodać odnośnika %s do spisu treści" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:958 msgid "Unable to process image %s. Error: %s" msgstr "Nie można przetworzyć obrazu %s. Błąd: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:996 msgid "Unable to process interlaced PNG %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1008 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1011 msgid "" "Could not process image: %s\n" "%s" @@ -1057,12 +1183,12 @@ msgstr "" "Nie można przetworzyć obrazu: %s\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1765 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "Błąd podczas przetwarzania tabeli: %s. Ignoruję znaczniki tabel." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1767 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 msgid "" "Bad table:\n" "%s" @@ -1070,29 +1196,29 @@ msgstr "" "Nieprawidłowy spis:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1789 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 msgid "Table has cell that is too large" msgstr "Tabela zawiera zbyt dużą komórkę" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1819 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 msgid "Could not read cover image: %s" msgstr "Nie można odczytać grafiki okładki: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 msgid "Cannot read from: %s" msgstr "Nie można odczytać z: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "Failed to process opf file" msgstr "Nie udało się przetworzyć pliku opf" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2009 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1160,7 +1286,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:455 msgid "Invalid LRF file. Could not set metadata." -msgstr "" +msgstr "Niewłaściwy plik LRF. Nie moża ustawić metadanych." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:580 msgid "" @@ -1196,7 +1322,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:595 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:44 msgid "The category this book belongs to. E.g.: History" -msgstr "" +msgstr "Kategoria do jakiej należy tak książka np.: Historia" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:598 msgid "Path to a graphic that will be set as this files' thumbnail" @@ -1300,17 +1426,17 @@ msgstr "" #: /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:91 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 msgid "Title" msgstr "Tytuł" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:330 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:899 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:906 msgid "Author(s)" msgstr "Autor(rzy)" @@ -1329,24 +1455,24 @@ msgstr "Kategoria" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:391 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:527 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "Komentarze" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:838 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:845 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Tags" msgstr "Etykiety" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Series" @@ -1358,7 +1484,7 @@ msgstr "Język" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:199 msgid "A comma separated list of tags to set" -msgstr "" +msgstr "Lista etykiet do ustawienia odzielonych przecinkiem" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:201 msgid "The series to which this book belongs" @@ -1366,7 +1492,7 @@ msgstr "Seria do której należy książka" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:203 msgid "The series index" -msgstr "" +msgstr "Spis serii" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:205 msgid "The book language" @@ -1425,6 +1551,8 @@ msgid "" "Could not fetch cover as server is experiencing high load. Please try again " "later." msgstr "" +"Nie można pobrać okładki z serwera z powodu zbyt dużego obciążenia. Spróbuj " +"ponownie później." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:48 msgid " not found." @@ -1463,11 +1591,11 @@ msgstr "" msgid "Usage: rb-meta file.rb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:440 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:464 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 msgid "Raw MOBI HTML saved in" msgstr "" @@ -1475,84 +1603,84 @@ msgstr "" msgid "The output directory. Defaults to the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:26 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:424 msgid "Frequently used directories" msgstr "Ostatnio używane foldery" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:27 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:29 msgid "The format to use when saving single files to disk" msgstr "Format używany do zapisu pojedynczych plików na dysku" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:31 msgid "Confirm before deleting" msgstr "Potwierdź przed usunięciem" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 msgid "Toolbar icon size" msgstr "Wielkość ikon na paskach narzędzi" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 msgid "Show button labels in the toolbar" msgstr "Pokaż etykiety przycisków na pasku narzędzi" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 msgid "Main window geometry" msgstr "Struktura głównego okna" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 msgid "Notify when a new version is available" msgstr "Powiadom mnie, gdy dostępna jest nowa wersja" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Use Roman numerals for series number" msgstr "Używaj numeracji rzymskiej do numerowania serii" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Sort tags list by popularity" msgstr "Sortuj etykiety według popularności" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Number of covers to show in the cover browsing mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Options for the LRF ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Automatically launch content server on application startup" -msgstr "" +msgstr "Automatycznie włączaj serwer zawartości przy starcie aplikacji" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 msgid "Show system tray icon" msgstr "Pokaż ikonę w zasobniku systemowym" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 msgid "Upload downloaded news to device" msgstr "Prześlij pobrane aktualności na urządzenie" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Delete books from library after uploading to device" msgstr "Usuń książki z biblioteki po przesłaniu ich na urządzenie" @@ -1591,8 +1719,8 @@ msgstr "Zobacz ksiązki na urządzeniu" #: /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:282 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:840 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "Ścieżka" @@ -1601,7 +1729,7 @@ msgstr "Ścieżka" #: /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:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Formats" @@ -1616,6 +1744,7 @@ msgstr "Okno dialogowe" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:53 msgid "TextLabel" @@ -1691,90 +1820,143 @@ msgstr "" msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 +msgid " plugins" +msgstr " - wtyczki" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:106 +msgid "by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Advanced" msgstr "Zaawansowane" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "General" msgstr "Ogólne" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Interface" msgstr "Interfejs" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 msgid "" "Content\n" "Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 +msgid "Plugins" +msgstr "Wtyczki" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:255 +msgid "No valid plugin path" +msgstr "Niewłaściwa ścieżka do wtyczki" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:256 +msgid "%s is not a valid plugin path" +msgstr "%s nie jest właściwą ścieżką do wtyczki" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +msgid "Choose plugin" +msgstr "Wybierz wtyczkę" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:270 +msgid "Plugin cannot be disabled" +msgstr "Wtyczka nie może zostać wyłączona" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:271 +msgid "The plugin: %s cannot be disabled" +msgstr "Wtyczka %s nie może zostać wyłączona" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +msgid "Plugin not customizable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:282 +msgid "Plugin: %s does not need customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +msgid "Customize %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:295 +msgid "Cannot remove builtin plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:296 +msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:317 msgid "Error log:" msgstr "Dziennik błędów:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:321 msgid "Access log:" msgstr "Dziennik dostępów:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:382 msgid "Failed to start content server" -msgstr "" +msgstr "Włączanie serwera zakończone niepowodzeniem" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "Invalid size" msgstr "Niewłaściwy rozmiar" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:264 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:423 msgid "Invalid database location" msgstr "Niewłaściwa lokalizacja bazy danych" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "
                                                                          Must be a directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "Invalid database location " msgstr "Niewłaściwa lokalizacja bazy danych " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 msgid "Invalid database location.
                                                                          Cannot write to " msgstr "Niewłaściwa lokalizacja bazy danych.
                                                                          Nie można zapisać do " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting database. This may take a while." msgstr "Kompaktowanie bazy danych. To może chwilę potrwać." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting..." msgstr "Kompaktowanie..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:329 msgid "Configuration" msgstr "Ustawienia" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:409 msgid "" "&Location of ebooks (The ebooks are stored in folders sorted by author and " "metadata is stored in the file metadata.db)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:410 msgid "Browse for the new database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:358 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:374 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:386 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:426 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:373 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:509 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:282 @@ -1797,200 +1979,196 @@ msgstr "" msgid "..." msgstr "..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:412 msgid "Show notification when &new version is available" msgstr "Pokaż powiadomienie, gdy &nowa wersja jest dostępna" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:360 -msgid "Ask for &confirmation before deleting files" -msgstr "Zapytaj o &potwierdzenie przed usunięciem plików" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:413 msgid "" -"If you disable this setting, metadatas is guessed from the filename instead. " +"If you disable this setting, metadata is guessed from the filename instead. " "This can be configured in the Advanced section." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:414 msgid "Read &metadata from files" msgstr "Wczytytuj &metadane z plików" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:415 msgid "Format for &single file save:" msgstr "Format zapisu dla &pojedynczego pliku:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:416 msgid "Default network &timeout:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:417 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:418 msgid " seconds" msgstr " sekund" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:419 msgid "Choose &language (requires restart):" msgstr "Wybierz &język (wymaga restartu):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:420 msgid "Normal" msgstr "Normalny" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:421 msgid "High" msgstr "Wysoki" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:422 msgid "Low" msgstr "Niski" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:423 msgid "Job &priority:" msgstr "&Priorytet zdań:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:425 msgid "Add a directory to the frequently used directories list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:427 msgid "Remove a directory from the frequently used directories list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:429 msgid "Use &Roman numerals for series number" msgstr "Używaj numeracji &rzymskiej do numerowania serii" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:430 msgid "&Number of covers to show in browse mode (after restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:431 msgid "Toolbar" msgstr "Pasek narzędzi" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 msgid "Large" msgstr "Duże" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Medium" msgstr "Średnie" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 msgid "Small" msgstr "Małe" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:435 msgid "&Button size in toolbar" msgstr "&Rozmiar przycisków na pasku narzędzi" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:436 msgid "Show &text in toolbar buttons" msgstr "Pokazuj &tekst pod przyciskami na pasku narzędzi" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:437 msgid "Select visible &columns in library view" msgstr "Wybierz &kolumny pokazywane w widoku biblioteki:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:440 msgid "Use internal &viewer for the following formats:" msgstr "Użyj wewnętrznej &przeglądarki do wyświetlania poniższych formatów:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:441 msgid "Enable system &tray icon (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:442 msgid "Automatically send downloaded &news to ebook reader" -msgstr "" +msgstr "Automatycznie przesyłaj pobrane &aktualności na czytnik e-książek" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:443 msgid "&Delete news from library when it is sent to reader" -msgstr "" +msgstr "&Usuń aktualności z biblioteki po przesłaniu ich na urządzenie" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:444 msgid "Free unused diskspace from the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:445 msgid "&Compact database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:446 msgid "&Metadata from file name" msgstr "&Metadane z nazwy pliku" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:447 msgid "" "calibre contains a network server that allows you to access your book " "collection using a browser from anywhere in the world. Any changes to the " "settings will only take effect after a server restart." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:448 msgid "Server &port:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:146 msgid "&Username:" msgstr "Nazwa &użytkownika:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:147 msgid "&Password:" msgstr "&Hasło:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:451 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:452 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:148 msgid "&Show password" msgstr "&Pokaż hasło" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:453 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:454 msgid "Max. &cover size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:455 msgid "&Start Server" -msgstr "" +msgstr "&Włącz serwer" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:456 msgid "St&op Server" -msgstr "" +msgstr "W&yłącz serwer" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:457 msgid "&Test Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:458 msgid "Run server &automatically on startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:459 msgid "View &server logs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 msgid "" "If you want to use the content server to access your ebook collection on " "your iphone with Stanza, you will need to add the URL " @@ -1999,6 +2177,44 @@ msgid "" "address of this computer." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 +msgid "" +"Here you can customize the behavior of Calibre by controlling what plugins " +"it uses." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:462 +msgid "Enable/&Disable plugin" +msgstr "Włącz/&Wyłącz wtyczkę" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 +msgid "&Customize plugin" +msgstr "&Dostosuj wtyczkę" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:464 +msgid "&Remove plugin" +msgstr "&Usuń wtyczkę" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:465 +msgid "Add new plugin" +msgstr "Dodaj nową wtyczkę" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:466 +msgid "Plugin &file:" +msgstr "&Plik wtyczki:" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:468 +msgid "&Add" +msgstr "&Dodaj" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +msgid "Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +msgid "&Show this warning again" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:41 msgid "ERROR" msgstr "BŁĄD" @@ -2016,7 +2232,7 @@ msgstr "Konwertuj %s do EPUB" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:296 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 msgid "Metadata" msgstr "Metadane" @@ -2032,7 +2248,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:298 msgid "Page Setup" -msgstr "" +msgstr "Ustawienia strony" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:87 @@ -2070,25 +2286,25 @@ msgstr "Wybierz okładkę dla " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 msgid "Cannot read" msgstr "Nie można odczytać" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:52 msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 msgid "Error reading file" msgstr "Błąd przy odczycie pliku" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:184 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:61 msgid "

                                                                          There was an error reading from file:
                                                                          " msgstr "" @@ -2098,13 +2314,13 @@ msgid " is not a valid picture" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "Cannot convert" msgstr "Nie można przekonwertować" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:228 msgid "This book has no available formats" -msgstr "" +msgstr "Ta książka nie ma dostepnych formatów" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:233 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 @@ -2213,7 +2429,7 @@ msgstr "Zmień wydawcę tej ksiązki" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:519 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:295 msgid "Ta&gs: " -msgstr "" +msgstr "E&tykiety: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:384 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:520 @@ -2229,7 +2445,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:299 msgid "&Series:" -msgstr "" +msgstr "&Serie:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:386 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:387 @@ -2240,7 +2456,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:300 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:301 msgid "List of known series. You can add new series." -msgstr "" +msgstr "Lista znanych serii. Możesz dodać nowe serie." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:388 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:389 @@ -2249,13 +2465,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:304 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:305 msgid "Series index." -msgstr "" +msgstr "Spis serii." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:390 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:526 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:306 msgid "Book " -msgstr "" +msgstr "Książka " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:392 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:534 @@ -2379,7 +2595,7 @@ msgstr "Nie można połączyć się" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:105 msgid "You must specify a valid access key for isbndb.com" -msgstr "" +msgstr "Musisz podać właściwy klucz dostępu do isbndb.com" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:139 msgid "Error fetching metadata" @@ -2407,10 +2623,12 @@ msgid "" "Sign up for a free account from ISBNdb.com to get an access key." msgstr "" +"Zarejestruj darmowe konto na ISBNdb.com, aby otrzymać klucz dostępu." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:80 msgid "&Access Key:" -msgstr "" +msgstr "Klucz &dostepu:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:81 msgid "Fetch" @@ -2713,32 +2931,35 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:147 msgid "Remove &format:" -msgstr "" +msgstr "Usuń &format:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:148 msgid "A&utomatically set author sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:262 msgid "" "

                                                                          Enter your username and password for LibraryThing.com.
                                                                          If you " "do not have one, you can register " "for free!.

                                                                          " msgstr "" +"

                                                                          Wpisz nazwę użytkownika i hasło dla LibraryThing.com.
                                                                          Jeśli " +"nie posiadasz jeszcze konta, możesz się zarejestrować za darmo!.

                                                                          " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover.
                                                                          " msgstr "Nie można pobrać okładki.
                                                                          " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover" -msgstr "" +msgstr "Nie można pobrać okładki" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "Cannot fetch cover" msgstr "Nie można pobrać okładki" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "You must specify the ISBN identifier for this book." msgstr "" @@ -2758,6 +2979,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:302 msgid "Remove unused series (Series that have no books)" msgstr "" +"Usuń nieużywane serie (serie, które są nie przypisane do żadnej książki)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:307 msgid "IS&BN:" @@ -2765,7 +2987,7 @@ msgstr "IS&BN:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:309 msgid "Fetch metadata from server" -msgstr "" +msgstr "Pobierz metadane z serwera" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:310 msgid "Available Formats" @@ -2785,7 +3007,7 @@ msgstr "Przywróć domyślną okładkę" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:321 msgid "Fetch cover image from server" -msgstr "" +msgstr "Pobierz okładkę z serwera" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:322 msgid "" @@ -2811,7 +3033,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:234 msgid "%d recipes" -msgstr "" +msgstr "%d źródeł" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:263 msgid "Must set account information" @@ -2823,7 +3045,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:276 msgid "Created by: " -msgstr "" +msgstr "Stworzone przez: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:296 msgid "Last downloaded: %s days ago" @@ -2844,20 +3066,20 @@ msgstr "Dodaj własne źródło aktualności" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:335 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:761 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:765 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1064 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:752 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:756 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1055 msgid "News" msgstr "Aktualności" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:222 msgid "Recipes" -msgstr "" +msgstr "Źródła" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:138 msgid "Schedule for download" -msgstr "" +msgstr "Planowanie pobierania" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:139 msgid "title" @@ -2873,7 +3095,7 @@ msgstr "autor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:142 msgid "&Schedule for download every:" -msgstr "" +msgstr "&Zaplanuj pobieranie co:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:143 msgid "" @@ -2894,6 +3116,7 @@ msgstr "&Konto" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:149 msgid "For the scheduling to work, you must leave calibre running." msgstr "" +"Aby zaplanowane działania były wykonywane, musisz zostawić włączone calibre." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:150 msgid "&Download now" @@ -2992,7 +3215,7 @@ msgstr "Przypisz etykietę do tej książki" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:129 msgid "A&pplied tags" -msgstr "" +msgstr "&Przypisane etykiety" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:130 msgid "Unapply (remove) tag from current book" @@ -3014,7 +3237,7 @@ msgstr "Dodaj etykietę do dostępnych etykiet i przypisz ją do tej książki" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:63 msgid "No recipe selected" -msgstr "" +msgstr "Nie zaznaczono źródła" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:69 msgid "The attached file: %s is a recipe to download %s." @@ -3101,27 +3324,27 @@ msgstr "Dodaj własne źródło aktualności" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:215 msgid "Available user recipes" -msgstr "" +msgstr "Dostępne źródła użytkownika" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:216 msgid "Add/Update &recipe" -msgstr "" +msgstr "&Dodaj/Uaktualnij źródło" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:217 msgid "&Remove recipe" -msgstr "" +msgstr "&Usuń źródło" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:218 msgid "&Share recipe" -msgstr "" +msgstr "&Przekaż źródło" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:219 msgid "Customize &builtin recipe" -msgstr "" +msgstr "Dostosuj jedno z &domyślnych źródeł" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:220 msgid "&Load recipe from file" -msgstr "" +msgstr "&Wczytaj źródło z pliku" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:222 msgid "" @@ -3139,11 +3362,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:226 msgid "Recipe &title:" -msgstr "" +msgstr "&Tytuł źródła:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:227 msgid "&Oldest article:" -msgstr "" +msgstr "&Najstarszy artykuł może mieć:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:228 msgid "The oldest article to download" @@ -3226,7 +3449,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:106 msgid "File &name:" -msgstr "" +msgstr "&Nazwa pliku:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:107 msgid "Test" @@ -3263,7 +3486,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:114 msgid "Series:" -msgstr "" +msgstr "Serie:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:115 msgid "Regular expression (?P)" @@ -3271,7 +3494,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:117 msgid "Series index:" -msgstr "" +msgstr "Spis serii:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:118 msgid "Regular expression (?P)" @@ -3307,7 +3530,7 @@ msgstr "Nieznane zadanie" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:70 msgid "Finished" -msgstr "" +msgstr "Zakończone" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:72 msgid "Error" @@ -3321,52 +3544,62 @@ msgstr "" msgid "Working" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:162 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:166 +#: /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 "Nie można przerwać zadania" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 msgid "Cannot kill jobs that communicate with the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:167 +#: /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:93 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:907 msgid "Size (MB)" msgstr "Rozmiar (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:908 msgid "Date" msgstr "Data" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 msgid "Rating" msgstr "Ocena" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:274 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 msgid "None" msgstr "Brak" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 msgid "Book %s of %s." +msgstr "Książka %s z %s." + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:675 +msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:676 +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:839 msgid "Format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:844 msgid "Timestamp" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:942 msgid "Search (For Advanced Search click the button to the left)" msgstr "" "Szukaj (Aby użyć zaawansowanego wyszukiwania kliknij przycisk po lewej)" @@ -3396,7 +3629,7 @@ msgid "No matches for the search phrase %s were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:377 msgid "No matches found" msgstr "" @@ -3421,12 +3654,12 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 msgid "Back" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 msgid "Forward" msgstr "" @@ -3435,7 +3668,7 @@ msgid "Next match" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:162 msgid "Open ebook" msgstr "" @@ -3443,27 +3676,27 @@ msgstr "" msgid "Configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88 msgid "Error communicating with device" msgstr "Błąd podczas komunikacji z urządzeniem" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 msgid "&Restore" msgstr "&Przywróć" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Donate" msgstr "&Wesprzyj" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Quit" msgstr "&Zakończ" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:104 msgid "&Restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:148 msgid "" "

                                                                          For help visit %s.kovidgoyal.net
                                                                          " @@ -3471,127 +3704,127 @@ msgstr "" "

                                                                          Aby uzyskać pomoc odwiedź %s.kovidgoyal.net
                                                                          " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:149 msgid "%s: %s by Kovid Goyal %%(version)s
                                                                          %%(device)s

                                                                          " msgstr "" "%s: %s stworzył Kovid Goyal %%(version)s
                                                                          %%(device)s

                                                                          " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Send to main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "Send to storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "and delete from library" msgstr "i usuń z biblioteki" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 msgid "Send to storage card by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:183 -msgid "Edit metadata individually" -msgstr "Edytuj metadane pjedyńczo" - #: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 +msgid "Edit metadata individually" +msgstr "Edytuj metadane pojedynczo" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:187 msgid "Edit metadata in bulk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 msgid "Add books from a single directory" msgstr "Dodaj książki z pojedyńczego folderu" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:191 msgid "" -"Add books recursively (One book per directory, assumes every ebook file is " -"the same book in a different format)" +"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:190 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 msgid "" -"Add books recursively (Multiple books per directory, assumes every ebook " -"file is a different book)" +"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:205 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:342 msgid "Save to disk" msgstr "Zapisz na dysku" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 msgid "Save to disk in a single directory" msgstr "Zapisz na dysku w pojedyńczym folderze" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Save only %s format to disk" -msgstr "" +msgstr "Zapisz na dysku jedynie pliki w formacie %s" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:348 msgid "View" msgstr "Wyświetl" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:213 msgid "View specific format" msgstr "Wyświetl określony format" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:230 msgid "Convert individually" msgstr "Konwertuj pojedynczo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 msgid "Bulk convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:233 msgid "Set defaults for conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:234 msgid "Set defaults for conversion of comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:255 msgid "Similar books..." -msgstr "" +msgstr "Podobne książki..." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 msgid "Bad database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1333 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1356 msgid "Choose a location for your ebook library." -msgstr "" +msgstr "Wybierz lokalizację dla twojej biblioteki książek." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:315 msgid "Migrating database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:487 msgid "Device: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:488 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:510 msgid "Connected " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:521 msgid "Device database corrupted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:522 msgid "" "\n" "

                                                                          The database of books on the reader is corrupted. Try the " @@ -3607,8 +3840,25 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:572 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:668 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +msgid "Stop" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:574 +msgid "Adding books recursively..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Added " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Searching..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:695 msgid "" "

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

                                                                            " @@ -3616,266 +3866,283 @@ msgstr "" "

                                                                            Książki o takim samym tytule jak poniższe znajdują już się bazie danych. " "Dodać je mimo to?

                                                                              " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:575 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:698 msgid "Duplicates found!" msgstr "Znleziono duplikaty!" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:649 msgid "Uploading books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:633 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:634 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:635 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:636 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:620 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:637 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:638 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:639 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:640 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:641 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:642 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:661 +msgid "Reading metadata..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:659 +msgid "Adding books..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:685 +msgid "Read metadata from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:688 +msgid "Adding books to database..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:730 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:731 msgid "" "

                                                                              Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:736 -msgid "Confirm delete" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:763 +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:737 -msgid "Are you sure you want to delete these %d books?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 msgid "Cannot edit metadata" msgstr "Nie można edytować metadanych" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "No books selected" msgstr "Nie wybrano ksiązek" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:848 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:871 msgid "Sending news to device." msgstr "Przesyłanie aktualności na urządzenie." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:923 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:926 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:927 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:920 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 msgid "Cannot save to disk" msgstr "Nie można zapisać na dysku" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:947 msgid "Choose destination directory" msgstr "Wyberz folder docelowy" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:931 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:954 msgid "" "

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

                                                                                " msgstr "" +"

                                                                                Nie można zapisać poniższych książek na dysku, ponieważ plik w formacie " +"%s nie jest dla nich dostępny:

                                                                                  " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:958 msgid "Could not save some ebooks" -msgstr "" +msgstr "Nie można zapisać niektórych e-książek" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:955 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:978 msgid "Fetching news from " msgstr "Pobieranie aktualności z " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:992 msgid " fetched." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 msgid "No book selected" msgstr "Nie wybrano ksiązki" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 msgid "Cannot view" msgstr "Nie można wyświetlić" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1134 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1112 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1157 msgid "Choose the format to view" msgstr "Wybierz format do wyświetlenia" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 msgid "Cannot open folder" msgstr "Nie można otworzyć folderu" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1130 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1153 msgid "%s has no available formats." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure" msgstr "Nie można skonfigurować" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure while there are running jobs." msgstr "Nie można skonfigurować, gdy są aktywne jakieś zadania." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1210 msgid "Copying database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212 msgid "Copying library to " msgstr "Kopiowanie biblioteki do " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1222 msgid "Invalid database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1223 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:1206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1229 msgid "Could not move database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1226 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1249 msgid "No detailed info available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1227 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1250 msgid "No detailed information is available for books on the device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1270 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1293 msgid "Error talking to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1294 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:1284 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1299 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1307 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1326 msgid "Conversion Error" msgstr "Błąd podczas konwersji" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 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:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1342 msgid "Database does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1320 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1343 msgid "" "The directory in which the database should be: %s no longer exists. Please " "choose a new database location." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1345 msgid "Choose new location for database" msgstr "Wybierz nową lokalizację dla bazy danych" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1375 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 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:1396 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1419 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1421 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:1402 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1425 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 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:1444 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1467 msgid "" "Latest version: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "" "%s has been updated to version %s. See the new features. " @@ -3885,15 +4152,15 @@ msgstr "" "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">listę zmian i " "poprawek. Otworzyć stronę pobierania?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "Update available" msgstr "Aktualizacja dostępna" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1464 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1487 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1489 msgid "Log debugging information to console" msgstr "" @@ -4008,19 +4275,19 @@ msgstr "Pokaż szczegóły ksiązki" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:352 msgid "Books by same author" -msgstr "" +msgstr "Książki tego samego autora" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:353 msgid "Books in this series" -msgstr "" +msgstr "Książki z tej serii" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:354 msgid "Books by this publisher" -msgstr "" +msgstr "Książki tego samego wydawcy" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:355 msgid "Books with the same tags" -msgstr "" +msgstr "Książki z takimi samymi etykietami" #: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:17 msgid "" @@ -4197,7 +4464,7 @@ msgid "The standard font type" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:47 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 msgid "Table of Contents" msgstr "Spis treści" @@ -4221,109 +4488,113 @@ msgstr "" msgid "Search for text in book" msgstr "Szukanie tekstu w książce" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:338 msgid "Choose ebook" msgstr "Wybierz e-book" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:339 msgid "Ebooks" msgstr "E-booki" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Add bookmark" msgstr "Dodaj zakładkę" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Enter title for bookmark:" msgstr "Dodaj tytuł zakładki" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:378 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:445 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:497 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "

                                                                                  This book is protected by DRM" -msgstr "" +msgstr "

                                                                                  Ta książka jest chroniona przez DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "DRM Error" msgstr "Błąd DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:507 msgid "Could not open ebook" msgstr "Nie można otworzyć e-booka" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:508 msgid "%s

                                                                                  %s

                                                                                  " msgstr "%s

                                                                                  %s

                                                                                  " -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:577 msgid "" "%prog [options] file\n" "\n" "View an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 msgid "Ebook Viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 msgid "toolBar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 msgid "Next page" msgstr "Następna strona" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 msgid "Previous page" msgstr "Poprzednia strona" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 msgid "Font size larger" msgstr "Większy rozmiar czcionki" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 msgid "Font size smaller" msgstr "Mniejszy rozmiar czcionki" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:163 msgid "Find next" msgstr "Znajdź następny" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:164 msgid "Copy to clipboard" msgstr "Skopiuj do schowka" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:165 msgid "Preferences" msgstr "Preferencje" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:166 msgid "Reference Mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:167 msgid "Bookmark" msgstr "Zakładka" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168 +msgid "Toggle full screen" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:47 msgid "Invalid regular expression" msgstr "Nieprawidłowe wyrażenie regularne" @@ -4531,7 +4802,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:382 msgid "ebook file must have an extension" -msgstr "" +msgstr "Plik e-książki musi mieć rozszerzenie" #: /home/kovid/work/calibre/src/calibre/library/cli.py:390 msgid "" @@ -4625,20 +4896,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1146 msgid "

                                                                                  Copying books to %s

                                                                                  " msgstr "

                                                                                  Kopiowanie książek do %s

                                                                                  " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1157 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1266 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1159 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1268 msgid "Copying %s" msgstr "Kopiowanie %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1237 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "

                                                                                  Migrating old database to ebook library in %s

                                                                                  " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1285 msgid "Compacting database" msgstr "Kompaktowanie bazy danych" @@ -4652,6 +4923,9 @@ msgid "" "\n" "Start the calibre content server." msgstr "" +"[options]\n" +"\n" +"Włącz serwer zawartości calibre." #: /home/kovid/work/calibre/src/calibre/parallel.py:367 msgid "Could not launch worker process." @@ -4661,47 +4935,47 @@ msgstr "" msgid "Job stopped by user" msgstr "Zadanie zatrzymane przez użytkownika" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:39 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:41 msgid "%sUsage%s: %s\n" msgstr "%sUżycie%s: %s\n" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:77 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:79 msgid "Created by " msgstr "Stworzony przez " -#: /home/kovid/work/calibre/src/calibre/utils/config.py:524 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:527 msgid "Path to the database in which books are stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:526 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:529 msgid "Pattern to guess metadata from filenames" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:528 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:531 msgid "Access key for isbndb.com" -msgstr "" +msgstr "Klucz dostępu do isbndb.com" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:530 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:533 msgid "Default timeout for network operations (seconds)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:532 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:535 msgid "Path to directory in which your library of books is stored" msgstr "Ścieżka do katalogu w którym przechowywana jest biblioteka książek" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:534 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:537 msgid "The language in which to display the user interface" msgstr "Język wyświetlania interfejsu użytkownika" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:536 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:539 msgid "The default output format for ebook conversions." msgstr "Domyślny format wyjściowy dla konwersji e-książek" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:538 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:541 msgid "Read metadata from files" msgstr "Wczytaj metadane z plików" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:540 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:543 msgid "The priority of worker processes" msgstr "" @@ -5003,6 +5277,9 @@ msgstr "" #~ msgid "Library" #~ msgstr "Biblioteka" +#~ msgid "Ask for &confirmation before deleting files" +#~ msgstr "Zapytaj o &potwierdzenie przed usunięciem plików" + #~ msgid "" #~ "%%prog [options] filename\n" #~ "\n" diff --git a/src/calibre/translations/pt.po b/src/calibre/translations/pt.po index 2bca3f2641..f038b84b60 100644 --- a/src/calibre/translations/pt.po +++ b/src/calibre/translations/pt.po @@ -7,24 +7,198 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2008-12-18 01:36+0000\n" +"POT-Creation-Date: 2008-12-30 15:33+0000\n" "PO-Revision-Date: 2008-12-18 18:01+0000\n" "Last-Translator: Fabio Malcher Miranda \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-12-23 17:56+0000\n" +"X-Launchpad-Export-Date: 2009-01-04 04:32+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:137 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:155 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:193 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 +msgid "Does absolutely nothing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:478 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:961 +#: /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 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 +#: /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:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 +#: /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:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:78 +#: /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:793 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:835 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:915 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 +#: /home/kovid/work/calibre/src/calibre/library/database.py:920 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1580 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:461 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:808 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:841 +msgid "Unknown" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:62 +msgid "Base" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 +msgid "File type" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:182 +msgid "Metadata reader" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:209 +msgid "Metadata writer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:12 +msgid "" +"Follow all local links in an HTML file and create a ZIP file containing all " +"linked files. This plugin is run every time you add an HTML file to the " +"library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:32 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:42 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:53 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:63 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:73 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:83 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:105 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:135 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:145 +msgid "Read metadata from %s files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:155 +msgid "Extract cover from comic files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:175 +msgid "Set metadata in EPUB files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:185 +msgid "Set metadata in LRF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:195 +msgid "Set metadata in RTF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:28 +msgid "Installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:29 +msgid "Mapping for filetype plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 +msgid "Local plugin customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 +msgid "Disabled plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:66 +msgid "No valid plugin found in " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:170 +msgid "Initialization of plugin %s failed with traceback:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:247 +msgid "" +" %prog options\n" +" \n" +" Customize calibre by loading external plugins.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:253 +msgid "Add a plugin by specifying the path to the zip file containing it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:255 +msgid "Remove a custom plugin by name. Has no effect on builtin plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:257 +msgid "" +"Customize plugin. Specify name of plugin and customization string separated " +"by a comma." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:259 +msgid "List all installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:261 +msgid "Enable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:263 +msgid "Disable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:158 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:196 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:224 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "Incapaz de detectar o disco %s. Tente reinicializar" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:409 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:412 msgid "The reader has no storage card connected." msgstr "O leitor não tem cartão de armazenamento conectado" @@ -218,64 +392,7 @@ msgid "" "Extract the contents of the produced EPUB file to the specified directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:43 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:477 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 -#: /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 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 -#: /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:196 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:65 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:67 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:100 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:102 -#: /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:793 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 -#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:342 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:828 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:650 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 -#: /home/kovid/work/calibre/src/calibre/library/database.py:920 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1564 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:477 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:489 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:817 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 -msgid "Unknown" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:154 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:156 msgid "" "%%prog [options] filename\n" "\n" @@ -283,11 +400,11 @@ msgid "" "formats are: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:100 msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:157 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:158 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -298,13 +415,13 @@ msgid "" "the element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:389 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:737 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:391 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:739 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:411 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1035 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:413 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1046 msgid "You must specify an input HTML file" msgstr "" @@ -323,87 +440,87 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:490 msgid "Written processed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:820 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:827 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:838 msgid "The output directory. Default is the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:829 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:840 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:842 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:833 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:844 msgid "Control the following of links in HTML files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:835 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:846 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:837 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:848 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:839 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:850 msgid "Set metadata of the generated ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:841 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:852 msgid "Set the title. Default is to autodetect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:843 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:854 msgid "The author(s) of the ebook, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:845 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:856 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:847 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:858 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:849 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:860 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:851 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:862 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:853 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:864 msgid "Options useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:866 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:857 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:868 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:863 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:874 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -425,7 +542,7 @@ msgid "%prog [options] LITFILE" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:852 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:444 msgid "Output directory. Defaults to current directory." msgstr "" @@ -434,20 +551,20 @@ msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:723 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:724 msgid "Useful for debugging." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:869 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:468 msgid "OEB ebook created in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:717 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:718 msgid "%prog [options] OPFFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:720 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:721 msgid "Output file. Default is derived from input filename." msgstr "" @@ -480,7 +597,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:275 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 msgid "Publisher" msgstr "" @@ -721,11 +838,11 @@ msgid "" "default is to try and guess the encoding." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:161 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:164 msgid "Converting from %s to LRF is not supported." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:171 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:175 msgid "" "any2lrf [options] myfile\n" "\n" @@ -736,118 +853,118 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:186 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:190 msgid "No file to convert specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:221 msgid "Rendered %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:223 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 msgid "Failed %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:275 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:276 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:283 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:289 msgid "Title for generated ebook. Default is to use the filename." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 msgid "" "Path to output file. By default a file is created in the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:296 msgid "Number of colors for grayscale image conversion. Default: %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:307 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:308 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:310 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:312 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:314 msgid "" "Choose a profile for the device you are generating this file for. The " "default is the SONY PRS-500 with a screen size of 584x754 pixels. This is " "suitable for any reader with the same screen size. Choices are %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:316 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " "greater verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:318 msgid "Don't show progress bar." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:322 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" "Convert a comic in a CBZ or CBR file to an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:382 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:383 msgid "Output written to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:423 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:426 msgid "Rendering comic pages..." msgstr "" @@ -888,95 +1005,95 @@ msgstr "" msgid "Fetching of recipe failed: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 msgid "\tBook Designer file detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tParsing HTML..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:340 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:343 msgid "\tBaen file detected. Re-parsing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:356 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:359 msgid "Written preprocessed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:377 msgid "Processing %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:388 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:391 msgid "\tConverting to BBeB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:534 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:547 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:550 msgid "Could not parse file: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:542 msgid "%s is an empty file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:559 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:562 msgid "Failed to parse link %s %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:603 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:606 msgid "Cannot add link %s to TOC" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:958 msgid "Unable to process image %s. Error: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:996 msgid "Unable to process interlaced PNG %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1008 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1011 msgid "" "Could not process image: %s\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1765 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1767 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 msgid "" "Bad table:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1789 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 msgid "Table has cell that is too large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1819 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 msgid "Could not read cover image: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 msgid "Cannot read from: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "Failed to process opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2009 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1175,17 +1292,17 @@ msgstr "" #: /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:91 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:330 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:899 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:906 msgid "Author(s)" msgstr "" @@ -1204,24 +1321,24 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:391 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:527 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:838 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:845 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Series" @@ -1338,11 +1455,11 @@ msgstr "" msgid "Usage: rb-meta file.rb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:440 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:464 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 msgid "Raw MOBI HTML saved in" msgstr "" @@ -1350,84 +1467,84 @@ msgstr "" msgid "The output directory. Defaults to the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:26 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:424 msgid "Frequently used directories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:27 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:29 msgid "The format to use when saving single files to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:31 msgid "Confirm before deleting" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 msgid "Toolbar icon size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 msgid "Show button labels in the toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 msgid "Main window geometry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 msgid "Notify when a new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Use Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Sort tags list by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Number of covers to show in the cover browsing mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Options for the LRF ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 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:57 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Delete books from library after uploading to device" msgstr "" @@ -1466,8 +1583,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:282 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:840 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "" @@ -1476,7 +1593,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:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Formats" @@ -1491,6 +1608,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:53 msgid "TextLabel" @@ -1566,90 +1684,143 @@ msgstr "" msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 +msgid " plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:106 +msgid "by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "General" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 msgid "" "Content\n" "Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 +msgid "Plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:255 +msgid "No valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:256 +msgid "%s is not a valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +msgid "Choose plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:270 +msgid "Plugin cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:271 +msgid "The plugin: %s cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +msgid "Plugin not customizable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:282 +msgid "Plugin: %s does not need customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +msgid "Customize %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:295 +msgid "Cannot remove builtin plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:296 +msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:317 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:321 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:382 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:264 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:423 msgid "Invalid database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "
                                                                                  Must be a directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "Invalid database location " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 msgid "Invalid database location.
                                                                                  Cannot write to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting database. This may take a while." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:329 msgid "Configuration" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:409 msgid "" "&Location of ebooks (The ebooks are stored in folders sorted by author and " "metadata is stored in the file metadata.db)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:410 msgid "Browse for the new database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:358 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:374 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:386 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:426 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:373 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:509 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:282 @@ -1672,200 +1843,196 @@ msgstr "" msgid "..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:412 msgid "Show notification when &new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:360 -msgid "Ask for &confirmation before deleting files" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:413 msgid "" -"If you disable this setting, metadatas is guessed from the filename instead. " +"If you disable this setting, metadata is guessed from the filename instead. " "This can be configured in the Advanced section." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:414 msgid "Read &metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:415 msgid "Format for &single file save:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:416 msgid "Default network &timeout:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:417 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:418 msgid " seconds" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:419 msgid "Choose &language (requires restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:420 msgid "Normal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:421 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:422 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:423 msgid "Job &priority:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:425 msgid "Add a directory to the frequently used directories list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:427 msgid "Remove a directory from the frequently used directories list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:429 msgid "Use &Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:430 msgid "&Number of covers to show in browse mode (after restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:431 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 msgid "Large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Medium" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:435 msgid "&Button size in toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:436 msgid "Show &text in toolbar buttons" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:437 msgid "Select visible &columns in library view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:440 msgid "Use internal &viewer for the following formats:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:441 msgid "Enable system &tray icon (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:442 msgid "Automatically send downloaded &news to ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:443 msgid "&Delete news from library when it is sent to reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:444 msgid "Free unused diskspace from the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:445 msgid "&Compact database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:446 msgid "&Metadata from file name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:447 msgid "" "calibre contains a network server that allows you to access your book " "collection using a browser from anywhere in the world. Any changes to the " "settings will only take effect after a server restart." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:448 msgid "Server &port:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:146 msgid "&Username:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:147 msgid "&Password:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:451 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:452 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:148 msgid "&Show password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:453 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:454 msgid "Max. &cover size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:455 msgid "&Start Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:456 msgid "St&op Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:457 msgid "&Test Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:458 msgid "Run server &automatically on startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:459 msgid "View &server logs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 msgid "" "If you want to use the content server to access your ebook collection on " "your iphone with Stanza, you will need to add the URL " @@ -1874,6 +2041,44 @@ msgid "" "address of this computer." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 +msgid "" +"Here you can customize the behavior of Calibre by controlling what plugins " +"it uses." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:462 +msgid "Enable/&Disable plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 +msgid "&Customize plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:464 +msgid "&Remove plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:465 +msgid "Add new plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:466 +msgid "Plugin &file:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:468 +msgid "&Add" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +msgid "Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +msgid "&Show this warning again" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:41 msgid "ERROR" msgstr "" @@ -1891,7 +2096,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:296 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 msgid "Metadata" msgstr "" @@ -1945,25 +2150,25 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 msgid "Cannot read" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:52 msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 msgid "Error reading file" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:184 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:61 msgid "

                                                                                  There was an error reading from file:
                                                                                  " msgstr "" @@ -1973,7 +2178,7 @@ msgid " is not a valid picture" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "Cannot convert" msgstr "" @@ -2593,26 +2798,26 @@ msgstr "" msgid "A&utomatically set author sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:262 msgid "" "

                                                                                  Enter your username and password for LibraryThing.com.
                                                                                  If you " "do not have one, you can register " "for free!.

                                                                                  " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover.
                                                                                  " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "You must specify the ISBN identifier for this book." msgstr "" @@ -2718,9 +2923,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:335 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:761 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:765 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1064 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:752 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:756 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1055 msgid "News" msgstr "" @@ -3189,52 +3394,62 @@ msgstr "" msgid "Working" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:162 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:166 +#: /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 "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 msgid "Cannot kill jobs that communicate with the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:167 +#: /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:93 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:907 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:908 msgid "Date" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 msgid "Rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:274 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 msgid "None" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 msgid "Book %s of %s." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:675 +msgid "Not allowed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:676 +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:839 msgid "Format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:844 msgid "Timestamp" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:942 msgid "Search (For Advanced Search click the button to the left)" msgstr "" @@ -3263,7 +3478,7 @@ msgid "No matches for the search phrase %s were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:377 msgid "No matches found" msgstr "" @@ -3288,12 +3503,12 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 msgid "Back" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 msgid "Forward" msgstr "" @@ -3302,7 +3517,7 @@ msgid "Next match" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:162 msgid "Open ebook" msgstr "" @@ -3310,152 +3525,152 @@ msgstr "" msgid "Configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88 msgid "Error communicating with device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Donate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Quit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:104 msgid "&Restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:148 msgid "" "

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

                                                                                  " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Send to main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "Send to storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 msgid "Send to storage card by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 msgid "Edit metadata individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:187 msgid "Edit metadata in bulk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 msgid "Add books from a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:191 msgid "" -"Add books recursively (One book per directory, assumes every ebook file is " -"the same book in a different format)" +"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:190 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 msgid "" -"Add books recursively (Multiple books per directory, assumes every ebook " -"file is a different book)" +"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:205 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:342 msgid "Save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 msgid "Save to disk in a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Save only %s format to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:348 msgid "View" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:213 msgid "View specific format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:230 msgid "Convert individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 msgid "Bulk convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:233 msgid "Set defaults for conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:234 msgid "Set defaults for conversion of comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:255 msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 msgid "Bad database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1333 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1356 msgid "Choose a location for your ebook library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:315 msgid "Migrating database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:487 msgid "Device: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:488 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:510 msgid "Connected " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:521 msgid "Device database corrupted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:522 msgid "" "\n" "

                                                                                  The database of books on the reader is corrupted. Try the " @@ -3471,288 +3686,320 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:572 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:668 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +msgid "Stop" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:574 +msgid "Adding books recursively..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Added " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Searching..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:695 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:575 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:698 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:649 msgid "Uploading books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:633 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:634 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:635 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:636 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:620 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:637 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:638 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:639 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:640 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:641 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:642 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:661 +msgid "Reading metadata..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:659 +msgid "Adding books..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:685 +msgid "Read metadata from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:688 +msgid "Adding books to database..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:730 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:731 msgid "" "

                                                                                    Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:736 -msgid "Confirm delete" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:763 +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:737 -msgid "Are you sure you want to delete these %d books?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 msgid "Cannot edit metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "No books selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:848 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:871 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:923 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:926 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:927 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:920 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 msgid "Cannot save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:947 msgid "Choose destination directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:931 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:954 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:935 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:958 msgid "Could not save some ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:955 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:978 msgid "Fetching news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:992 msgid " fetched." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 msgid "No book selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 msgid "Cannot view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1134 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1112 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1157 msgid "Choose the format to view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1130 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1153 msgid "%s has no available formats." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure while there are running jobs." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1210 msgid "Copying database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212 msgid "Copying library to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1222 msgid "Invalid database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1223 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:1206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1229 msgid "Could not move database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1226 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1249 msgid "No detailed info available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1227 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1250 msgid "No detailed information is available for books on the device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1270 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1293 msgid "Error talking to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1294 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:1284 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1299 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1307 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1326 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 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:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1342 msgid "Database does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1320 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1343 msgid "" "The directory in which the database should be: %s no longer exists. Please " "choose a new database location." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1345 msgid "Choose new location for database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1375 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 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:1396 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1419 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1421 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:1402 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1425 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 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:1444 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1467 msgid "" "Latest version: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 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:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1464 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1487 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1489 msgid "Log debugging information to console" msgstr "" @@ -4056,7 +4303,7 @@ msgid "The standard font type" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:47 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 msgid "Table of Contents" msgstr "" @@ -4080,109 +4327,113 @@ msgstr "" msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:338 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:339 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:378 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:445 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:497 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "

                                                                                      This book is protected by DRM" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:507 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:508 msgid "%s

                                                                                      %s

                                                                                      " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:577 msgid "" "%prog [options] file\n" "\n" "View an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 msgid "Ebook Viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 msgid "toolBar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 msgid "Next page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 msgid "Previous page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 msgid "Font size larger" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 msgid "Font size smaller" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:163 msgid "Find next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:164 msgid "Copy to clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:165 msgid "Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:166 msgid "Reference Mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:167 msgid "Bookmark" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168 +msgid "Toggle full screen" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:47 msgid "Invalid regular expression" msgstr "" @@ -4479,20 +4730,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1146 msgid "

                                                                                      Copying books to %s

                                                                                      " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1157 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1266 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1159 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1268 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1237 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "

                                                                                      Migrating old database to ebook library in %s

                                                                                      " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1285 msgid "Compacting database" msgstr "" @@ -4515,47 +4766,47 @@ msgstr "" msgid "Job stopped by user" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:39 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:41 msgid "%sUsage%s: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:77 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:79 msgid "Created by " msgstr "Criado por " -#: /home/kovid/work/calibre/src/calibre/utils/config.py:524 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:527 msgid "Path to the database in which books are stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:526 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:529 msgid "Pattern to guess metadata from filenames" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:528 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:531 msgid "Access key for isbndb.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:530 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:533 msgid "Default timeout for network operations (seconds)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:532 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:535 msgid "Path to directory in which your library of books is stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:534 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:537 msgid "The language in which to display the user interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:536 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:539 msgid "The default output format for ebook conversions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:538 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:541 msgid "Read metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:540 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:543 msgid "The priority of worker processes" msgstr "" diff --git a/src/calibre/translations/ru.po b/src/calibre/translations/ru.po index 39bc9c6be1..fbe94e2969 100644 --- a/src/calibre/translations/ru.po +++ b/src/calibre/translations/ru.po @@ -6,14 +6,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.55\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-12-24 21:48+0000\n" -"PO-Revision-Date: 2008-12-25 21:15+0000\n" +"POT-Creation-Date: 2008-12-30 15:33+0000\n" +"PO-Revision-Date: 2009-01-03 17:58+0000\n" "Last-Translator: Kovid Goyal \n" "Language-Team: American English \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-12-25 21:21+0000\n" +"X-Launchpad-Export-Date: 2009-01-04 04:33+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Poedit-Country: RUSSIAN FEDERATION\n" "X-Poedit-Language: Russian\n" @@ -28,8 +28,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:44 #: /home/kovid/work/calibre/src/calibre/ebooks/html.py:478 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:938 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:961 #: /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 @@ -62,12 +62,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:342 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:828 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:677 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:835 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:912 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:915 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:918 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 #: /home/kovid/work/calibre/src/calibre/library/cli.py:245 @@ -76,10 +76,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/database.py:1423 #: /home/kovid/work/calibre/src/calibre/library/database.py:1452 #: /home/kovid/work/calibre/src/calibre/library/database.py:1580 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:479 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:491 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:826 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:859 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:461 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:808 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:841 msgid "Unknown" msgstr "Неизвестно" @@ -87,15 +87,15 @@ msgstr "Неизвестно" msgid "Base" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:147 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 msgid "File type" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:180 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:182 msgid "Metadata reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:206 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:209 msgid "Metadata writer" msgstr "" @@ -153,23 +153,15 @@ msgstr "" msgid "Disabled plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:56 -msgid "%s needs calibre version at least %s" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:59 -msgid "%s is not supported on %s" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:63 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:66 msgid "No valid plugin found in " msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:165 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:170 msgid "Initialization of plugin %s failed with traceback:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:225 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:247 msgid "" " %prog options\n" " \n" @@ -177,25 +169,29 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:231 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:253 msgid "Add a plugin by specifying the path to the zip file containing it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:233 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:255 +msgid "Remove a custom plugin by name. Has no effect on builtin plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:257 msgid "" "Customize plugin. Specify name of plugin and customization string separated " "by a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:235 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:259 msgid "List all installed plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:237 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:261 msgid "Enable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:239 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:263 msgid "Disable the named plugin" msgstr "" @@ -459,7 +455,7 @@ msgid "Output written to " msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:413 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1046 msgid "You must specify an input HTML file" msgstr "Вы должны задать исходный файл HTML" @@ -485,19 +481,19 @@ msgstr "" msgid "Written processed HTML to " msgstr "Записывается обработанный HTML в " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:821 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 msgid "Options to control the traversal of HTML" msgstr "Опции контроля просмотра HTML" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:828 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:838 msgid "The output directory. Default is the current directory." msgstr "Выходная дериктория. По умолчанию текущая дериктория." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:830 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:840 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "Кодировка файла HTML. По умолчанию автоопределение." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:832 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:842 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." @@ -505,11 +501,11 @@ msgstr "" "Создание выходного zip файла. Если используется эта опция, то --output имя " "файла должно быть отличным от дериктории." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:834 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:844 msgid "Control the following of links in HTML files." msgstr "Контроль следования по ссылкам в файле HTML." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:836 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:846 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" @@ -517,7 +513,7 @@ msgstr "" "Маршрут включенный в HTML проходится в ширину. Обычно, это проходится " "преимущественно в глубину" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:838 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:848 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." @@ -526,39 +522,39 @@ msgstr "" "Должно быть не отрицательным. 0 подразумевает нет ссылок для следования в " "корневом файле HTML." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:840 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:850 msgid "Set metadata of the generated ebook" msgstr "Ввести созданные метаданные электронной книги" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:842 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:852 msgid "Set the title. Default is to autodetect." msgstr "Ввести заголовок. По умолчанию автоопределение." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:844 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:854 msgid "The author(s) of the ebook, as a comma separated list." msgstr "Автор(ы) книги, список разделяется запятыми." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:846 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:856 msgid "The subject(s) of this book, as a comma separated list." msgstr "Содержание книги, список разделяется запятыми." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:848 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:858 msgid "Set the publisher of this book." msgstr "Ввести издательство этой книги." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:850 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:860 msgid "A summary of this book." msgstr "Краткое изложение этой книги." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:852 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:862 msgid "Load metadata from the specified OPF file" msgstr "Загрузить метаданные из подробного OPF файла." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:854 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:864 msgid "Options useful for debugging" msgstr "Опции используемые для отладки" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:856 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:866 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." @@ -566,12 +562,12 @@ msgstr "" "Добавить больше детализации во время обработки. Может быть определено путем " "увеличения времени повышения детализации." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:858 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:868 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" "Выходной HTML \"структурная распечатка\" для простого человеческого анализа" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:874 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -600,7 +596,7 @@ msgid "%prog [options] LITFILE" msgstr "%prog [options] LITFILE" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:852 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:444 msgid "Output directory. Defaults to current directory." msgstr "Выходная директория. По умолчанию текущая директория." @@ -616,7 +612,7 @@ msgid "Useful for debugging." msgstr "Использовать для отладки." #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:869 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:468 msgid "OEB ebook created in" msgstr "OEB книга создана в" @@ -659,7 +655,7 @@ msgstr "Значение для сортировки по автору" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:275 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 msgid "Publisher" msgstr "Издатель" @@ -1275,11 +1271,11 @@ msgstr "Не могу прочитать файл обложки: %s" msgid "Cannot read from: %s" msgstr "Не могу прочитать из: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2001 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "Failed to process opf file" msgstr "Ошибка процесса файла opf" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2007 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2009 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1523,17 +1519,17 @@ msgstr "Ввести комментарии" #: /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:91 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 msgid "Title" msgstr "Заголовок" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:330 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:899 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:906 msgid "Author(s)" msgstr "Автор(ы)" @@ -1552,24 +1548,24 @@ msgstr "Категория" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:391 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:527 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "Комментарии" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:838 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:845 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Tags" msgstr "Эпилог" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Series" @@ -1704,11 +1700,11 @@ msgstr "Загрузка: pdf-meta file.pdf" msgid "Usage: rb-meta file.rb" msgstr "Загрузка: rb-meta file.rb" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:440 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 msgid "%prog [options] myebook.mobi" msgstr "%prog [options] myebook.mobi" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:464 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 msgid "Raw MOBI HTML saved in" msgstr "Непосредственно MOBI HTML сохранен в" @@ -1717,7 +1713,7 @@ msgid "The output directory. Defaults to the current directory." msgstr "Директория результата. По умолчанию, текущая директория." #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:25 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:424 msgid "Frequently used directories" msgstr "Часто используемая директория" @@ -1832,8 +1828,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:282 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:840 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "Путь" @@ -1842,7 +1838,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:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Formats" @@ -1857,6 +1853,7 @@ msgstr "Диалог" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:53 msgid "TextLabel" @@ -1996,49 +1993,57 @@ msgstr "" msgid "Customize %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:310 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:295 +msgid "Cannot remove builtin plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:296 +msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:317 msgid "Error log:" msgstr "Лог ошибок:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:314 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:321 msgid "Access log:" msgstr "Лог доступа:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:336 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:382 msgid "Failed to start content server" msgstr "Сбой запуска контент сервера" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "Invalid size" msgstr "Неверный размер" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "Размер %s указан неверно. Должен быть задан в виде [ширина]x[высота]" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:413 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:417 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:423 msgid "Invalid database location" msgstr "Неправильное расположение базы данных" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:414 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "
                                                                                      Must be a directory." msgstr "
                                                                                      Должна быть дирректория." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:414 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "Invalid database location " msgstr "Неправильное расположение базы данных " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:418 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 msgid "Invalid database location.
                                                                                      Cannot write to " msgstr "Неправильное расположение базы данных.
                                                                                      Немогу записать " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:430 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting database. This may take a while." msgstr "Сжатие базы данных. Это займет некоторое время." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:430 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting..." msgstr "Сжатие..." @@ -2058,10 +2063,10 @@ msgid "Browse for the new database location" msgstr "Просмотреть расположение новой базы данных" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:411 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:426 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:438 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:439 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:440 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:373 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:509 @@ -2090,30 +2095,24 @@ msgid "Show notification when &new version is available" msgstr "Показать сообщение, если доступна &новая версия." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:413 -msgid "Ask for &confirmation before deleting files" -msgstr "Спросить &подтверждения перед удалением файла" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:414 msgid "" -"If you disable this setting, metadatas is guessed from the filename instead. " +"If you disable this setting, metadata is guessed from the filename instead. " "This can be configured in the Advanced section." msgstr "" -"Если вы заблокировали эту строку, метаданные определятся из названия файла. " -"Это может быть настроено в Расширенной секции." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:415 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:414 msgid "Read &metadata from files" msgstr "Читать &метаданные из файла" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:416 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:415 msgid "Format for &single file save:" msgstr "Формат для единственного сохраненного файла:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:417 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:416 msgid "Default network &timeout:" msgstr "&Задержка сети по умолчанию:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:418 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:417 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" @@ -2121,104 +2120,104 @@ msgstr "" "Установить задержку по умолчанию для сетевых вызовов (т.е. в любое время вы " "выходите в интернет для получения информации)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:418 msgid " seconds" msgstr " секунд" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:420 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:419 msgid "Choose &language (requires restart):" msgstr "Выбрать &язык (необходим рестарт):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:421 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:420 msgid "Normal" msgstr "Обычный" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:422 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:421 msgid "High" msgstr "Высокий" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:423 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:422 msgid "Low" msgstr "Низкий" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:424 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:423 msgid "Job &priority:" msgstr "&Приоритет задачи" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:426 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:425 msgid "Add a directory to the frequently used directories list" msgstr "Добавить директорию в список часто используемых дерикторий" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:427 msgid "Remove a directory from the frequently used directories list" msgstr "Удалить директорию из списка часто используемых дерикторий" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:430 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:429 msgid "Use &Roman numerals for series number" msgstr "Использовать &Римские цифры для нумерации" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:430 msgid "&Number of covers to show in browse mode (after restart):" msgstr "" "&Количество обложек показываемых в режиме просмотра (после перезагрузки):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:431 msgid "Toolbar" msgstr "Панель инструментов" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 msgid "Large" msgstr "Большой" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Medium" msgstr "Средний" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:435 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 msgid "Small" msgstr "Маленький" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:435 msgid "&Button size in toolbar" msgstr "&Размер кнопок на панеле инструментов" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:437 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:436 msgid "Show &text in toolbar buttons" msgstr "Показать надписи на кнопках панели инструментов" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:437 msgid "Select visible &columns in library view" msgstr "Выбрать видимые &столбцы в просмотре библиотеки" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:440 msgid "Use internal &viewer for the following formats:" msgstr "Использовать встроенный просматровщик для следующих форматов:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:441 msgid "Enable system &tray icon (needs restart)" msgstr "использовать иконку в системной панеле (необходим рестарт)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:442 msgid "Automatically send downloaded &news to ebook reader" msgstr "Отправлять автоматически закаченные новости в устройство для чтения" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:444 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:443 msgid "&Delete news from library when it is sent to reader" msgstr "Удалять новости из библиотеки после загрузки в устройство" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:445 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:444 msgid "Free unused diskspace from the database" msgstr "Свободное неиспользованное пространство из базы данных" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:446 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:445 msgid "&Compact database" msgstr "&Упаковать базу данных" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:447 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:446 msgid "&Metadata from file name" msgstr "&Метаданные из файла" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:447 msgid "" "calibre contains a network server that allows you to access your book " "collection using a browser from anywhere in the world. Any changes to the " @@ -2228,23 +2227,23 @@ msgstr "" "коллекции ваших книг, используя браузер где-угодно в мире. Различные " "изменения в настройках будут применены после рестарта сервера." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:449 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:448 msgid "Server &port:" msgstr "&Порт сервера:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:450 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:146 msgid "&Username:" msgstr "&Пользователь:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:451 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:147 msgid "&Password:" msgstr "&Пароль:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:451 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." @@ -2252,13 +2251,13 @@ msgstr "" "Если вы оставили пароль чистым, кто-угодно получит доступ к вашим книгам " "использую веб-интерфейс." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:453 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:452 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:148 msgid "&Show password" msgstr "&Показать пароль" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:454 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:453 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " @@ -2266,31 +2265,31 @@ msgstr "" "Максимальный размер ([ширина]x[высота]) обложек при отображении. Более " "крупные обложки подгоняются по размеру. " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:454 msgid "Max. &cover size:" msgstr "Макс. размер обложки:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:456 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:455 msgid "&Start Server" msgstr "&Запустить сервер" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:457 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:456 msgid "St&op Server" msgstr "Ост&ановить сервер" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:458 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:457 msgid "&Test Server" msgstr "&Проверить сервер" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:459 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:458 msgid "Run server &automatically on startup" msgstr "Запустить сервер &автоматически после загрузки" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:459 msgid "View &server logs" msgstr "Просмотреть логи &сервера" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 msgid "" "If you want to use the content server to access your ebook collection on " "your iphone with Stanza, you will need to add the URL " @@ -2303,20 +2302,24 @@ msgstr "" "вида http://myhostname:8080/stanza, как новый каталог в Stanza. Где " "myhostname должен быть полное имя домена или IP адресс компьютера." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 msgid "" "Here you can customize the behavior of Calibre by controlling what plugins " "it uses." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:462 msgid "Enable/&Disable plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:464 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 msgid "&Customize plugin" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:464 +msgid "&Remove plugin" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:465 msgid "Add new plugin" msgstr "" @@ -2329,6 +2332,14 @@ msgstr "" msgid "&Add" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +msgid "Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +msgid "&Show this warning again" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:41 msgid "ERROR" msgstr "ОШИБКА" @@ -2346,7 +2357,7 @@ msgstr "Преобразовано %s в EPUB" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:296 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 msgid "Metadata" msgstr "Метаданные" @@ -2431,7 +2442,7 @@ msgid " is not a valid picture" msgstr " неверное изображение" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1005 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "Cannot convert" msgstr "Не преобразуется" @@ -3227,9 +3238,9 @@ msgstr "Добавить нужный источник новостей" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:335 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:770 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:774 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1073 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:752 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:756 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1055 msgid "News" msgstr "Новости" @@ -3724,52 +3735,62 @@ msgstr "Ждите" msgid "Working" msgstr "Работа" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:169 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 +#: /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 "Немогу удалить задание" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 msgid "Cannot kill jobs that communicate with the device" msgstr "Немогу удалить задание при подключенном устройстве" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:174 +#: /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:93 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:907 msgid "Size (MB)" msgstr "Размер (МБ)" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:908 msgid "Date" msgstr "Дата" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 msgid "Rating" msgstr "Рейтинг" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:274 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 msgid "None" msgstr "Ничего" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 msgid "Book %s of %s." msgstr "Книга %s из %s." -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:675 +msgid "Not allowed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:676 +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:839 msgid "Format" msgstr "Формат" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:844 msgid "Timestamp" msgstr "Временная метка" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:942 msgid "Search (For Advanced Search click the button to the left)" msgstr "Поиск (для расширенного поиска нажмите кнопку слева)" @@ -3798,7 +3819,7 @@ msgid "No matches for the search phrase %s were found." msgstr "Нет совпадений для искомой фразы %s ." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:377 msgid "No matches found" msgstr "Совпадений не найдено" @@ -3823,12 +3844,12 @@ msgid "Previous Page" msgstr "Предыдущая страница" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 msgid "Back" msgstr "Назад" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 msgid "Forward" msgstr "Вперед" @@ -3837,7 +3858,7 @@ msgid "Next match" msgstr "Следующий подбор" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:162 msgid "Open ebook" msgstr "Открыть книгу" @@ -3845,158 +3866,154 @@ msgstr "Открыть книгу" msgid "Configure" msgstr "Настроить" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88 msgid "Error communicating with device" msgstr "Ошибка подключения с устройством" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 msgid "&Restore" msgstr "Восстановить" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Donate" msgstr "Вознаградить" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Quit" msgstr "&Выход" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:104 msgid "&Restart" msgstr "&Перезапуск" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:148 msgid "" "

                                                                                      For help visit %s.kovidgoyal.net
                                                                                      " msgstr "" -"

                                                                                      Для справки поситите Для справки посетите %s.kovidgoyal.net
                                                                                      " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:149 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:166 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Send to main memory" msgstr "Отправить в основную память" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "Send to storage card" msgstr "Отправить в карту памяти" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "and delete from library" msgstr "и удалите из библиотеки" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 msgid "Send to storage card by default" msgstr "По умолчанию отправлять в карту памяти" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 msgid "Edit metadata individually" msgstr "Редактировать метаданные индивидуально" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:187 msgid "Edit metadata in bulk" msgstr "Редактировать основные метаданные" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 msgid "Add books from a single directory" msgstr "Добавить книги из одной директории" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 -msgid "" -"Add books recursively (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:191 msgid "" -"Add books recursively (Multiple books per directory, assumes every ebook " -"file is a different book)" +"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:206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 +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:207 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:342 msgid "Save to disk" msgstr "Сохранить на диск" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 msgid "Save to disk in a single directory" msgstr "Сохранить на диск в одну директорию" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1203 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Save only %s format to disk" msgstr "Сохранять на диск только формат %s" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:348 msgid "View" msgstr "Вид" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:213 msgid "View specific format" msgstr "Просмотреть особый формат" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:230 msgid "Convert individually" msgstr "Индивидуальное преобразование" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 msgid "Bulk convert" msgstr "Общее преобразование" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:233 msgid "Set defaults for conversion" msgstr "Настройки по умолчанию для преобразования" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:234 msgid "Set defaults for conversion of comics" msgstr "Настройки по умолчанию для преобразования комиксов" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:255 msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:300 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 msgid "Bad database location" msgstr "Плохое расположение базы данных" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1359 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1356 msgid "Choose a location for your ebook library." msgstr "Выбререте расположение Вашей библиотеки электронных книг." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:314 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:315 msgid "Migrating database" msgstr "Перемещение базы данных" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:487 msgid "Device: " msgstr "Устройство: " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:488 msgid " detected." msgstr " определено." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:509 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:510 msgid "Connected " msgstr "Подключено " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:521 msgid "Device database corrupted" msgstr "База данных устройства неисправна" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:522 msgid "" "\n" "

                                                                                      The database of books on the reader is corrupted. Try the " @@ -4026,145 +4043,143 @@ msgstr "" " \n" " " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:570 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 msgid "Stop" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:573 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:574 msgid "Adding books recursively..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:577 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 msgid "Added " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:577 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 msgid "Searching..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:588 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:694 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:695 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:591 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:697 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:698 msgid "Duplicates found!" msgstr "Есть повторения!" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:624 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:649 msgid "Uploading books to device." msgstr "Загрузка книг в устройство." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:633 msgid "Books" msgstr "Книги" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:634 msgid "EPUB Books" msgstr "Книги EPUB" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:635 msgid "LRF Books" msgstr "Книги LRF" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:635 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:636 msgid "HTML Books" msgstr "Книги HTML" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:637 msgid "LIT Books" msgstr "Книги LIT" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:637 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:638 msgid "MOBI Books" msgstr "Книги MOBI" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:638 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:639 msgid "Text books" msgstr "Текстовые книги" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:639 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:640 msgid "PDF Books" msgstr "Книги PDF" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:641 msgid "Comics" msgstr "Комиксы" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:641 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:642 msgid "Archives" msgstr "Архивы" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:657 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:660 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:661 msgid "Reading metadata..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:659 msgid "Adding books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:684 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:685 msgid "Read metadata from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:687 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:688 msgid "Adding books to database..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:730 msgid "No space on device" msgstr "Нет места на устройстве" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:730 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:731 msgid "" "

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

                                                                                          Немогу загрузить книги на устройство, из-за отсутствия свободной памяти. " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:762 -msgid "Confirm delete" -msgstr "Подтвердить удаление" - #: /home/kovid/work/calibre/src/calibre/gui2/main.py:763 -msgid "Are you sure you want to delete these %d books?" -msgstr "Вы уверены, что хотите удалить эти книги %d?" +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:775 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 msgid "Deleting books from device." msgstr "Удаляются книги из устройства." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:805 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:827 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 msgid "Cannot edit metadata" msgstr "Невозможно редактировать метаданные" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:805 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:827 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:946 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1005 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "No books selected" msgstr "Нет Выбранных книг" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:874 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:871 msgid "Sending news to device." msgstr "Отправляются новости на устройство." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:926 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:923 msgid "Sending books to device." msgstr "Отправка книги в устройство" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:929 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:926 msgid "No suitable formats" msgstr "Нет подходящего формата" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:930 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:927 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found:

                                                                                            %s
                                                                                          " @@ -4172,79 +4187,79 @@ msgstr "" "Не могу загрузить книги на устройство, так как они не соответствуют формату: " "
                                                                                            %s
                                                                                          " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:946 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 msgid "Cannot save to disk" msgstr "Невозможно сохранить на диск" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:950 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:947 msgid "Choose destination directory" msgstr "Выберете директорию получателя" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:957 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:954 msgid "" "

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

                                                                                            " msgstr "" "

                                                                                            Не могу сохранить гники на диск потому, что формат %s не доступен для:

                                                                                              " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:961 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:958 msgid "Could not save some ebooks" msgstr "Не могу сохранить некоторые книги" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:978 msgid "Fetching news from " msgstr "Вызвать новость из " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:992 msgid " fetched." msgstr " загружено." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1109 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1127 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1139 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 msgid "No book selected" msgstr "Нет выбранных книг" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1109 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1139 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1155 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 msgid "Cannot view" msgstr "Невозможно просмотреть" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1115 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1160 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1112 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1157 msgid "Choose the format to view" msgstr "Выберете для просмотра формат" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1127 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 msgid "Cannot open folder" msgstr "Не могу открыть папку" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1156 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1153 msgid "%s has no available formats." msgstr "%s неизвестный формат." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1194 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure" msgstr "Невозможно настроить" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1194 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure while there are running jobs." msgstr "Пока запущено задание, не могу настроить" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1213 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1210 msgid "Copying database" msgstr "Копирование базы данных" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1215 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212 msgid "Copying library to " msgstr "Копирование библиотеки в " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1225 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1222 msgid "Invalid database" msgstr "Неверная база данных" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1226 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1223 msgid "" "

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

                                                                                              Уже используется неправильная база данных %s, удалите ее прежде, чем " "перенести используемую.
                                                                                              Ошибка: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1229 msgid "Could not move database" msgstr "Невозможно перенести базу данных" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1249 msgid "No detailed info available" msgstr "Нет доступной подробной информации" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1253 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1250 msgid "No detailed information is available for books on the device." msgstr "Не доступна подробная информация книг на устройстве" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1296 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1293 msgid "Error talking to device" msgstr "Ошибка согласования устройства" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1297 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1294 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -4276,13 +4291,13 @@ msgstr "" "Была временная ощибка общения с устройством. Пожалуста, переподключите " "устройство или перегрузите его." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1310 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1325 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1329 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1307 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1326 msgid "Conversion Error" msgstr "Ошибка преобразования" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1311 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 msgid "" "

                                                                                              Could not convert: %s

                                                                                              It is a DRMed book. You must " "first remove the DRM using 3rd party tools." @@ -4290,11 +4305,11 @@ msgstr "" "

                                                                                              Не могу преобразовать: %s

                                                                                              Это DRM книга. Перед " "преобразование удалите DRM используя программное обеспечение." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1345 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1342 msgid "Database does not exist" msgstr "База данных не доступна" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1346 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1343 msgid "" "The directory in which the database should be: %s no longer exists. Please " "choose a new database location." @@ -4302,59 +4317,59 @@ msgstr "" "Не доступна директория, в которой должна быть база данных %s. Пожалуста " "выберете новое расположение базы данных." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1348 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1345 msgid "Choose new location for database" msgstr "Выберете новое расположение базы данных." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1401 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 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:1422 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1419 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Имеется активное задание. Вы всеравно хотите выйти?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1424 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1421 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:1428 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1425 msgid "WARNING: Active jobs" msgstr "ПРЕДУПРЕЖДЕНИЕ: Активное задание" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1457 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 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:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1467 msgid "" "Latest version: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1475 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 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:1475 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "Update available" msgstr "Доступно обновление" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1490 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1487 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1492 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1489 msgid "Log debugging information to console" msgstr "" @@ -4658,7 +4673,7 @@ msgid "The standard font type" msgstr "Стандартный шрифт" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:47 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 msgid "Table of Contents" msgstr "Содержание" @@ -4682,109 +4697,113 @@ msgstr "" msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:338 msgid "Choose ebook" msgstr "Выбрать электронную книгу" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:339 msgid "Ebooks" msgstr "Электронная книга" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Add bookmark" msgstr "Добавить закладку" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:378 msgid "No matches found for: %s" msgstr "Нет соответствий для: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 msgid "Loading flow..." msgstr "Загрузить поток..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:445 msgid "Laying out %s" msgstr "Разметка %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:497 msgid "Loading ebook..." msgstr "Загружается электронная книга..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "

                                                                                              This book is protected by DRM" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "DRM Error" msgstr "Ошибка DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:507 msgid "Could not open ebook" msgstr "Не могу открыть электронную книгу" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:508 msgid "%s

                                                                                              %s

                                                                                              " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:577 msgid "" "%prog [options] file\n" "\n" "View an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 msgid "Ebook Viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 msgid "toolBar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 msgid "Next page" msgstr "Следующая страница" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 msgid "Previous page" msgstr "Предыдущая страница" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 msgid "Font size larger" msgstr "Большой размер шрифта" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 msgid "Font size smaller" msgstr "Маленький размер шрифта" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:163 msgid "Find next" msgstr "Найти следующее" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:164 msgid "Copy to clipboard" msgstr "Копировать в буфер" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:165 msgid "Preferences" msgstr "Настройки" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:166 msgid "Reference Mode" msgstr "Справочный режим" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:167 msgid "Bookmark" msgstr "Закладка" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168 +msgid "Toggle full screen" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:47 msgid "Invalid regular expression" msgstr "Неправильное регулярное выражение" @@ -5081,20 +5100,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1164 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1146 msgid "

                                                                                              Copying books to %s

                                                                                              " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1177 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1286 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1159 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1268 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1257 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "

                                                                                              Migrating old database to ebook library in %s

                                                                                              " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1303 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1285 msgid "Compacting database" msgstr "" @@ -5496,6 +5515,20 @@ msgstr "Показать детальную информацию. Использ #~ msgid "&Priority for conversion jobs:" #~ msgstr "&Очередность работ преобразования:" +#~ msgid "" +#~ "Add books recursively (One book per directory, assumes every ebook file is " +#~ "the same book in a different format)" +#~ msgstr "" +#~ "Добавить книги рекурсивно (Каждый файл одной книги в директории принимается, " +#~ "как книга другого формата)" + +#~ msgid "" +#~ "Add books recursively (Multiple books per directory, assumes every ebook " +#~ "file is a different book)" +#~ msgstr "" +#~ "Добавить книги рекурсивно (Множество книг в дериктории принимаются, как " +#~ "книги разных форматов)" + #~ msgid "" #~ "Reader\n" #~ "%s available" @@ -5522,6 +5555,15 @@ msgstr "Показать детальную информацию. Использ #~ "тегами заголовков с атрибутом class=\"chapter\" необходим использовать \"h\\" #~ "d,class,chapter\". По умолчанию: %default" +#~ msgid "Ask for &confirmation before deleting files" +#~ msgstr "Спросить &подтверждения перед удалением файла" + +#~ msgid "Confirm delete" +#~ msgstr "Подтвердить удаление" + +#~ msgid "Are you sure you want to delete these %d books?" +#~ msgstr "Вы уверены, что хотите удалить эти книги %d?" + #~ msgid "" #~ "%%prog [options] filename\n" #~ "\n" @@ -5540,5 +5582,12 @@ msgstr "Показать детальную информацию. Использ #~ msgid "&Output format:" #~ msgstr "&Формат результата" +#~ msgid "" +#~ "If you disable this setting, metadatas is guessed from the filename instead. " +#~ "This can be configured in the Advanced section." +#~ msgstr "" +#~ "Если вы заблокировали эту строку, метаданные определятся из названия файла. " +#~ "Это может быть настроено в Расширенной секции." + #~ msgid "Enable system &tray icon" #~ msgstr "Использовать иконку в панели задач" diff --git a/src/calibre/translations/sk.po b/src/calibre/translations/sk.po index f5751ae0d2..6f9f006e35 100644 --- a/src/calibre/translations/sk.po +++ b/src/calibre/translations/sk.po @@ -7,24 +7,198 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2008-12-18 01:36+0000\n" +"POT-Creation-Date: 2008-12-30 15:33+0000\n" "PO-Revision-Date: 2008-12-15 22:58+0000\n" "Last-Translator: Michael Gallo \n" "Language-Team: Slovak \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-12-23 17:57+0000\n" +"X-Launchpad-Export-Date: 2009-01-04 04:32+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:137 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:155 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:193 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 +msgid "Does absolutely nothing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:478 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:961 +#: /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 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 +#: /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:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 +#: /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:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:78 +#: /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:793 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:835 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:915 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 +#: /home/kovid/work/calibre/src/calibre/library/database.py:920 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1580 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:461 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:808 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:841 +msgid "Unknown" +msgstr "Neznáme" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:62 +msgid "Base" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 +msgid "File type" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:182 +msgid "Metadata reader" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:209 +msgid "Metadata writer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:12 +msgid "" +"Follow all local links in an HTML file and create a ZIP file containing all " +"linked files. This plugin is run every time you add an HTML file to the " +"library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:32 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:42 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:53 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:63 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:73 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:83 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:105 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:135 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:145 +msgid "Read metadata from %s files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:155 +msgid "Extract cover from comic files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:175 +msgid "Set metadata in EPUB files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:185 +msgid "Set metadata in LRF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:195 +msgid "Set metadata in RTF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:28 +msgid "Installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:29 +msgid "Mapping for filetype plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 +msgid "Local plugin customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 +msgid "Disabled plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:66 +msgid "No valid plugin found in " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:170 +msgid "Initialization of plugin %s failed with traceback:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:247 +msgid "" +" %prog options\n" +" \n" +" Customize calibre by loading external plugins.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:253 +msgid "Add a plugin by specifying the path to the zip file containing it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:255 +msgid "Remove a custom plugin by name. Has no effect on builtin plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:257 +msgid "" +"Customize plugin. Specify name of plugin and customization string separated " +"by a comma." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:259 +msgid "List all installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:261 +msgid "Enable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:263 +msgid "Disable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:158 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:196 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:224 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "Nepodarilo sa nájsť disk %s. Skúste reštartovať systém." -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:409 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:412 msgid "The reader has no storage card connected." msgstr "V čítacom zariadení nie je vložená žiadna pamäťová karta." @@ -245,64 +419,7 @@ msgid "" "Extract the contents of the produced EPUB file to the specified directory." msgstr "Rozbaliť obsah vytvoreného EPUB súboru do určeného adresára." -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:43 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:477 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 -#: /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 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 -#: /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:196 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:65 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:67 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:100 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:102 -#: /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:793 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 -#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:342 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:828 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:650 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 -#: /home/kovid/work/calibre/src/calibre/library/database.py:920 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1564 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:477 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:489 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:817 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 -msgid "Unknown" -msgstr "Neznáme" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:154 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:156 msgid "" "%%prog [options] filename\n" "\n" @@ -310,11 +427,11 @@ msgid "" "formats are: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:100 msgid "Could not find an ebook inside the archive" msgstr "V archíve nebola nájdená žiadna elektronická kniha" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:157 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:158 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -331,13 +448,13 @@ msgstr "" "Ak miesto HTML súboru zadáte OPF súbor, odkazy budú prevzaté z jeho sekcie " ". \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:389 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:737 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:391 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:739 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:411 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1035 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:413 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1046 msgid "You must specify an input HTML file" msgstr "Musíte zadať vstupný HTML súbor" @@ -359,25 +476,25 @@ msgstr "" "\t\tPríliš zložitá štruktúra súboru. Prerozdeľujem bez zachovania štruktúry. " "Súbor sa môže zobraziť nekorektne." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:490 msgid "Written processed HTML to " msgstr "Spracované HTML bolo zapísané do " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:820 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 msgid "Options to control the traversal of HTML" msgstr "Možnosti spracovania HTML" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:827 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:838 msgid "The output directory. Default is the current directory." msgstr "Výstupný adresár. Štandardne sa použije aktuálny pracovný adresár." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:829 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:840 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" "Kódovanie znakov v HTML súboru. Bez explicitne zadanej hodnoty bude " "detekované automaticky." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:842 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." @@ -385,11 +502,11 @@ msgstr "" "Vytvoriť výstup v súbore .zip. Ak je zvolená táto možnosť, --output by mal " "byť názov súboru, nie adresára." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:833 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:844 msgid "Control the following of links in HTML files." msgstr "Nasledovanie odkazov v HTML súboroch." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:835 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:846 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" @@ -397,7 +514,7 @@ msgstr "" "Prechádzanie odkazov v HTML súboroch \"najprv do šírky\". Štandardne sa " "odkazy prechádzajú \"najprv do hĺbky\"." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:837 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:848 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." @@ -406,39 +523,39 @@ msgstr "" "je pozitívna hodnota. 0 značí, že žiadne odkazy v koreňovom súbore nebudú " "prechádzané." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:839 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:850 msgid "Set metadata of the generated ebook" msgstr "Metadáta vygenerovanej elektronickej knihy" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:841 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:852 msgid "Set the title. Default is to autodetect." msgstr "Názov. Štandardne automaticky detekovaný." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:843 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:854 msgid "The author(s) of the ebook, as a comma separated list." msgstr "Autor(i) knihy, oddelení čiarkami." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:845 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:856 msgid "The subject(s) of this book, as a comma separated list." msgstr "Témy tejto knihy, oddelené čiarkami." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:847 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:858 msgid "Set the publisher of this book." msgstr "Vydavateľ knihy." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:849 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:860 msgid "A summary of this book." msgstr "Stručný obsah knihy." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:851 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:862 msgid "Load metadata from the specified OPF file" msgstr "Súbor OPF z ktorého sa majú prevziať metadáta." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:853 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:864 msgid "Options useful for debugging" msgstr "Možnosti užitočné pri hľadaní chýb v programe." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:866 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." @@ -446,11 +563,11 @@ msgstr "" "Pri spracovaní vypisovať viac informácií. Viacnásobné použitie ďalej zvyšuje " "množstvo zobrazených informácií." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:857 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:868 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "Výstupný HTML súbor bude úhľadne formátovaný pre uľahčenie čítania." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:863 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:874 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -479,7 +596,7 @@ msgid "%prog [options] LITFILE" msgstr "%prog [možnosti] LITsúbor" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:852 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:444 msgid "Output directory. Defaults to current directory." msgstr "Výstupný adresár. Štandardne aktuálny pracovný adresár." @@ -489,20 +606,20 @@ msgstr "" "Čitateľne formátovať extrahované HTML. Môže ovplyvniť medzery v texte." #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:723 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:724 msgid "Useful for debugging." msgstr "Užitočné pri hľadaní chýb v programe." #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:869 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:468 msgid "OEB ebook created in" msgstr "OEB elektronická kniha bude vytvorená v" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:717 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:718 msgid "%prog [options] OPFFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:720 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:721 msgid "Output file. Default is derived from input filename." msgstr "" @@ -537,7 +654,7 @@ msgstr "Autor, v tvare vhodnom pre triedenie (priezvisko, meno)" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:275 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 msgid "Publisher" msgstr "Vydavateľ" @@ -854,11 +971,11 @@ msgstr "" "používaná možnosť je utf-8. Program sa štandardne pokúsi rozoznať použité " "kódovanie automaticky." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:161 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:164 msgid "Converting from %s to LRF is not supported." msgstr "Prevod z %s do LRF nie je podporovaný." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:171 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:175 msgid "" "any2lrf [options] myfile\n" "\n" @@ -875,19 +992,19 @@ msgstr "" "ZIP archívy, v ktorých bude hľadať knihy v uvedených formátoch.\n" " " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:186 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:190 msgid "No file to convert specified." msgstr "Nebol uvedený žiaden vstupný súbor." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:221 msgid "Rendered %s" msgstr "Úspešný prevod %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:223 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 msgid "Failed %s" msgstr "Neuspel prevod %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:275 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:276 msgid "" "Failed to process comic: %s\n" "\n" @@ -897,57 +1014,57 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:283 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "Možnosti prevodu komiksov (CBR, CBZ) do podoby elektronických kníh" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:289 msgid "Title for generated ebook. Default is to use the filename." msgstr "" "Názov vytvorenej elektronickej knihy. Štandardne sa použije názov súboru." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" "Autor, ktorý bude uvedený v metadátach vytvorenej elektronickej knihy. " "Štandardná hodnota je %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 msgid "" "Path to output file. By default a file is created in the current directory." msgstr "" "Cesta k výstupnému súboru. Štandardne bude výstupný súbor vytvorený v " "aktuálnom pracovnom adresári." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:296 msgid "Number of colors for grayscale image conversion. Default: %default" msgstr "" "Počet odtieňov sivej použitý pri prevode obrázkov. Štandardná hodnota: " "%default" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Vypnutie normalizácie (zvýšenia kontrastu) rozsahu farieb obrázkov. " "Štandardne je normalizácia zapnutá." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" "Zachovať pomer strán obrázkov. Štandardne obrázky vyplnia celú obrazovku." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 msgid "Disable sharpening." msgstr "Vypnúť zvyšovanie ostrosti obrázkov." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 msgid "Don't split landscape images into two portrait images" msgstr "Nerozdeľovať obrázky \"na šírku\" na dva obrázky \"na výšku\"." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -955,7 +1072,7 @@ msgstr "" "Zachovať pomer strán a prispôsobiť šírku obrázka výške obrazovky na " "prezeranie \"na šírku\"." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:307 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:308 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -963,7 +1080,7 @@ msgstr "" "Užitočné pre publikácie čítané zprava doľava, ako napr. manga. Obrázky \"na " "šírku\" budú rozdelené na obrázky \"na výšku\" v poradí zprava doľava." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:310 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -971,7 +1088,7 @@ msgstr "" "Zapnúť filter šumu. Odstraňuje šum v oblastiach plynulých prechodov. Môže " "výrazne predĺžiť čas potrebný na spracovanie." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:312 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -979,7 +1096,7 @@ msgstr "" "Netriediť súbory komiksu abecedne. Použiť poradie v ktorom boli pridané do " "komiksu." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:314 msgid "" "Choose a profile for the device you are generating this file for. The " "default is the SONY PRS-500 with a screen size of 584x754 pixels. This is " @@ -990,7 +1107,7 @@ msgstr "" "je vhodný pre akékoľvek čítacie zariadenie s rovnakým rozlíšením obrazovky. " "Možnosti sú %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:316 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " "greater verbosity." @@ -999,11 +1116,11 @@ msgstr "" "programe. Pri viacnásobnom použití sa množstvo zobrazovaných údajov ďalej " "zvyšuje." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:318 msgid "Don't show progress bar." msgstr "Nezobrazovať indikátor postupu spracovania." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:322 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" @@ -1013,11 +1130,11 @@ msgstr "" "\n" "Previesť komiks vo formáte CBZ alebo CBR do podoby elektronickej knihy. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:382 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:383 msgid "Output written to" msgstr "Výstup do" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:423 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:426 msgid "Rendering comic pages..." msgstr "Spracúvam stránky komiksu..." @@ -1066,57 +1183,57 @@ msgstr "Možnosti ovládajúce správanie programu html2lrf" msgid "Fetching of recipe failed: " msgstr "Preberanie receptu zlyhalo: " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 msgid "\tBook Designer file detected." msgstr "\tBol rozoznaný súbor z programu Book Designer." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tParsing HTML..." msgstr "\tSpracúvam HTML..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:340 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:343 msgid "\tBaen file detected. Re-parsing..." msgstr "" "\tBol rozoznaný súbor z vydavateľstva BAEN. Reštartujem spracovanie..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:356 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:359 msgid "Written preprocessed HTML to " msgstr "Predspracovaný HTML súbor bol zapísaný do " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:377 msgid "Processing %s" msgstr "Spracúvam %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:388 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:391 msgid "\tConverting to BBeB..." msgstr "\tPrevádzam do BBeB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:534 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:547 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:550 msgid "Could not parse file: %s" msgstr "Spracovanie súboru zlyhalo: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:542 msgid "%s is an empty file" msgstr "%s je prázdny súbor" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:559 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:562 msgid "Failed to parse link %s %s" msgstr "Zlyhalo spracovanie odkazu %s %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:603 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:606 msgid "Cannot add link %s to TOC" msgstr "Nepodarilo sa pridať odkaz %s do obsahu" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:958 msgid "Unable to process image %s. Error: %s" msgstr "Spracovanie obrázku %s zlyhalo. Chyba: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:996 msgid "Unable to process interlaced PNG %s" msgstr "Zlyhalo spracovanie prekladaného PNG obrázku %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1008 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1011 msgid "" "Could not process image: %s\n" "%s" @@ -1124,12 +1241,12 @@ msgstr "" "Zlyhalo spracovanie obrázka: %s\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1765 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "Chyba pri spracovaní tabuľky: %s. Ignorujem blok tabuľky." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1767 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 msgid "" "Bad table:\n" "%s" @@ -1137,11 +1254,11 @@ msgstr "" "Nesprávna definícia tabuľky:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1789 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 msgid "Table has cell that is too large" msgstr "Tabuľka obsahuje bunku, ktorá je príliš veľká" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1819 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." @@ -1149,19 +1266,19 @@ msgstr "" "Webovú stránku je potrebné najprv uložiť ako HTML súbor, potom previesť " "programom html2lrf." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 msgid "Could not read cover image: %s" msgstr "Nepodarilo sa načítať obrázok obálky: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 msgid "Cannot read from: %s" msgstr "Nemôžem čítať z: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "Failed to process opf file" msgstr "Zlyhalo spracovanie OPF súboru" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2009 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1407,17 +1524,17 @@ msgstr "Poznámka" #: /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:91 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 msgid "Title" msgstr "Názov" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:330 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:899 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:906 msgid "Author(s)" msgstr "Autor(i)" @@ -1436,24 +1553,24 @@ msgstr "Kategória" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:391 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:527 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "Poznámky" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:838 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:845 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Tags" msgstr "Tagy" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Series" @@ -1588,11 +1705,11 @@ msgstr "Použitie: pdf-meta súbor.pdf" msgid "Usage: rb-meta file.rb" msgstr "Použitie: rb-meta súbor.rb" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:440 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 msgid "%prog [options] myebook.mobi" msgstr "%prog [možnosti] kniha.mobi" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:464 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 msgid "Raw MOBI HTML saved in" msgstr "Neupravené MOBI HTML uložené do" @@ -1600,85 +1717,85 @@ msgstr "Neupravené MOBI HTML uložené do" msgid "The output directory. Defaults to the current directory." msgstr "Výstupný adresár. Štandardne aktuálny pracovný adresár." -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:26 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:424 msgid "Frequently used directories" msgstr "Často používané adresáre" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:27 msgid "Send file to storage card instead of main memory by default" msgstr "Ukladať súbory na pamäťovú kartu, nie do hlavnej pamäte zariadenia" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:29 msgid "The format to use when saving single files to disk" msgstr "" "Formát, ktorý má byť použitý pri ukladaní jednotlivých súborov na disk" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:31 msgid "Confirm before deleting" msgstr "Vyžadovať potvrdenie pred zmazaním" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 msgid "Toolbar icon size" msgstr "Veľkosť ikon panelu nástrojov" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 msgid "Show button labels in the toolbar" msgstr "Zobrazovať nadpisy tlačidiel panelu nástrojov" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 msgid "Main window geometry" msgstr "Usporiadanie hlavného okna" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 msgid "Notify when a new version is available" msgstr "Upozorniť ak je k dispozícii nová verzia" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Use Roman numerals for series number" msgstr "Číslovanie kníh v sérii Rímskymi číslicami" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Sort tags list by popularity" msgstr "Triediť zoznam tagov podľa popularity" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Number of covers to show in the cover browsing mode" msgstr "Počet obálok, ktoré sa majú zobraziť v režime prezerania obálok" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" msgstr "Štandardné nastavenie prevodu do formátu LRF" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Options for the LRF ebook viewer" msgstr "Možnosti prehliadača elektronických kníh vo formáte LRF" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 msgid "Formats that are viewed using the internal viewer" msgstr "Formáty zobrazené interným prehliadačom" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 msgid "Columns to be displayed in the book list" msgstr "Počet stĺpcov v zozname kníh" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Automatically launch content server on application startup" msgstr "Automaticky spúšťať obsahový server pri štarte aplikácie" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Oldest news kept in database" msgstr "Najstaršie správy ponechané v databáze" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 msgid "Show system tray icon" msgstr "Zobraziť ikonu v systémovej lište" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 msgid "Upload downloaded news to device" msgstr "Odoslať prevzaté správy do zariadenia" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Delete books from library after uploading to device" msgstr "Zmazať knihy z knižnice po ich odoslaní do zariadenia" @@ -1717,8 +1834,8 @@ msgstr "Zobraziť knihu v zariadení" #: /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:282 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:840 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "Cesta" @@ -1727,7 +1844,7 @@ msgstr "Cesta" #: /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:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Formats" @@ -1742,6 +1859,7 @@ msgstr "Dialog" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:53 msgid "TextLabel" @@ -1817,19 +1935,27 @@ msgstr "Čistiaci &filter" msgid "&Wide" msgstr "Širo&ké" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 +msgid " plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:106 +msgid "by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Advanced" msgstr "Rozšírené" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "General" msgstr "Všeobecné" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Interface" msgstr "Rozhranie" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 msgid "" "Content\n" "Server" @@ -1837,58 +1963,102 @@ msgstr "" "Obsahový\n" "Server" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 +msgid "Plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:255 +msgid "No valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:256 +msgid "%s is not a valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +msgid "Choose plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:270 +msgid "Plugin cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:271 +msgid "The plugin: %s cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +msgid "Plugin not customizable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:282 +msgid "Plugin: %s does not need customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +msgid "Customize %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:295 +msgid "Cannot remove builtin plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:296 +msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:317 msgid "Error log:" msgstr "Záznam o chybách:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:321 msgid "Access log:" msgstr "Záznam o prístupe:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:382 msgid "Failed to start content server" msgstr "Nepodarilo sa spustiť obsahový server" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "Invalid size" msgstr "Neplatná veľkosť" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "Veľkosť %s je neplatná. Požadovaný formát je šírka x výška" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:264 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:423 msgid "Invalid database location" msgstr "Neplatné umiestnenie databázy" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "
                                                                                              Must be a directory." msgstr "
                                                                                              Musí byť adresár." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "Invalid database location " msgstr "Neplatné umiestnenie databázy " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 msgid "Invalid database location.
                                                                                              Cannot write to " msgstr "Neplatné umiestnenie databázy.
                                                                                              Nemôžem zapisovať do " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting database. This may take a while." msgstr "Zmenšujem databázu. Tento proces môže chvíľu trvať." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting..." msgstr "Zmenšujem..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:329 msgid "Configuration" msgstr "Nastavenia" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:409 msgid "" "&Location of ebooks (The ebooks are stored in folders sorted by author and " "metadata is stored in the file metadata.db)" @@ -1896,15 +2066,16 @@ msgstr "" "&Umiestnenie elektronických kníh (Knihy sú umiestnené v adresároch podľa " "autora a metadáta sú uložené v súbore metadata.db)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:410 msgid "Browse for the new database location" msgstr "Určte nové umiestnenie databázy" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:358 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:374 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:386 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:426 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:373 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:509 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:282 @@ -1927,35 +2098,29 @@ msgstr "Určte nové umiestnenie databázy" msgid "..." msgstr "..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:412 msgid "Show notification when &new version is available" msgstr "Zobraziť upozornenie keď je k dispozícii &nová verzia." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:360 -msgid "Ask for &confirmation before deleting files" -msgstr "Vyžadovať potvrdenie pred &zmazaním súborov." - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:413 msgid "" -"If you disable this setting, metadatas is guessed from the filename instead. " +"If you disable this setting, metadata is guessed from the filename instead. " "This can be configured in the Advanced section." msgstr "" -"Keď je táto možnosť deaktivovaná, metadáta budú odvodené z názvu súboru. " -"Spôsob, akým budú odvodené, je možné nastaviť v sekcii \"Rozšírené\"." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:414 msgid "Read &metadata from files" msgstr "Čítať &metadáta zo súborov" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:415 msgid "Format for &single file save:" msgstr "Formát pre uloženie do jedného &súboru:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:416 msgid "Default network &timeout:" msgstr "Štandardný časový &limit siete:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:417 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" @@ -1963,104 +2128,104 @@ msgstr "" "Štandardný časový limit pre sieťové dopyty (pri preberaní informácií z " "internetu)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:418 msgid " seconds" msgstr " sekúnd" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:419 msgid "Choose &language (requires restart):" msgstr "Vyberte &jazyk (vyžaduje reštart):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:420 msgid "Normal" msgstr "Normálny" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:421 msgid "High" msgstr "Vysoká" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:422 msgid "Low" msgstr "Nízka" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:423 msgid "Job &priority:" msgstr "&Priorita úloh:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:425 msgid "Add a directory to the frequently used directories list" msgstr "Pridať adresár do zoznamu často používaných" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:427 msgid "Remove a directory from the frequently used directories list" msgstr "Odobrať adresár zo zoznamu často používaných" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:429 msgid "Use &Roman numerals for series number" msgstr "Číslovať knihy v sérii &Rímskymi číslicami" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:430 msgid "&Number of covers to show in browse mode (after restart):" msgstr "" "Počet &obálok zobrazených v režime prehliadania obálok (vyžaduje reštart):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:431 msgid "Toolbar" msgstr "Panel nástrojov" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 msgid "Large" msgstr "Veľké" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Medium" msgstr "Stredné" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 msgid "Small" msgstr "Malé" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:435 msgid "&Button size in toolbar" msgstr "&Veľkosť tlačidiel na paneli nástrojov" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:436 msgid "Show &text in toolbar buttons" msgstr "Zobraziť &text na tlačidlách panelu nástrojov" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:437 msgid "Select visible &columns in library view" msgstr "Viditeľné &stĺpce v zozname kníh v knižnici" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:440 msgid "Use internal &viewer for the following formats:" msgstr "Použiť interný &prehliadač na tieto formáty:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:441 msgid "Enable system &tray icon (needs restart)" msgstr "Zobraziť &ikonu v systémovej lište" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:442 msgid "Automatically send downloaded &news to ebook reader" msgstr "&Automaticky odosielať prevzaté správy do čítacieho zariadenia" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:443 msgid "&Delete news from library when it is sent to reader" msgstr "&Zmazať správy z knižnice po ich odoslaní do zariadenia" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:444 msgid "Free unused diskspace from the database" msgstr "Uvoľniť nepoužitý diskový priestor v databáze" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:445 msgid "&Compact database" msgstr "Zmenšiť &databázu" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:446 msgid "&Metadata from file name" msgstr "&Metadáta zo súboru" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:447 msgid "" "calibre contains a network server that allows you to access your book " "collection using a browser from anywhere in the world. Any changes to the " @@ -2070,23 +2235,23 @@ msgstr "" "pomocou internetového prehliadača, z akéhokoľvek miesta na svete. Zmeny v " "nastaveniach sa prejavia až po reštarte servera." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:448 msgid "Server &port:" msgstr "&Port servera:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:146 msgid "&Username:" msgstr "Po&užívateľské meno:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:147 msgid "&Password:" msgstr "&Heslo:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:451 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." @@ -2094,13 +2259,13 @@ msgstr "" "Ak ponecháte heslo prázdne, ktokoľvek bude mať prístup k vašej zbierke kníh " "cez toto webové rozhranie." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:452 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:148 msgid "&Show password" msgstr "&Zobraziť heslo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:453 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " @@ -2108,31 +2273,31 @@ msgstr "" "Maximálna veľkosť (šírka x výška) zobrazených obálok. Veľké obálky budú " "zmenšené. " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:454 msgid "Max. &cover size:" msgstr "Max. veľkosť &obálok:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:455 msgid "&Start Server" msgstr "&Spustiť server" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:456 msgid "St&op Server" msgstr "&Zastaviť server" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:457 msgid "&Test Server" msgstr "&Test servera" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:458 msgid "Run server &automatically on startup" msgstr "&Automaticky spustiť server pri štarte" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:459 msgid "View &server logs" msgstr "Z&obraziť serverové záznamy" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 msgid "" "If you want to use the content server to access your ebook collection on " "your iphone with Stanza, you will need to add the URL " @@ -2146,6 +2311,44 @@ msgstr "" "Stanza na vašom iPhone, pričom \"mojehostname\" musí byť úplná symbolická " "alebo IP adresa vášho počítača." +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 +msgid "" +"Here you can customize the behavior of Calibre by controlling what plugins " +"it uses." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:462 +msgid "Enable/&Disable plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 +msgid "&Customize plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:464 +msgid "&Remove plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:465 +msgid "Add new plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:466 +msgid "Plugin &file:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:468 +msgid "&Add" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +msgid "Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +msgid "&Show this warning again" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:41 msgid "ERROR" msgstr "CHYBA" @@ -2163,7 +2366,7 @@ msgstr "Previesť %s do formátu EPUB" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:296 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 msgid "Metadata" msgstr "Metadáta" @@ -2220,25 +2423,25 @@ msgstr "Vyberte obálku pre " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 msgid "Cannot read" msgstr "Nemôžem čítať" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:52 msgid "You do not have permission to read the file: " msgstr "Nemáte prístupové práva na čítanie súboru: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 msgid "Error reading file" msgstr "Chyba pri čítaní súboru" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:184 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:61 msgid "

                                                                                              There was an error reading from file:
                                                                                              " msgstr "

                                                                                              Chyba pri čítaní súboru:
                                                                                              " @@ -2248,7 +2451,7 @@ msgid " is not a valid picture" msgstr " nie je platný obrazový súbor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "Cannot convert" msgstr "Nemôžem previesť" @@ -2897,26 +3100,26 @@ msgstr "" msgid "A&utomatically set author sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:262 msgid "" "

                                                                                              Enter your username and password for LibraryThing.com.
                                                                                              If you " "do not have one, you can register " "for free!.

                                                                                              " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover.
                                                                                              " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "You must specify the ISBN identifier for this book." msgstr "" @@ -3022,9 +3225,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:335 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:761 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:765 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1064 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:752 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:756 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1055 msgid "News" msgstr "" @@ -3493,52 +3696,62 @@ msgstr "" msgid "Working" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:162 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:166 +#: /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 "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 msgid "Cannot kill jobs that communicate with the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:167 +#: /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:93 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:907 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:908 msgid "Date" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 msgid "Rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:274 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 msgid "None" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 msgid "Book %s of %s." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:675 +msgid "Not allowed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:676 +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:839 msgid "Format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:844 msgid "Timestamp" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:942 msgid "Search (For Advanced Search click the button to the left)" msgstr "" @@ -3567,7 +3780,7 @@ msgid "No matches for the search phrase %s were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:377 msgid "No matches found" msgstr "" @@ -3592,12 +3805,12 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 msgid "Back" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 msgid "Forward" msgstr "" @@ -3606,7 +3819,7 @@ msgid "Next match" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:162 msgid "Open ebook" msgstr "" @@ -3614,152 +3827,152 @@ msgstr "" msgid "Configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88 msgid "Error communicating with device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Donate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Quit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:104 msgid "&Restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:148 msgid "" "

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

                                                                                              " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Send to main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "Send to storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 msgid "Send to storage card by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 msgid "Edit metadata individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:187 msgid "Edit metadata in bulk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 msgid "Add books from a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:191 msgid "" -"Add books recursively (One book per directory, assumes every ebook file is " -"the same book in a different format)" +"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:190 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 msgid "" -"Add books recursively (Multiple books per directory, assumes every ebook " -"file is a different book)" +"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:205 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:342 msgid "Save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 msgid "Save to disk in a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Save only %s format to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:348 msgid "View" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:213 msgid "View specific format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:230 msgid "Convert individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 msgid "Bulk convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:233 msgid "Set defaults for conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:234 msgid "Set defaults for conversion of comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:255 msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 msgid "Bad database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1333 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1356 msgid "Choose a location for your ebook library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:315 msgid "Migrating database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:487 msgid "Device: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:488 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:510 msgid "Connected " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:521 msgid "Device database corrupted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:522 msgid "" "\n" "

                                                                                              The database of books on the reader is corrupted. Try the " @@ -3775,288 +3988,320 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:572 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:668 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +msgid "Stop" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:574 +msgid "Adding books recursively..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Added " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Searching..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:695 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:575 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:698 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:649 msgid "Uploading books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:633 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:634 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:635 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:636 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:620 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:637 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:638 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:639 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:640 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:641 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:642 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:661 +msgid "Reading metadata..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:659 +msgid "Adding books..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:685 +msgid "Read metadata from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:688 +msgid "Adding books to database..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:730 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:731 msgid "" "

                                                                                                Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:736 -msgid "Confirm delete" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:763 +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:737 -msgid "Are you sure you want to delete these %d books?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 msgid "Cannot edit metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "No books selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:848 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:871 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:923 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:926 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:927 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:920 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 msgid "Cannot save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:947 msgid "Choose destination directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:931 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:954 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:935 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:958 msgid "Could not save some ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:955 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:978 msgid "Fetching news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:992 msgid " fetched." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 msgid "No book selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 msgid "Cannot view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1134 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1112 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1157 msgid "Choose the format to view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1130 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1153 msgid "%s has no available formats." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure while there are running jobs." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1210 msgid "Copying database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212 msgid "Copying library to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1222 msgid "Invalid database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1223 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:1206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1229 msgid "Could not move database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1226 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1249 msgid "No detailed info available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1227 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1250 msgid "No detailed information is available for books on the device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1270 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1293 msgid "Error talking to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1294 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:1284 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1299 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1307 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1326 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 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:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1342 msgid "Database does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1320 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1343 msgid "" "The directory in which the database should be: %s no longer exists. Please " "choose a new database location." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1345 msgid "Choose new location for database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1375 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 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:1396 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1419 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1421 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:1402 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1425 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 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:1444 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1467 msgid "" "Latest version: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 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:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1464 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1487 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1489 msgid "Log debugging information to console" msgstr "" @@ -4360,7 +4605,7 @@ msgid "The standard font type" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:47 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 msgid "Table of Contents" msgstr "" @@ -4384,109 +4629,113 @@ msgstr "" msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:338 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:339 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:378 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:445 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:497 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "

                                                                                                  This book is protected by DRM" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:507 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:508 msgid "%s

                                                                                                  %s

                                                                                                  " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:577 msgid "" "%prog [options] file\n" "\n" "View an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 msgid "Ebook Viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 msgid "toolBar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 msgid "Next page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 msgid "Previous page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 msgid "Font size larger" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 msgid "Font size smaller" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:163 msgid "Find next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:164 msgid "Copy to clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:165 msgid "Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:166 msgid "Reference Mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:167 msgid "Bookmark" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168 +msgid "Toggle full screen" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:47 msgid "Invalid regular expression" msgstr "" @@ -4783,20 +5032,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1146 msgid "

                                                                                                  Copying books to %s

                                                                                                  " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1157 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1266 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1159 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1268 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1237 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "

                                                                                                  Migrating old database to ebook library in %s

                                                                                                  " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1285 msgid "Compacting database" msgstr "" @@ -4819,47 +5068,47 @@ msgstr "" msgid "Job stopped by user" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:39 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:41 msgid "%sUsage%s: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:77 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:79 msgid "Created by " msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:524 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:527 msgid "Path to the database in which books are stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:526 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:529 msgid "Pattern to guess metadata from filenames" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:528 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:531 msgid "Access key for isbndb.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:530 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:533 msgid "Default timeout for network operations (seconds)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:532 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:535 msgid "Path to directory in which your library of books is stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:534 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:537 msgid "The language in which to display the user interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:536 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:539 msgid "The default output format for ebook conversions." msgstr "Štandardný výstupný formát pre prevody kníh." -#: /home/kovid/work/calibre/src/calibre/utils/config.py:538 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:541 msgid "Read metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:540 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:543 msgid "The priority of worker processes" msgstr "" @@ -5149,6 +5398,9 @@ msgstr "" msgid "Show detailed output information. Useful for debugging" msgstr "" +#~ msgid "Ask for &confirmation before deleting files" +#~ msgstr "Vyžadovať potvrdenie pred &zmazaním súborov." + #~ msgid "" #~ "%%prog [options] filename\n" #~ "\n" @@ -5168,3 +5420,10 @@ msgstr "" #~ msgid "&Output format:" #~ msgstr "&Výstupný formát:" + +#~ msgid "" +#~ "If you disable this setting, metadatas is guessed from the filename instead. " +#~ "This can be configured in the Advanced section." +#~ msgstr "" +#~ "Keď je táto možnosť deaktivovaná, metadáta budú odvodené z názvu súboru. " +#~ "Spôsob, akým budú odvodené, je možné nastaviť v sekcii \"Rozšírené\"." diff --git a/src/calibre/translations/sl.po b/src/calibre/translations/sl.po index 0efbaa8a89..9cd2491f30 100644 --- a/src/calibre/translations/sl.po +++ b/src/calibre/translations/sl.po @@ -6,25 +6,199 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.17\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-12-18 01:36+0000\n" -"PO-Revision-Date: 2008-09-19 19:17+0000\n" -"Last-Translator: Kovid Goyal \n" +"POT-Creation-Date: 2008-12-30 15:33+0000\n" +"PO-Revision-Date: 2008-12-30 07:52+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: 2008-12-23 17:57+0000\n" +"X-Launchpad-Export-Date: 2009-01-04 04:32+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:137 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:155 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:193 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 +msgid "Does absolutely nothing" +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:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:478 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:961 +#: /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 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 +#: /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:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 +#: /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:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:78 +#: /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:793 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:835 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:915 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 +#: /home/kovid/work/calibre/src/calibre/library/database.py:920 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1580 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:461 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:808 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:841 +msgid "Unknown" +msgstr "Neznano" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:62 +msgid "Base" +msgstr "Osnovno" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 +msgid "File type" +msgstr "Tip datoteke" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:182 +msgid "Metadata reader" +msgstr "Bralnik meta podatkov" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:209 +msgid "Metadata writer" +msgstr "Pisalnik meta podatkov" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:12 +msgid "" +"Follow all local links in an HTML file and create a ZIP file containing all " +"linked files. This plugin is run every time you add an HTML file to the " +"library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:32 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:42 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:53 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:63 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:73 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:83 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:105 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:135 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:145 +msgid "Read metadata from %s files" +msgstr "Preberi meta podatke iz %s datotek" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:155 +msgid "Extract cover from comic files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:175 +msgid "Set metadata in EPUB files" +msgstr "Nastavi meta podatke v EPUB datotekah" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:185 +msgid "Set metadata in LRF files" +msgstr "Nastavi meta podatke v LRF datotekah" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:195 +msgid "Set metadata in RTF files" +msgstr "Nastavi meta podatke v RTF datotekah" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:28 +msgid "Installed plugins" +msgstr "Nameščeni plugini" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:29 +msgid "Mapping for filetype plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 +msgid "Local plugin customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 +msgid "Disabled plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:66 +msgid "No valid plugin found in " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:170 +msgid "Initialization of plugin %s failed with traceback:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:247 +msgid "" +" %prog options\n" +" \n" +" Customize calibre by loading external plugins.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:253 +msgid "Add a plugin by specifying the path to the zip file containing it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:255 +msgid "Remove a custom plugin by name. Has no effect on builtin plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:257 +msgid "" +"Customize plugin. Specify name of plugin and customization string separated " +"by a comma." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:259 +msgid "List all installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:261 +msgid "Enable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:263 +msgid "Disable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:158 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:196 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:224 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "Zaznava diska v pogonu %s ni mogoča. Poskusite s ponovnim zagonom." -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:409 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:412 msgid "The reader has no storage card connected." msgstr "Reader nima vstavljene spominske kartice." @@ -199,64 +373,7 @@ msgid "" "Extract the contents of the produced EPUB file to the specified directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:43 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:477 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 -#: /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 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 -#: /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:196 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:65 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:67 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:100 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:102 -#: /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:793 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 -#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:342 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:828 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:650 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 -#: /home/kovid/work/calibre/src/calibre/library/database.py:920 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1564 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:477 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:489 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:817 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 -msgid "Unknown" -msgstr "Neznano" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:154 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:156 msgid "" "%%prog [options] filename\n" "\n" @@ -264,11 +381,11 @@ msgid "" "formats are: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:100 msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:157 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:158 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -279,13 +396,13 @@ msgid "" "the element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:389 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:737 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:391 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:739 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:411 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1035 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:413 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1046 msgid "You must specify an input HTML file" msgstr "Izbrati morate vhodno HTML datoteko" @@ -304,24 +421,24 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:490 msgid "Written processed HTML to " msgstr "Obdelane HTML datoteke so zapisane v " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:820 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 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:827 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:838 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:829 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:840 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:831 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:842 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." @@ -329,11 +446,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:833 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:844 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:835 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:846 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" @@ -341,7 +458,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:837 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:848 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." @@ -350,49 +467,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:839 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:850 msgid "Set metadata of the generated ebook" msgstr "Nastavi meta podatke od generirane eknjige" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:841 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:852 msgid "Set the title. Default is to autodetect." msgstr "Nastavi naslov. Privzeto je samodejno zaznavanje." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:843 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:854 msgid "The author(s) of the ebook, as a comma separated list." msgstr "Avtor(ji) eknjige v, z vejicami ločenem, seznamu." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:845 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:856 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:847 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:858 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:849 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:860 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:851 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:862 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:853 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:864 msgid "Options useful for debugging" msgstr "Možnosti koristne za razhroščevanje" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:866 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:857 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:868 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:863 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:874 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -414,7 +531,7 @@ msgid "%prog [options] LITFILE" msgstr "%prog [options] LITFILE" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:852 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:444 msgid "Output directory. Defaults to current directory." msgstr "Izhodni direktorij. Privzet je trenutni direktorij." @@ -423,20 +540,20 @@ msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:723 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:724 msgid "Useful for debugging." msgstr "Koristno za razhroščevanje." #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:869 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:468 msgid "OEB ebook created in" msgstr "OEB eknjiga ustvarjena v" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:717 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:718 msgid "%prog [options] OPFFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:720 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:721 msgid "Output file. Default is derived from input filename." msgstr "" @@ -470,7 +587,7 @@ 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:275 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 msgid "Publisher" msgstr "Založnik" @@ -766,11 +883,11 @@ msgstr "" "računalnikov z MS Windows operacijskim sistemom je cp-1252. Druga pogosta " "kodna tabela je utf-8. Privzeto je ugibanje tipa kodne tabele." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:161 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:164 msgid "Converting from %s to LRF is not supported." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:171 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:175 msgid "" "any2lrf [options] myfile\n" "\n" @@ -788,70 +905,70 @@ msgstr "" "ZIP arhive in poiskal eknjige znotraj njih.\n" " " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:186 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:190 msgid "No file to convert specified." msgstr "Nobena datoteka ni določena za pretvorbo." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:221 msgid "Rendered %s" msgstr "Upodobljen %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:223 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 msgid "Failed %s" msgstr "Neuspešno %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:275 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:276 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:283 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "Možnosti za nadzor pretvorbe stripov (CBR, CBZ) v eknjige." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:289 msgid "Title for generated ebook. Default is to use the filename." msgstr "Naslov ustvarjene eknjige. Privzeta je uporaba imena datoteke." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" "Nastavi avtorja v meta podatkih ustvarjene eknjige. Privzeto je %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 msgid "" "Path to output file. By default a file is created in the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:296 msgid "Number of colors for grayscale image conversion. Default: %default" msgstr "Število barv za sivinsko pretvorbo slike. Privzeto: %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Onemogoči normalizacijo (izboljšaj kontrast) barvnega razpona za slike. " "Privzeto: False" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" "Obdrži razmerje slike. Privzeto je da se prilagodi velikosti zaslona." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 msgid "Disable sharpening." msgstr "Onemogoči ostrenje." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 msgid "Don't split landscape images into two portrait images" msgstr "Ne razdeli panoramskih slik v dve portretni" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -859,7 +976,7 @@ msgstr "" "Obdrži razmerje pri skaliranju slik in uporabi višino zaslona za širino " "slike pri pregledovanju v panoramskem načinu." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:307 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:308 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -867,13 +984,13 @@ msgstr "" "Uporablja se za izdaje, ki se berejo od desne proti levi tako kot manga. " "Panoramske slike se razdelijo v portretne strani od desne proti levi." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:310 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:312 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -881,35 +998,35 @@ msgstr "" "Ne razvrščaj datotek, ki se nahajajo v arhivu stripa po imenu. Upoštevaj " "vrstni red v katerem so bile dane v strip." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:314 msgid "" "Choose a profile for the device you are generating this file for. The " "default is the SONY PRS-500 with a screen size of 584x754 pixels. This is " "suitable for any reader with the same screen size. Choices are %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:316 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " "greater verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:318 msgid "Don't show progress bar." msgstr "Ne pokaži indikatorja napredka." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:322 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" "Convert a comic in a CBZ or CBR file to an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:382 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:383 msgid "Output written to" msgstr "Izhod se zapiše v" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:423 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:426 msgid "Rendering comic pages..." msgstr "Upodabljam strani stripa ..." @@ -958,56 +1075,56 @@ msgstr "Možnosti za nadzor obnašanja html2lrf" msgid "Fetching of recipe failed: " msgstr "Prenos recepta ni uspel: " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 msgid "\tBook Designer file detected." msgstr "\tBook Designer datoteka zaznana." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tParsing HTML..." msgstr "\tParsanje HTML ..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:340 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:343 msgid "\tBaen file detected. Re-parsing..." msgstr "\tBaen datoteka zaznana. Ponovno parsanje ..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:356 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:359 msgid "Written preprocessed HTML to " msgstr "Preprocesiran HTML zapisan v " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:377 msgid "Processing %s" msgstr "Procesiranje %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:388 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:391 msgid "\tConverting to BBeB..." msgstr "\tPretvarjanje v BBeB ..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:534 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:547 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:550 msgid "Could not parse file: %s" msgstr "Parsanje datoteke ni mogoče: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:542 msgid "%s is an empty file" msgstr "%s je prazna datoteka" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:559 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:562 msgid "Failed to parse link %s %s" msgstr "Neuspešno parsanje povezave %s %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:603 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:606 msgid "Cannot add link %s to TOC" msgstr "Dodajanje povezave %s v kazalo ni možno" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:958 msgid "Unable to process image %s. Error: %s" msgstr "Procesiranje slikovne datoteke %s ni možno. Napaka: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:996 msgid "Unable to process interlaced PNG %s" msgstr "Procesiranje interlaced PNG %s ni možno" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1008 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1011 msgid "" "Could not process image: %s\n" "%s" @@ -1015,13 +1132,13 @@ msgstr "" "Neuspešno procesiranje slike: %s\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1765 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "" "Prišlo je do napake pri obdelavi tabele: %s. Zgradba tabele se ignorira." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1767 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 msgid "" "Bad table:\n" "%s" @@ -1029,11 +1146,11 @@ msgstr "" "Slaba tabela:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1789 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 msgid "Table has cell that is too large" msgstr "Tabela vsebuje preveliko celico" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1819 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." @@ -1041,19 +1158,19 @@ msgstr "" "Spletno stran %s najprej shranite kot html datoteko nato pa na njej " "uporabite html2lrf." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 msgid "Could not read cover image: %s" msgstr "Branje slike naslovne strani ni mogoče: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 msgid "Cannot read from: %s" msgstr "Ne morem brati iz: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "Failed to process opf file" msgstr "Napaka pri obdelavi opf datoteke" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2009 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1296,17 +1413,17 @@ msgstr "Nastavi opombe" #: /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:91 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 msgid "Title" msgstr "Naslov" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:330 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:899 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:906 msgid "Author(s)" msgstr "Avtor(ji)" @@ -1325,24 +1442,24 @@ msgstr "Kategorija" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:391 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:527 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "Opombe" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:838 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:845 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Tags" msgstr "Značke" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Series" @@ -1475,11 +1592,11 @@ msgstr "Uporaba: pdf-meta datoteka.pdf" msgid "Usage: rb-meta file.rb" msgstr "Uporaba: rb-meta datoteka.rb" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:440 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 msgid "%prog [options] myebook.mobi" msgstr "%prog [options] mojaeknjiga.mobi" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:464 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 msgid "Raw MOBI HTML saved in" msgstr "Neobdelan MOBI HTML shranjen v" @@ -1487,84 +1604,84 @@ msgstr "Neobdelan MOBI HTML shranjen v" msgid "The output directory. Defaults to the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:26 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:424 msgid "Frequently used directories" msgstr "Pogosto rabljeni direktoriji" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:27 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:29 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:32 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:31 msgid "Confirm before deleting" msgstr "Potrdite pred brisanjem" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 msgid "Toolbar icon size" msgstr "Velikost ikon v orodni vrstici" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 msgid "Show button labels in the toolbar" msgstr "Prikaži tekstovne oznake v orodni vrstici" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 msgid "Main window geometry" msgstr "Geometrija glavnega okna" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 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:42 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Use Roman numerals for series number" msgstr "Uporabi rimska števila za številke serij" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Sort tags list by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 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:48 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" msgstr "Privzete nastavitve za pretvorbo v LRF" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Options for the LRF ebook viewer" msgstr "Možnosti za pregledovalnik LRF eknjig" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 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:57 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Delete books from library after uploading to device" msgstr "" @@ -1603,8 +1720,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:282 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:840 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "Pot" @@ -1613,7 +1730,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:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Formats" @@ -1628,6 +1745,7 @@ msgstr "Dialog" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:53 msgid "TextLabel" @@ -1703,76 +1821,128 @@ msgstr "De&speckle" msgid "&Wide" msgstr "&Široko" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 +msgid " plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:106 +msgid "by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Advanced" msgstr "Napredno" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "General" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 msgid "" "Content\n" "Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 +msgid "Plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:255 +msgid "No valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:256 +msgid "%s is not a valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +msgid "Choose plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:270 +msgid "Plugin cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:271 +msgid "The plugin: %s cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +msgid "Plugin not customizable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:282 +msgid "Plugin: %s does not need customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +msgid "Customize %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:295 +msgid "Cannot remove builtin plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:296 +msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:317 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:321 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:382 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:264 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:423 msgid "Invalid database location" msgstr "Napačna lokacija podatkovne baze" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "
                                                                                                  Must be a directory." msgstr "
                                                                                                  Mora biti direktorij." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "Invalid database location " msgstr "Napačna lokacija podatkovne baze " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 msgid "Invalid database location.
                                                                                                  Cannot write to " msgstr "Napačna lokacija podatkovne baze.
                                                                                                  Ne morem pisati v " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting database. This may take a while." msgstr "Krčenje podatkovne baze. To lahko traja nekaj časa." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting..." msgstr "Krčenje ..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:329 msgid "Configuration" msgstr "Konfiguracija" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:409 msgid "" "&Location of ebooks (The ebooks are stored in folders sorted by author and " "metadata is stored in the file metadata.db)" @@ -1780,15 +1950,16 @@ msgstr "" "&Lokacija eknjig (eKnjige so shranjene v datoteke sortirane po avtorjih, " "meta podatki pa v datoteki metadata.db)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:410 msgid "Browse for the new database location" msgstr "Prebrskaj za novo lokacijo podatkovne baze" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:358 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:374 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:386 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:426 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:373 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:509 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:282 @@ -1811,202 +1982,198 @@ msgstr "Prebrskaj za novo lokacijo podatkovne baze" msgid "..." msgstr "..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:412 msgid "Show notification when &new version is available" msgstr "Opozori me, ko je na voljo &nova verzija" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:360 -msgid "Ask for &confirmation before deleting files" -msgstr "Vprašaj za &potrditev pred brisanjem datotek." - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:413 msgid "" -"If you disable this setting, metadatas is guessed from the filename instead. " +"If you disable this setting, metadata is guessed from the filename instead. " "This can be configured in the Advanced section." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:414 msgid "Read &metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:415 msgid "Format for &single file save:" msgstr "Format za &shranjevanje enojne datoteke:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:416 msgid "Default network &timeout:" msgstr "Privzeti omrežni &timeout:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:417 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:418 msgid " seconds" msgstr " sekund" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:419 msgid "Choose &language (requires restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:420 msgid "Normal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:421 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:422 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:423 msgid "Job &priority:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:425 msgid "Add a directory to the frequently used directories list" msgstr "Dodaj direktorij k seznamu pogosto rabljenih direktorijev" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:427 msgid "Remove a directory from the frequently used directories list" msgstr "Odstrani direktorij iz seznama pogosto rabljenih direktorijev" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:429 msgid "Use &Roman numerals for series number" msgstr "Uporabi &rimska števila za številke serij" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:430 msgid "&Number of covers to show in browse mode (after restart):" msgstr "" "Število &naslovnic, ki se prikažejo v preletavanju naslovnic (po ponovnem " "zagonu):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:431 msgid "Toolbar" msgstr "Orodna vrstica" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 msgid "Large" msgstr "Veliko" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Medium" msgstr "Srednje" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 msgid "Small" msgstr "Majhno" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:435 msgid "&Button size in toolbar" msgstr "Velikost gum&ba orodne vrstice" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:436 msgid "Show &text in toolbar buttons" msgstr "Prikaži &tekst pri gumbih v orodni vrstici" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:437 msgid "Select visible &columns in library view" msgstr "Izberi vidne stolp&ce v knjižničnem pogledu" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:440 msgid "Use internal &viewer for the following formats:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:441 msgid "Enable system &tray icon (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:442 msgid "Automatically send downloaded &news to ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:443 msgid "&Delete news from library when it is sent to reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:444 msgid "Free unused diskspace from the database" msgstr "Sprosti neuporabljen prostor iz baze podatkov" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:445 msgid "&Compact database" msgstr "&Skrči podatkovno bazo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:446 msgid "&Metadata from file name" msgstr "&Meta podatki iz imena datoteke" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:447 msgid "" "calibre contains a network server that allows you to access your book " "collection using a browser from anywhere in the world. Any changes to the " "settings will only take effect after a server restart." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:448 msgid "Server &port:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:146 msgid "&Username:" msgstr "&Uporabniško ime:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:147 msgid "&Password:" msgstr "&Geslo:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:451 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:452 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:148 msgid "&Show password" msgstr "&Prikaži geslo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:453 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:454 msgid "Max. &cover size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:455 msgid "&Start Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:456 msgid "St&op Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:457 msgid "&Test Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:458 msgid "Run server &automatically on startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:459 msgid "View &server logs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 msgid "" "If you want to use the content server to access your ebook collection on " "your iphone with Stanza, you will need to add the URL " @@ -2015,6 +2182,44 @@ msgid "" "address of this computer." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 +msgid "" +"Here you can customize the behavior of Calibre by controlling what plugins " +"it uses." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:462 +msgid "Enable/&Disable plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 +msgid "&Customize plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:464 +msgid "&Remove plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:465 +msgid "Add new plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:466 +msgid "Plugin &file:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:468 +msgid "&Add" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +msgid "Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +msgid "&Show this warning again" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:41 msgid "ERROR" msgstr "NAPAKA" @@ -2032,7 +2237,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:296 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 msgid "Metadata" msgstr "Meta podatki" @@ -2086,25 +2291,25 @@ msgstr "Izberi naslovnico za " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 msgid "Cannot read" msgstr "Ne morem prebrati" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:52 msgid "You do not have permission to read the file: " msgstr "Nimate pravic za branje datoteke: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 msgid "Error reading file" msgstr "Napaka pri branju zbirke" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:184 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:61 msgid "

                                                                                                  There was an error reading from file:
                                                                                                  " msgstr "

                                                                                                  Prišlo je do napake pri branju iz zbirke:
                                                                                                  " @@ -2114,7 +2319,7 @@ msgid " is not a valid picture" msgstr " ni veljavna slika" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "Cannot convert" msgstr "Pretvorba ni možna" @@ -2751,7 +2956,7 @@ msgstr "" msgid "A&utomatically set author sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:262 msgid "" "

                                                                                                  Enter your username and password for LibraryThing.com.
                                                                                                  If you " "do not have one, you can register " @@ -2761,19 +2966,19 @@ msgstr "" "gesla še nimate se lahko registrirate zastonj!

                                                                                                  " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover.
                                                                                                  " msgstr "Prenos naslovnice ni uspel.
                                                                                                  " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover" msgstr "Prenos naslovnice ni uspel" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "Cannot fetch cover" msgstr "Prenos naslovnice ni možen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "You must specify the ISBN identifier for this book." msgstr "Določiti morate ISBN oznako te knjige." @@ -2880,9 +3085,9 @@ msgstr "Dodaj vir novic po meri" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:335 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:761 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:765 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1064 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:752 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:756 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1055 msgid "News" msgstr "" @@ -3360,52 +3565,62 @@ msgstr "Čakam" msgid "Working" msgstr "Delam" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:162 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:166 +#: /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 "Prekinitev posla ni mogoča" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 msgid "Cannot kill jobs that communicate with the device" msgstr "Ne morem prekiniti poslov, ki komunicirajo z napravo" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:177 msgid "Job has already run" msgstr "Posel je že bil pognan" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:907 msgid "Size (MB)" msgstr "Velikost (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:908 msgid "Date" msgstr "Datum" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 msgid "Rating" msgstr "Ocena" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:274 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 msgid "None" msgstr "Nič" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 msgid "Book %s of %s." msgstr "Knjiga %s od %s." -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:675 +msgid "Not allowed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:676 +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:839 msgid "Format" msgstr "Format" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:844 msgid "Timestamp" msgstr "Časovna znamka" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:942 msgid "Search (For Advanced Search click the button to the left)" msgstr "Najdi (Za Napredno Iskanje pritisnite gumb na levi)" @@ -3434,7 +3649,7 @@ msgid "No matches for the search phrase %s were found." msgstr "Ni zadetkov za iskalni niz %s." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:377 msgid "No matches found" msgstr "Nič zadetkov najdenih" @@ -3459,12 +3674,12 @@ msgid "Previous Page" msgstr "Prejšnja Stran" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 msgid "Back" msgstr "Nazaj" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 msgid "Forward" msgstr "Naprej" @@ -3473,7 +3688,7 @@ msgid "Next match" msgstr "Naslednji zadetek" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:162 msgid "Open ebook" msgstr "Odpri eknjigo" @@ -3481,27 +3696,27 @@ msgstr "Odpri eknjigo" msgid "Configure" msgstr "Nastavi" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88 msgid "Error communicating with device" msgstr "Napaka pri komuniciranju z napravo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Donate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Quit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:104 msgid "&Restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:148 msgid "" "

                                                                                                  For help visit %s.kovidgoyal.net
                                                                                                  " @@ -3509,130 +3724,126 @@ msgstr "" "

                                                                                                  Za pomoč obiščite %s.kovidgoyal.net
                                                                                                  " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:149 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:165 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Send to main memory" msgstr "Pošlji v glavni pomnilnik" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "Send to storage card" msgstr "Pošlji v spominsko kartico" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "and delete from library" msgstr "in izbriši iz knjižnice" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 msgid "Send to storage card by default" msgstr "Privzeto pošlji v spominsko kartico" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 msgid "Edit metadata individually" msgstr "Posamično urejanje meta podatkov" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:187 msgid "Edit metadata in bulk" msgstr "Paketno urejanje meta podatkov" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 msgid "Add books from a single directory" msgstr "Dodaj knjige iz enega direktorija" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:191 msgid "" -"Add books recursively (One book per directory, assumes every ebook file is " -"the same book in a different format)" +"Add books from directories, including sub-directories (One book per " +"directory, assumes every ebook file is the same book in a different format)" msgstr "" -"Dodaj knjige rekurzivno (Ena knjiga na direktorij, privzame da je vsaka " -"datoteka ista eknjiga v različnih formatih)" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 msgid "" -"Add books recursively (Multiple books per directory, assumes every ebook " -"file is a different book)" +"Add books from directories, including sub directories (Multiple books per " +"directory, assumes every ebook file is a different book)" msgstr "" -"Dodaj knjige rekurzivno (Več knjig na direktorij, privzame da je vsaka " -"datoteka različna knjiga)" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:342 msgid "Save to disk" msgstr "Shrani na disk" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 msgid "Save to disk in a single directory" msgstr "Shrani na disk v en direktorij" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Save only %s format to disk" msgstr "Shrani samo %s format na disk" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:348 msgid "View" msgstr "Poglej" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:213 msgid "View specific format" msgstr "Poglej specifičen format" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:230 msgid "Convert individually" msgstr "Posamična pretvorba" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 msgid "Bulk convert" msgstr "Paketna pretvorba" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:233 msgid "Set defaults for conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:234 msgid "Set defaults for conversion of comics" msgstr "Nastavi privzete možnosti za pretvorbo stripov" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:255 msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 msgid "Bad database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1333 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1356 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:313 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:315 msgid "Migrating database" msgstr "Selitev podatkovne baze" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:487 msgid "Device: " msgstr "Naprava: " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:488 msgid " detected." msgstr " zaznan." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:510 msgid "Connected " msgstr "Povezan " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:521 msgid "Device database corrupted" msgstr "Podatkovna baza poškodovana" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:522 msgid "" "\n" "

                                                                                                  The database of books on the reader is corrupted. Try the " @@ -3662,111 +3873,143 @@ msgstr "" " \n" " " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:572 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:668 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +msgid "Stop" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:574 +msgid "Adding books recursively..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Added " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Searching..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:695 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:575 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:698 msgid "Duplicates found!" msgstr "Duplikati najdeni!" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:649 msgid "Uploading books to device." msgstr "Prenašanje knjig na napravo." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:633 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:634 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:635 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:636 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:620 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:637 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:638 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:639 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:640 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:641 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:642 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:661 +msgid "Reading metadata..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:659 +msgid "Adding books..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:685 +msgid "Read metadata from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:688 +msgid "Adding books to database..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:730 msgid "No space on device" msgstr "Na napravi ni več prostora" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:731 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:736 -msgid "Confirm delete" -msgstr "Potrdite brisanje" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:763 +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:737 -msgid "Are you sure you want to delete these %d books?" -msgstr "Ali ste prepričani da želite izbrisati teh %d knjig?" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 msgid "Deleting books from device." msgstr "Izbriši knjige iz naprave." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 msgid "Cannot edit metadata" msgstr "Spreminjanje meta podatkov ni mogoče" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "No books selected" msgstr "Nobena od knjig ni izbrana." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:848 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:871 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:923 msgid "Sending books to device." msgstr "Pošlji knjige v napravo." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:926 msgid "No suitable formats" msgstr "Ni ustreznih formatov" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:927 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found:

                                                                                                        %s
                                                                                                      " @@ -3774,15 +4017,15 @@ msgstr "" "Prenos sledečih knjig ni uspel, ker ni bil najden potreben " "format:
                                                                                                        %s
                                                                                                      " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 msgid "Cannot save to disk" msgstr "Ne morem shraniti na disk" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:947 msgid "Choose destination directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:931 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:954 msgid "" "

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

                                                                                                        " @@ -3790,64 +4033,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:935 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:958 msgid "Could not save some ebooks" msgstr "Nekaterih knjig ni bilo mogoče shraniti" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:955 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:978 msgid "Fetching news from " msgstr "Prenašam novice iz " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:992 msgid " fetched." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 msgid "No book selected" msgstr "Nobena od knjig ni izbrana" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 msgid "Cannot view" msgstr "Pogled ni možen" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1134 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1112 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1157 msgid "Choose the format to view" msgstr "Izberite format, ki ga želite videti" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1130 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1153 msgid "%s has no available formats." msgstr "%s nima razpoložljivih formatov." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure" msgstr "Nemogoča konfiguracija" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 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:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1210 msgid "Copying database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212 msgid "Copying library to " msgstr "Kopiram knjižnico v " -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1222 msgid "Invalid database" msgstr "Neustrezna podatkovna baza" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1223 msgid "" "

                                                                                                          An invalid database already exists at %s, delete it before trying to move " "the existing database.
                                                                                                          Error: %s" @@ -3855,23 +4098,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:1206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1229 msgid "Could not move database" msgstr "Premik podatkovne baze ni bil mogoč" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1226 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1249 msgid "No detailed info available" msgstr "Podrobne informacije niso na voljo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1227 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1250 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:1270 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1293 msgid "Error talking to device" msgstr "Napaka pri pogovoru z napravo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1294 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -3879,23 +4122,23 @@ 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:1284 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1299 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1307 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1326 msgid "Conversion Error" msgstr "Pretvorna Napaka" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 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:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1342 msgid "Database does not exist" msgstr "Podatkovna baza ne obstaja" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1320 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1343 msgid "" "The directory in which the database should be: %s no longer exists. Please " "choose a new database location." @@ -3903,38 +4146,38 @@ msgstr "" "Direktorij v katerem naj bi bila podatkovna baza: %s ne obstaja več. Prosim " "izberite novo lokacijo." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1345 msgid "Choose new location for database" msgstr "Izberite novo lokacijo za podatkovno bazo" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1375 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 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:1396 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1419 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1421 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:1402 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1425 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 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:1444 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1467 msgid "" "Latest version: %s" @@ -3942,7 +4185,7 @@ msgstr "" "Zadnja verzija: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "" "%s has been updated to version %s. See the new features. " @@ -3952,15 +4195,15 @@ msgstr "" "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">seznam " "posodobitev. Prikažem domačo stran?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "Update available" msgstr "Navoljo je posodobitev" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1464 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1487 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1489 msgid "Log debugging information to console" msgstr "" @@ -4274,7 +4517,7 @@ msgid "The standard font type" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:47 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 msgid "Table of Contents" msgstr "" @@ -4298,109 +4541,113 @@ msgstr "" msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:338 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:339 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:378 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:445 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:497 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "

                                                                                                          This book is protected by DRM" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:507 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:508 msgid "%s

                                                                                                          %s

                                                                                                          " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:577 msgid "" "%prog [options] file\n" "\n" "View an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 msgid "Ebook Viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 msgid "toolBar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 msgid "Next page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 msgid "Previous page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 msgid "Font size larger" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 msgid "Font size smaller" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:163 msgid "Find next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:164 msgid "Copy to clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:165 msgid "Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:166 msgid "Reference Mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:167 msgid "Bookmark" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168 +msgid "Toggle full screen" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:47 msgid "Invalid regular expression" msgstr "Neveljaven regularni izraz" @@ -4759,20 +5006,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1146 msgid "

                                                                                                          Copying books to %s

                                                                                                          " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1157 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1266 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1159 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1268 msgid "Copying %s" msgstr "Kopiram %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1237 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 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:1283 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1285 msgid "Compacting database" msgstr "Krčim bazo" @@ -4795,47 +5042,47 @@ msgstr "Zagon delovnega procesa ni uspel." msgid "Job stopped by user" msgstr "Posel ustavljen s strani uporabnika" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:39 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:41 msgid "%sUsage%s: %s\n" msgstr "%sUporaba%s: %s\n" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:77 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:79 msgid "Created by " msgstr "Ustvaril " -#: /home/kovid/work/calibre/src/calibre/utils/config.py:524 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:527 msgid "Path to the database in which books are stored" msgstr "Pot do baze v kateri so shranjene knjige" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:526 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:529 msgid "Pattern to guess metadata from filenames" msgstr "Vzorec za ugotavljanje meta podatkov iz datotek" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:528 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:531 msgid "Access key for isbndb.com" msgstr "Vstopni ključ za isbndb.com" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:530 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:533 msgid "Default timeout for network operations (seconds)" msgstr "Privzet čas neaktivnosti za omrežne operacije (sekunde)" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:532 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:535 msgid "Path to directory in which your library of books is stored" msgstr "Pot do direktorija v katerem so shranjene vaše eknjige" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:534 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:537 msgid "The language in which to display the user interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:536 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:539 msgid "The default output format for ebook conversions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:538 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:541 msgid "Read metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:540 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:543 msgid "The priority of worker processes" msgstr "" @@ -5196,6 +5443,20 @@ msgstr "Podrobneje prikaži izhodne informacije. Koristno za razhroščevanje." #~ msgid "Double click to edit me

                                                                                                          " #~ msgstr "Dvoklikni me da me urediš

                                                                                                          " +#~ msgid "" +#~ "Add books recursively (One book per directory, assumes every ebook file is " +#~ "the same book in a different format)" +#~ msgstr "" +#~ "Dodaj knjige rekurzivno (Ena knjiga na direktorij, privzame da je vsaka " +#~ "datoteka ista eknjiga v različnih formatih)" + +#~ msgid "" +#~ "Add books recursively (Multiple books per directory, assumes every ebook " +#~ "file is a different book)" +#~ msgstr "" +#~ "Dodaj knjige rekurzivno (Več knjig na direktorij, privzame da je vsaka " +#~ "datoteka različna knjiga)" + #~ msgid "News fetched. Uploading to device." #~ msgstr "Novice prenešene. Pošiljam napravi." @@ -5254,6 +5515,15 @@ msgstr "Podrobneje prikaži izhodne informacije. Koristno za razhroščevanje." #~ "Izberite profil za napravo za katero generirate to LRF datoteko. Privzeta je " #~ "SONY PRS-500 z velikostjo zaslona 584x754 pikslov. Na izbiro imate %s" +#~ msgid "Ask for &confirmation before deleting files" +#~ msgstr "Vprašaj za &potrditev pred brisanjem datotek." + +#~ msgid "Confirm delete" +#~ msgstr "Potrdite brisanje" + +#~ msgid "Are you sure you want to delete these %d books?" +#~ msgstr "Ali ste prepričani da želite izbrisati teh %d knjig?" + #~ msgid "" #~ "%prog [options] comic.cb[z|r]\n" #~ "\n" diff --git a/src/calibre/translations/sv.po b/src/calibre/translations/sv.po index 7f38fc3ad2..c94aa8e5f7 100644 --- a/src/calibre/translations/sv.po +++ b/src/calibre/translations/sv.po @@ -7,24 +7,198 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2008-12-18 01:36+0000\n" +"POT-Creation-Date: 2008-12-30 15:33+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: 2008-12-23 17:56+0000\n" +"X-Launchpad-Export-Date: 2009-01-04 04:32+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:137 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:155 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:193 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 +msgid "Does absolutely nothing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:478 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:961 +#: /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 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 +#: /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:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 +#: /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:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:78 +#: /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:793 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:835 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:915 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 +#: /home/kovid/work/calibre/src/calibre/library/database.py:920 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1580 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:461 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:808 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:841 +msgid "Unknown" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:62 +msgid "Base" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 +msgid "File type" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:182 +msgid "Metadata reader" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:209 +msgid "Metadata writer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:12 +msgid "" +"Follow all local links in an HTML file and create a ZIP file containing all " +"linked files. This plugin is run every time you add an HTML file to the " +"library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:32 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:42 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:53 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:63 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:73 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:83 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:105 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:135 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:145 +msgid "Read metadata from %s files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:155 +msgid "Extract cover from comic files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:175 +msgid "Set metadata in EPUB files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:185 +msgid "Set metadata in LRF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:195 +msgid "Set metadata in RTF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:28 +msgid "Installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:29 +msgid "Mapping for filetype plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 +msgid "Local plugin customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 +msgid "Disabled plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:66 +msgid "No valid plugin found in " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:170 +msgid "Initialization of plugin %s failed with traceback:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:247 +msgid "" +" %prog options\n" +" \n" +" Customize calibre by loading external plugins.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:253 +msgid "Add a plugin by specifying the path to the zip file containing it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:255 +msgid "Remove a custom plugin by name. Has no effect on builtin plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:257 +msgid "" +"Customize plugin. Specify name of plugin and customization string separated " +"by a comma." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:259 +msgid "List all installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:261 +msgid "Enable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:263 +msgid "Disable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:158 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:196 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:224 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:409 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:412 msgid "The reader has no storage card connected." msgstr "Läsaren har inga minneskort inkopplade." @@ -198,64 +372,7 @@ msgid "" "Extract the contents of the produced EPUB file to the specified directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:43 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:477 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 -#: /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 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 -#: /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:196 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:65 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:67 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:100 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:102 -#: /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:793 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 -#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:342 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:828 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:650 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 -#: /home/kovid/work/calibre/src/calibre/library/database.py:920 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1564 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:477 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:489 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:817 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 -msgid "Unknown" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:154 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:156 msgid "" "%%prog [options] filename\n" "\n" @@ -263,11 +380,11 @@ msgid "" "formats are: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:100 msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:157 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:158 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -278,13 +395,13 @@ msgid "" "the element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:389 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:737 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:391 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:739 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:411 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1035 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:413 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1046 msgid "You must specify an input HTML file" msgstr "" @@ -303,87 +420,87 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:490 msgid "Written processed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:820 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:827 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:838 msgid "The output directory. Default is the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:829 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:840 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:842 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:833 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:844 msgid "Control the following of links in HTML files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:835 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:846 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:837 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:848 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:839 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:850 msgid "Set metadata of the generated ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:841 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:852 msgid "Set the title. Default is to autodetect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:843 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:854 msgid "The author(s) of the ebook, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:845 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:856 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:847 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:858 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:849 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:860 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:851 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:862 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:853 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:864 msgid "Options useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:866 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:857 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:868 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:863 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:874 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -405,7 +522,7 @@ msgid "%prog [options] LITFILE" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:852 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:444 msgid "Output directory. Defaults to current directory." msgstr "" @@ -414,20 +531,20 @@ msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:723 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:724 msgid "Useful for debugging." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:869 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:468 msgid "OEB ebook created in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:717 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:718 msgid "%prog [options] OPFFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:720 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:721 msgid "Output file. Default is derived from input filename." msgstr "" @@ -460,7 +577,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:275 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 msgid "Publisher" msgstr "" @@ -701,11 +818,11 @@ msgid "" "default is to try and guess the encoding." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:161 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:164 msgid "Converting from %s to LRF is not supported." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:171 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:175 msgid "" "any2lrf [options] myfile\n" "\n" @@ -716,118 +833,118 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:186 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:190 msgid "No file to convert specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:221 msgid "Rendered %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:223 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 msgid "Failed %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:275 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:276 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:283 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:289 msgid "Title for generated ebook. Default is to use the filename." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 msgid "" "Path to output file. By default a file is created in the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:296 msgid "Number of colors for grayscale image conversion. Default: %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:307 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:308 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:310 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:312 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:314 msgid "" "Choose a profile for the device you are generating this file for. The " "default is the SONY PRS-500 with a screen size of 584x754 pixels. This is " "suitable for any reader with the same screen size. Choices are %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:316 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " "greater verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:318 msgid "Don't show progress bar." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:322 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" "Convert a comic in a CBZ or CBR file to an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:382 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:383 msgid "Output written to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:423 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:426 msgid "Rendering comic pages..." msgstr "" @@ -868,95 +985,95 @@ msgstr "" msgid "Fetching of recipe failed: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 msgid "\tBook Designer file detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tParsing HTML..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:340 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:343 msgid "\tBaen file detected. Re-parsing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:356 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:359 msgid "Written preprocessed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:377 msgid "Processing %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:388 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:391 msgid "\tConverting to BBeB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:534 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:547 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:550 msgid "Could not parse file: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:542 msgid "%s is an empty file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:559 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:562 msgid "Failed to parse link %s %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:603 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:606 msgid "Cannot add link %s to TOC" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:958 msgid "Unable to process image %s. Error: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:996 msgid "Unable to process interlaced PNG %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1008 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1011 msgid "" "Could not process image: %s\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1765 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1767 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 msgid "" "Bad table:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1789 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 msgid "Table has cell that is too large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1819 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 msgid "Could not read cover image: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 msgid "Cannot read from: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "Failed to process opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2009 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1155,17 +1272,17 @@ msgstr "" #: /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:91 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 msgid "Title" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:330 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:899 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:906 msgid "Author(s)" msgstr "" @@ -1184,24 +1301,24 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:391 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:527 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:838 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:845 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Series" @@ -1318,11 +1435,11 @@ msgstr "" msgid "Usage: rb-meta file.rb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:440 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:464 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 msgid "Raw MOBI HTML saved in" msgstr "" @@ -1330,84 +1447,84 @@ msgstr "" msgid "The output directory. Defaults to the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:26 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:424 msgid "Frequently used directories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:27 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:29 msgid "The format to use when saving single files to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:31 msgid "Confirm before deleting" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 msgid "Toolbar icon size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 msgid "Show button labels in the toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 msgid "Main window geometry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 msgid "Notify when a new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Use Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Sort tags list by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Number of covers to show in the cover browsing mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Options for the LRF ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 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:57 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Delete books from library after uploading to device" msgstr "" @@ -1446,8 +1563,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:282 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:840 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "" @@ -1456,7 +1573,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:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Formats" @@ -1471,6 +1588,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:53 msgid "TextLabel" @@ -1546,90 +1664,143 @@ msgstr "" msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 +msgid " plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:106 +msgid "by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "General" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 msgid "" "Content\n" "Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 +msgid "Plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:255 +msgid "No valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:256 +msgid "%s is not a valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +msgid "Choose plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:270 +msgid "Plugin cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:271 +msgid "The plugin: %s cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +msgid "Plugin not customizable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:282 +msgid "Plugin: %s does not need customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +msgid "Customize %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:295 +msgid "Cannot remove builtin plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:296 +msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:317 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:321 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:382 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:264 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:423 msgid "Invalid database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "
                                                                                                          Must be a directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "Invalid database location " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 msgid "Invalid database location.
                                                                                                          Cannot write to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting database. This may take a while." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:329 msgid "Configuration" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:409 msgid "" "&Location of ebooks (The ebooks are stored in folders sorted by author and " "metadata is stored in the file metadata.db)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:410 msgid "Browse for the new database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:358 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:374 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:386 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:426 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:373 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:509 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:282 @@ -1652,200 +1823,196 @@ msgstr "" msgid "..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:412 msgid "Show notification when &new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:360 -msgid "Ask for &confirmation before deleting files" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:413 msgid "" -"If you disable this setting, metadatas is guessed from the filename instead. " +"If you disable this setting, metadata is guessed from the filename instead. " "This can be configured in the Advanced section." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:414 msgid "Read &metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:415 msgid "Format for &single file save:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:416 msgid "Default network &timeout:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:417 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:418 msgid " seconds" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:419 msgid "Choose &language (requires restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:420 msgid "Normal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:421 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:422 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:423 msgid "Job &priority:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:425 msgid "Add a directory to the frequently used directories list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:427 msgid "Remove a directory from the frequently used directories list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:429 msgid "Use &Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:430 msgid "&Number of covers to show in browse mode (after restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:431 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 msgid "Large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Medium" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:435 msgid "&Button size in toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:436 msgid "Show &text in toolbar buttons" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:437 msgid "Select visible &columns in library view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:440 msgid "Use internal &viewer for the following formats:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:441 msgid "Enable system &tray icon (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:442 msgid "Automatically send downloaded &news to ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:443 msgid "&Delete news from library when it is sent to reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:444 msgid "Free unused diskspace from the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:445 msgid "&Compact database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:446 msgid "&Metadata from file name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:447 msgid "" "calibre contains a network server that allows you to access your book " "collection using a browser from anywhere in the world. Any changes to the " "settings will only take effect after a server restart." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:448 msgid "Server &port:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:146 msgid "&Username:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:147 msgid "&Password:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:451 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:452 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:148 msgid "&Show password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:453 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:454 msgid "Max. &cover size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:455 msgid "&Start Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:456 msgid "St&op Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:457 msgid "&Test Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:458 msgid "Run server &automatically on startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:459 msgid "View &server logs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 msgid "" "If you want to use the content server to access your ebook collection on " "your iphone with Stanza, you will need to add the URL " @@ -1854,6 +2021,44 @@ msgid "" "address of this computer." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 +msgid "" +"Here you can customize the behavior of Calibre by controlling what plugins " +"it uses." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:462 +msgid "Enable/&Disable plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 +msgid "&Customize plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:464 +msgid "&Remove plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:465 +msgid "Add new plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:466 +msgid "Plugin &file:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:468 +msgid "&Add" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +msgid "Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +msgid "&Show this warning again" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:41 msgid "ERROR" msgstr "" @@ -1871,7 +2076,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:296 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 msgid "Metadata" msgstr "" @@ -1925,25 +2130,25 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 msgid "Cannot read" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:52 msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 msgid "Error reading file" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:184 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:61 msgid "

                                                                                                          There was an error reading from file:
                                                                                                          " msgstr "" @@ -1953,7 +2158,7 @@ msgid " is not a valid picture" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "Cannot convert" msgstr "" @@ -2573,26 +2778,26 @@ msgstr "" msgid "A&utomatically set author sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:262 msgid "" "

                                                                                                          Enter your username and password for LibraryThing.com.
                                                                                                          If you " "do not have one, you can register " "for free!.

                                                                                                          " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover.
                                                                                                          " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "You must specify the ISBN identifier for this book." msgstr "" @@ -2698,9 +2903,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:335 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:761 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:765 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1064 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:752 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:756 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1055 msgid "News" msgstr "" @@ -3169,52 +3374,62 @@ msgstr "" msgid "Working" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:162 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:166 +#: /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 "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 msgid "Cannot kill jobs that communicate with the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:167 +#: /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:93 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:907 msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:908 msgid "Date" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 msgid "Rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:274 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 msgid "None" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 msgid "Book %s of %s." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:675 +msgid "Not allowed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:676 +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:839 msgid "Format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:844 msgid "Timestamp" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:942 msgid "Search (For Advanced Search click the button to the left)" msgstr "" @@ -3243,7 +3458,7 @@ msgid "No matches for the search phrase %s were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:377 msgid "No matches found" msgstr "" @@ -3268,12 +3483,12 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 msgid "Back" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 msgid "Forward" msgstr "" @@ -3282,7 +3497,7 @@ msgid "Next match" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:162 msgid "Open ebook" msgstr "" @@ -3290,152 +3505,152 @@ msgstr "" msgid "Configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88 msgid "Error communicating with device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Donate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Quit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:104 msgid "&Restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:148 msgid "" "

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

                                                                                                          " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Send to main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "Send to storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 msgid "Send to storage card by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 msgid "Edit metadata individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:187 msgid "Edit metadata in bulk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 msgid "Add books from a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:191 msgid "" -"Add books recursively (One book per directory, assumes every ebook file is " -"the same book in a different format)" +"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:190 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 msgid "" -"Add books recursively (Multiple books per directory, assumes every ebook " -"file is a different book)" +"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:205 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:342 msgid "Save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 msgid "Save to disk in a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Save only %s format to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:348 msgid "View" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:213 msgid "View specific format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:230 msgid "Convert individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 msgid "Bulk convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:233 msgid "Set defaults for conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:234 msgid "Set defaults for conversion of comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:255 msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 msgid "Bad database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1333 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1356 msgid "Choose a location for your ebook library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:315 msgid "Migrating database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:487 msgid "Device: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:488 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:510 msgid "Connected " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:521 msgid "Device database corrupted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:522 msgid "" "\n" "

                                                                                                          The database of books on the reader is corrupted. Try the " @@ -3451,288 +3666,320 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:572 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:668 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +msgid "Stop" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:574 +msgid "Adding books recursively..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Added " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Searching..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:695 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:575 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:698 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:649 msgid "Uploading books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:633 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:634 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:635 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:636 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:620 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:637 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:638 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:639 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:640 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:641 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:642 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:661 +msgid "Reading metadata..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:659 +msgid "Adding books..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:685 +msgid "Read metadata from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:688 +msgid "Adding books to database..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:730 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:731 msgid "" "

                                                                                                            Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:736 -msgid "Confirm delete" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:763 +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:737 -msgid "Are you sure you want to delete these %d books?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 msgid "Cannot edit metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "No books selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:848 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:871 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:923 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:926 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:927 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:920 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 msgid "Cannot save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:947 msgid "Choose destination directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:931 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:954 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:935 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:958 msgid "Could not save some ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:955 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:978 msgid "Fetching news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:992 msgid " fetched." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 msgid "No book selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 msgid "Cannot view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1134 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1112 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1157 msgid "Choose the format to view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1130 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1153 msgid "%s has no available formats." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure while there are running jobs." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1210 msgid "Copying database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212 msgid "Copying library to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1222 msgid "Invalid database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1223 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:1206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1229 msgid "Could not move database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1226 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1249 msgid "No detailed info available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1227 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1250 msgid "No detailed information is available for books on the device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1270 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1293 msgid "Error talking to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1294 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:1284 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1299 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1307 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1326 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 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:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1342 msgid "Database does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1320 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1343 msgid "" "The directory in which the database should be: %s no longer exists. Please " "choose a new database location." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1345 msgid "Choose new location for database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1375 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 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:1396 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1419 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1421 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:1402 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1425 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 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:1444 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1467 msgid "" "Latest version: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 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:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1464 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1487 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1489 msgid "Log debugging information to console" msgstr "" @@ -4036,7 +4283,7 @@ msgid "The standard font type" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:47 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 msgid "Table of Contents" msgstr "" @@ -4060,109 +4307,113 @@ msgstr "" msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:338 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:339 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:378 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:445 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:497 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "

                                                                                                              This book is protected by DRM" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:507 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:508 msgid "%s

                                                                                                              %s

                                                                                                              " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:577 msgid "" "%prog [options] file\n" "\n" "View an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 msgid "Ebook Viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 msgid "toolBar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 msgid "Next page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 msgid "Previous page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 msgid "Font size larger" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 msgid "Font size smaller" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:163 msgid "Find next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:164 msgid "Copy to clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:165 msgid "Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:166 msgid "Reference Mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:167 msgid "Bookmark" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168 +msgid "Toggle full screen" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:47 msgid "Invalid regular expression" msgstr "" @@ -4459,20 +4710,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1146 msgid "

                                                                                                              Copying books to %s

                                                                                                              " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1157 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1266 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1159 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1268 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1237 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "

                                                                                                              Migrating old database to ebook library in %s

                                                                                                              " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1285 msgid "Compacting database" msgstr "" @@ -4495,47 +4746,47 @@ msgstr "" msgid "Job stopped by user" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:39 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:41 msgid "%sUsage%s: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:77 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:79 msgid "Created by " msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:524 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:527 msgid "Path to the database in which books are stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:526 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:529 msgid "Pattern to guess metadata from filenames" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:528 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:531 msgid "Access key for isbndb.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:530 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:533 msgid "Default timeout for network operations (seconds)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:532 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:535 msgid "Path to directory in which your library of books is stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:534 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:537 msgid "The language in which to display the user interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:536 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:539 msgid "The default output format for ebook conversions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:538 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:541 msgid "Read metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:540 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:543 msgid "The priority of worker processes" msgstr "" diff --git a/src/calibre/translations/te.po b/src/calibre/translations/te.po index 2ca4182fdb..6f52206fc6 100644 --- a/src/calibre/translations/te.po +++ b/src/calibre/translations/te.po @@ -7,24 +7,198 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2008-12-18 01:36+0000\n" +"POT-Creation-Date: 2008-12-30 15:33+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: 2008-12-23 17:56+0000\n" +"X-Launchpad-Export-Date: 2009-01-04 04:32+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:137 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:155 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:193 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 +msgid "Does absolutely nothing" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:478 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:961 +#: /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 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 +#: /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:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 +#: /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:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:78 +#: /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:793 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:835 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:915 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 +#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 +#: /home/kovid/work/calibre/src/calibre/library/database.py:920 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 +#: /home/kovid/work/calibre/src/calibre/library/database.py:1580 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:461 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:808 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:841 +msgid "Unknown" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:62 +msgid "Base" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 +msgid "File type" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:182 +msgid "Metadata reader" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:209 +msgid "Metadata writer" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:12 +msgid "" +"Follow all local links in an HTML file and create a ZIP file containing all " +"linked files. This plugin is run every time you add an HTML file to the " +"library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:32 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:42 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:53 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:63 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:73 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:83 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:105 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:115 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:135 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:145 +msgid "Read metadata from %s files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:155 +msgid "Extract cover from comic files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:175 +msgid "Set metadata in EPUB files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:185 +msgid "Set metadata in LRF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:195 +msgid "Set metadata in RTF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:28 +msgid "Installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:29 +msgid "Mapping for filetype plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 +msgid "Local plugin customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 +msgid "Disabled plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:66 +msgid "No valid plugin found in " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:170 +msgid "Initialization of plugin %s failed with traceback:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:247 +msgid "" +" %prog options\n" +" \n" +" Customize calibre by loading external plugins.\n" +" " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:253 +msgid "Add a plugin by specifying the path to the zip file containing it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:255 +msgid "Remove a custom plugin by name. Has no effect on builtin plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:257 +msgid "" +"Customize plugin. Specify name of plugin and customization string separated " +"by a comma." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:259 +msgid "List all installed plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:261 +msgid "Enable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:263 +msgid "Disable the named plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:158 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:196 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:224 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:409 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:412 msgid "The reader has no storage card connected." msgstr "" @@ -198,64 +372,7 @@ msgid "" "Extract the contents of the produced EPUB file to the specified directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:43 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:477 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 -#: /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 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:86 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:61 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:95 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:97 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:99 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:101 -#: /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:196 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:226 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:65 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:67 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:100 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:102 -#: /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:793 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:12 -#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:159 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:365 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:328 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:342 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:828 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:650 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:892 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:52 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:112 -#: /home/kovid/work/calibre/src/calibre/library/cli.py:245 -#: /home/kovid/work/calibre/src/calibre/library/database.py:920 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1392 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1423 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1452 -#: /home/kovid/work/calibre/src/calibre/library/database.py:1564 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:477 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:489 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:817 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 -msgid "Unknown" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:154 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:156 msgid "" "%%prog [options] filename\n" "\n" @@ -263,11 +380,11 @@ msgid "" "formats are: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:99 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:100 msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:157 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:158 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -278,13 +395,13 @@ msgid "" "the element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:389 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:737 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:391 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:739 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:411 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1035 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:413 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1046 msgid "You must specify an input HTML file" msgstr "" @@ -303,87 +420,87 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:490 msgid "Written processed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:820 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:827 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:838 msgid "The output directory. Default is the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:829 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:840 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:831 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:842 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:833 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:844 msgid "Control the following of links in HTML files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:835 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:846 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:837 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:848 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:839 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:850 msgid "Set metadata of the generated ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:841 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:852 msgid "Set the title. Default is to autodetect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:843 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:854 msgid "The author(s) of the ebook, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:845 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:856 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:847 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:858 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:849 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:860 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:851 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:862 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:853 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:864 msgid "Options useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:866 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:857 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:868 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:863 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:874 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -405,7 +522,7 @@ msgid "%prog [options] LITFILE" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:852 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:444 msgid "Output directory. Defaults to current directory." msgstr "" @@ -414,20 +531,20 @@ msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:723 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:724 msgid "Useful for debugging." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:869 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:468 msgid "OEB ebook created in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:717 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:718 msgid "%prog [options] OPFFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:720 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:721 msgid "Output file. Default is derived from input filename." msgstr "" @@ -460,7 +577,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:275 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 msgid "Publisher" msgstr "ప్రచురణకర్త" @@ -701,11 +818,11 @@ msgid "" "default is to try and guess the encoding." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:161 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:164 msgid "Converting from %s to LRF is not supported." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:171 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:175 msgid "" "any2lrf [options] myfile\n" "\n" @@ -716,118 +833,118 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:186 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:190 msgid "No file to convert specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:221 msgid "Rendered %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:223 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 msgid "Failed %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:275 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:276 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:283 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:289 msgid "Title for generated ebook. Default is to use the filename." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:291 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 msgid "" "Path to output file. By default a file is created in the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:296 msgid "Number of colors for grayscale image conversion. Default: %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:307 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:308 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:310 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:312 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:314 msgid "" "Choose a profile for the device you are generating this file for. The " "default is the SONY PRS-500 with a screen size of 584x754 pixels. This is " "suitable for any reader with the same screen size. Choices are %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:316 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " "greater verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:318 msgid "Don't show progress bar." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:322 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" "Convert a comic in a CBZ or CBR file to an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:382 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:383 msgid "Output written to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:423 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:426 msgid "Rendering comic pages..." msgstr "" @@ -868,95 +985,95 @@ msgstr "" msgid "Fetching of recipe failed: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 msgid "\tBook Designer file detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:318 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:320 msgid "\tParsing HTML..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:340 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:343 msgid "\tBaen file detected. Re-parsing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:356 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:359 msgid "Written preprocessed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:377 msgid "Processing %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:388 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:391 msgid "\tConverting to BBeB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:534 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:547 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:550 msgid "Could not parse file: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:542 msgid "%s is an empty file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:559 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:562 msgid "Failed to parse link %s %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:603 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:606 msgid "Cannot add link %s to TOC" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:958 msgid "Unable to process image %s. Error: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:996 msgid "Unable to process interlaced PNG %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1008 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1011 msgid "" "Could not process image: %s\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1765 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1767 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 msgid "" "Bad table:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1789 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 msgid "Table has cell that is too large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1819 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1862 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 msgid "Could not read cover image: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 msgid "Cannot read from: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "Failed to process opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2009 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1155,17 +1272,17 @@ msgstr "" #: /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:91 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 msgid "Title" msgstr "శీర్షిక" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:274 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:330 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:899 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:906 msgid "Author(s)" msgstr "రచయిత(లు)" @@ -1184,24 +1301,24 @@ msgstr "వర్గం" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:391 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:527 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "వ్యాఖ్యలు" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:97 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:838 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:845 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Tags" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:281 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Series" @@ -1318,11 +1435,11 @@ msgstr "" msgid "Usage: rb-meta file.rb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:440 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:442 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:464 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:466 msgid "Raw MOBI HTML saved in" msgstr "" @@ -1330,84 +1447,84 @@ msgstr "" msgid "The output directory. Defaults to the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:26 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:424 msgid "Frequently used directories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:27 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:29 msgid "The format to use when saving single files to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:31 msgid "Confirm before deleting" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 msgid "Toolbar icon size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 msgid "Show button labels in the toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 msgid "Main window geometry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 msgid "Notify when a new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 msgid "Use Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 msgid "Sort tags list by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 msgid "Number of covers to show in the cover browsing mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 msgid "Defaults for conversion to LRF" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 msgid "Options for the LRF ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 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:57 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Delete books from library after uploading to device" msgstr "" @@ -1446,8 +1563,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:282 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:840 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" msgstr "" @@ -1456,7 +1573,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:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 msgid "Formats" @@ -1471,6 +1588,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:62 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:53 msgid "TextLabel" @@ -1546,90 +1664,143 @@ msgstr "" msgid "&Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 +msgid " plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:106 +msgid "by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Advanced" msgstr "ఉన్నత" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "General" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 msgid "" "Content\n" "Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 +msgid "Plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:255 +msgid "No valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:256 +msgid "%s is not a valid plugin path" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +msgid "Choose plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:270 +msgid "Plugin cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:271 +msgid "The plugin: %s cannot be disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +msgid "Plugin not customizable" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:282 +msgid "Plugin: %s does not need customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +msgid "Customize %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:295 +msgid "Cannot remove builtin plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:296 +msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:317 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:321 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:382 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:383 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:264 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:423 msgid "Invalid database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "
                                                                                                              Must be a directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:420 msgid "Invalid database location " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 msgid "Invalid database location.
                                                                                                              Cannot write to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting database. This may take a while." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:436 msgid "Compacting..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:329 msgid "Configuration" msgstr "స్వరూపణం" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:409 msgid "" "&Location of ebooks (The ebooks are stored in folders sorted by author and " "metadata is stored in the file metadata.db)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:410 msgid "Browse for the new database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:358 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:374 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:386 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:426 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:467 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:373 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:509 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:282 @@ -1652,200 +1823,196 @@ msgstr "" msgid "..." msgstr "..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:412 msgid "Show notification when &new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:360 -msgid "Ask for &confirmation before deleting files" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:413 msgid "" -"If you disable this setting, metadatas is guessed from the filename instead. " +"If you disable this setting, metadata is guessed from the filename instead. " "This can be configured in the Advanced section." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:414 msgid "Read &metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:415 msgid "Format for &single file save:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:416 msgid "Default network &timeout:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:417 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:418 msgid " seconds" msgstr " క్షణాలు" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:419 msgid "Choose &language (requires restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:420 msgid "Normal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:421 msgid "High" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:422 msgid "Low" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:423 msgid "Job &priority:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:425 msgid "Add a directory to the frequently used directories list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:427 msgid "Remove a directory from the frequently used directories list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:429 msgid "Use &Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:430 msgid "&Number of covers to show in browse mode (after restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:431 msgid "Toolbar" msgstr "పనిముట్ల పట్టీ" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 msgid "Large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Medium" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 msgid "Small" msgstr "చిన్న" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:435 msgid "&Button size in toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:436 msgid "Show &text in toolbar buttons" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:437 msgid "Select visible &columns in library view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:440 msgid "Use internal &viewer for the following formats:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:441 msgid "Enable system &tray icon (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:442 msgid "Automatically send downloaded &news to ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:443 msgid "&Delete news from library when it is sent to reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:444 msgid "Free unused diskspace from the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:445 msgid "&Compact database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:446 msgid "&Metadata from file name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:447 msgid "" "calibre contains a network server that allows you to access your book " "collection using a browser from anywhere in the world. Any changes to the " "settings will only take effect after a server restart." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:448 msgid "Server &port:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:146 msgid "&Username:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:450 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:147 msgid "&Password:" msgstr "&సంకేతపదం:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:451 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:452 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:148 msgid "&Show password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:453 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:454 msgid "Max. &cover size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:455 msgid "&Start Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:456 msgid "St&op Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:457 msgid "&Test Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:458 msgid "Run server &automatically on startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:459 msgid "View &server logs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 msgid "" "If you want to use the content server to access your ebook collection on " "your iphone with Stanza, you will need to add the URL " @@ -1854,6 +2021,44 @@ msgid "" "address of this computer." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 +msgid "" +"Here you can customize the behavior of Calibre by controlling what plugins " +"it uses." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:462 +msgid "Enable/&Disable plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 +msgid "&Customize plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:464 +msgid "&Remove plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:465 +msgid "Add new plugin" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:466 +msgid "Plugin &file:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:468 +msgid "&Add" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 +msgid "Are you sure?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 +msgid "&Show this warning again" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:41 msgid "ERROR" msgstr "పొరపాటు" @@ -1871,7 +2076,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:296 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 msgid "Metadata" msgstr "" @@ -1925,25 +2130,25 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 msgid "Cannot read" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:52 msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 msgid "Error reading file" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:184 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:61 msgid "

                                                                                                              There was an error reading from file:
                                                                                                              " msgstr "" @@ -1953,7 +2158,7 @@ msgid " is not a valid picture" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:227 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "Cannot convert" msgstr "" @@ -2573,26 +2778,26 @@ msgstr "" msgid "A&utomatically set author sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:262 msgid "" "

                                                                                                              Enter your username and password for LibraryThing.com.
                                                                                                              If you " "do not have one, you can register " "for free!.

                                                                                                              " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover.
                                                                                                              " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:292 msgid "Could not fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:298 msgid "You must specify the ISBN identifier for this book." msgstr "" @@ -2698,9 +2903,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:335 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:42 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:761 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:765 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1064 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:752 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:756 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1055 msgid "News" msgstr "" @@ -3169,52 +3374,62 @@ msgstr "" msgid "Working" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:162 -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:166 +#: /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 "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 msgid "Cannot kill jobs that communicate with the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:167 +#: /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:93 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:907 msgid "Size (MB)" msgstr "పరిమాణం (మెబై)" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:94 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:908 msgid "Date" msgstr "తేదీ" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:96 msgid "Rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:274 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:280 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:281 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:286 msgid "None" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:291 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:292 msgid "Book %s of %s." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:675 +msgid "Not allowed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:676 +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:839 msgid "Format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:844 msgid "Timestamp" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:935 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:942 msgid "Search (For Advanced Search click the button to the left)" msgstr "" @@ -3243,7 +3458,7 @@ msgid "No matches for the search phrase %s were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:377 msgid "No matches found" msgstr "" @@ -3268,12 +3483,12 @@ msgid "Previous Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 msgid "Back" msgstr "వెనుకకు" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:155 msgid "Forward" msgstr "ముందుకి" @@ -3282,7 +3497,7 @@ msgid "Next match" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:162 msgid "Open ebook" msgstr "" @@ -3290,152 +3505,152 @@ msgstr "" msgid "Configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:88 msgid "Error communicating with device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Donate" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Quit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:104 msgid "&Restart" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:148 msgid "" "

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

                                                                                                              " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 msgid "Send to main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:166 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "Send to storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 msgid "and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 msgid "Send to storage card by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 msgid "Edit metadata individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:187 msgid "Edit metadata in bulk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:190 msgid "Add books from a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:191 msgid "" -"Add books recursively (One book per directory, assumes every ebook file is " -"the same book in a different format)" +"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:190 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:192 msgid "" -"Add books recursively (Multiple books per directory, assumes every ebook " -"file is a different book)" +"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:205 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:342 msgid "Save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 msgid "Save to disk in a single directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1177 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 msgid "Save only %s format to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:212 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:348 msgid "View" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:213 msgid "View specific format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:230 msgid "Convert individually" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 msgid "Bulk convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:233 msgid "Set defaults for conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:234 msgid "Set defaults for conversion of comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:255 msgid "Similar books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 msgid "Bad database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:301 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1333 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1356 msgid "Choose a location for your ebook library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:315 msgid "Migrating database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:487 msgid "Device: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:488 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:510 msgid "Connected " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:521 msgid "Device database corrupted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:522 msgid "" "\n" "

                                                                                                              The database of books on the reader is corrupted. Try the " @@ -3451,288 +3666,320 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:572 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:668 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +msgid "Stop" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:574 +msgid "Adding books recursively..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Added " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:578 +msgid "Searching..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:695 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:575 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:592 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:698 msgid "Duplicates found!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:608 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:632 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:649 msgid "Uploading books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:633 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:634 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:635 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:619 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:636 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:620 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:637 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:638 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:639 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:640 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:641 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:625 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:642 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:661 +msgid "Reading metadata..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:659 +msgid "Adding books..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:685 +msgid "Read metadata from " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:688 +msgid "Adding books to database..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:730 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:731 msgid "" "

                                                                                                                Cannot upload books to device there is no more free space available " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:736 -msgid "Confirm delete" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:763 +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:737 -msgid "Are you sure you want to delete these %d books?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:772 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 msgid "Cannot edit metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:779 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:801 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:920 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:824 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1002 msgid "No books selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:848 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:871 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:923 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:903 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:926 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:904 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:927 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:920 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:943 msgid "Cannot save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:924 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:947 msgid "Choose destination directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:931 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:954 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:935 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:958 msgid "Could not save some ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:955 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:978 msgid "Fetching news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:969 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:992 msgid " fetched." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 msgid "No book selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1083 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1113 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1129 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1106 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1136 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1152 msgid "Cannot view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1134 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1112 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1157 msgid "Choose the format to view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1101 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1124 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1130 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1153 msgid "%s has no available formats." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1168 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1191 msgid "Cannot configure while there are running jobs." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1187 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1210 msgid "Copying database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1189 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1212 msgid "Copying library to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1199 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1222 msgid "Invalid database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1200 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1223 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:1206 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1229 msgid "Could not move database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1226 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1249 msgid "No detailed info available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1227 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1250 msgid "No detailed information is available for books on the device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1270 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1293 msgid "Error talking to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1271 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1294 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:1284 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1299 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1307 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1326 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1308 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:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1342 msgid "Database does not exist" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1320 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1343 msgid "" "The directory in which the database should be: %s no longer exists. Please " "choose a new database location." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1322 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1345 msgid "Choose new location for database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1375 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 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:1396 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1419 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1398 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1421 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:1402 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1425 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1431 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1454 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:1444 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1467 msgid "" "Latest version: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 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:1449 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1464 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1487 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1466 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1489 msgid "Log debugging information to console" msgstr "" @@ -4036,7 +4283,7 @@ msgid "The standard font type" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:47 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 msgid "Table of Contents" msgstr "" @@ -4060,109 +4307,113 @@ msgstr "" msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:338 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:339 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:357 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:378 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:418 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:445 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:497 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "

                                                                                                                  This book is protected by DRM" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:505 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:507 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:508 msgid "%s

                                                                                                                  %s

                                                                                                                  " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:568 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:577 msgid "" "%prog [options] file\n" "\n" "View an ebook. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 msgid "Ebook Viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 msgid "toolBar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 msgid "Next page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:151 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 msgid "Previous page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 msgid "Font size larger" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 msgid "Font size smaller" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:163 msgid "Find next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:164 msgid "Copy to clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:165 msgid "Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:166 msgid "Reference Mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:167 msgid "Bookmark" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168 +msgid "Toggle full screen" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:47 msgid "Invalid regular expression" msgstr "" @@ -4459,20 +4710,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1144 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1146 msgid "

                                                                                                                  Copying books to %s

                                                                                                                  " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1157 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1266 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1159 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1268 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1237 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "

                                                                                                                  Migrating old database to ebook library in %s

                                                                                                                  " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1285 msgid "Compacting database" msgstr "" @@ -4495,47 +4746,47 @@ msgstr "" msgid "Job stopped by user" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:39 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:41 msgid "%sUsage%s: %s\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:77 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:79 msgid "Created by " msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:524 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:527 msgid "Path to the database in which books are stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:526 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:529 msgid "Pattern to guess metadata from filenames" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:528 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:531 msgid "Access key for isbndb.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:530 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:533 msgid "Default timeout for network operations (seconds)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:532 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:535 msgid "Path to directory in which your library of books is stored" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:534 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:537 msgid "The language in which to display the user interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:536 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:539 msgid "The default output format for ebook conversions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:538 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:541 msgid "Read metadata from files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/config.py:540 +#: /home/kovid/work/calibre/src/calibre/utils/config.py:543 msgid "The priority of worker processes" msgstr "" diff --git a/src/calibre/utils/config.py b/src/calibre/utils/config.py index 7f7e47b498..44dc5d0ecb 100644 --- a/src/calibre/utils/config.py +++ b/src/calibre/utils/config.py @@ -17,7 +17,9 @@ from calibre.constants import terminal_controller, iswindows, isosx, \ from calibre.utils.lock import LockError, ExclusiveFile from collections import defaultdict -if iswindows: +if os.environ.has_key('CALIBRE_CONFIG_DIRECTORY'): + config_dir = os.path.abspath(os.environ['CALIBRE_CONFIG_DIRECTORY']) +elif iswindows: config_dir = plugins['winutil'][0].special_folder_path(plugins['winutil'][0].CSIDL_APPDATA) if not os.access(config_dir, os.W_OK|os.X_OK): config_dir = os.path.expanduser('~') diff --git a/src/calibre/utils/fontconfig.py b/src/calibre/utils/fontconfig.py index 8633cb3473..2a5207c67c 100644 --- a/src/calibre/utils/fontconfig.py +++ b/src/calibre/utils/fontconfig.py @@ -22,7 +22,7 @@ match to a given font specification. The main functions in this module are: .. autofunction:: match ''' -import sys, os, locale, codecs +import sys, os, locale, codecs, subprocess, re from ctypes import cdll, c_void_p, Structure, c_int, POINTER, c_ubyte, c_char, util, \ pointer, byref, create_string_buffer, Union, c_char_p, c_double @@ -34,6 +34,7 @@ except: iswindows = 'win32' in sys.platform or 'win64' in sys.platform isosx = 'darwin' in sys.platform +isbsd = 'bsd' in sys.platform DISABLED = False #if isosx: # libc = ctypes.cdll.LoadLibrary(ctypes.util.find_library('c')) @@ -57,6 +58,13 @@ def load_library(): return cdll.LoadLibrary(lib) elif iswindows: return cdll.LoadLibrary('libfontconfig-1') + elif isbsd: + raw = subprocess.Popen('pkg-config --libs-only-L fontconfig'.split(), + stdout=subprocess.PIPE).stdout.read().strip() + match = re.search(r'-L([^\s,]+)', raw) + if not match: + return cdll.LoadLibrary('libfontconfig.so') + return cdll.LoadLibrary(match.group(1)+'/libfontconfig.so') else: try: return cdll.LoadLibrary(util.find_library('fontconfig')) diff --git a/src/calibre/utils/msdes/spr.h b/src/calibre/utils/msdes/spr.h index fdcf5e3e46..1579892575 100644 --- a/src/calibre/utils/msdes/spr.h +++ b/src/calibre/utils/msdes/spr.h @@ -1,60 +1,25 @@ -/* crypto/des/spr.h */ -/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ +/*--[crypto/des/spr.h]--------------------------------------------------------- + | Copyright (C) 2002 Dan A. Jackson + | + | This file is part of the "openclit" library for processing .LIT files. + | + | "Openclit" is free software; you can redistribute it and/or modify + | it under the terms of the GNU General Public License as published by + | the Free Software Foundation; either version 2 of the License, or + | (at your option) any later version. + | + | This program is distributed in the hope that it will be useful, + | but WITHOUT ANY WARRANTY; without even the implied warranty of + | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + | GNU General Public License for more details. + | + | You should have received a copy of the GNU General Public License + | along with this program; if not, write to the Free Software + | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + | + | The GNU General Public License may also be available at the following + | URL: http://www.gnu.org/licenses/gpl.html +*/ static unsigned long SP1[64] = { 0x02080800L, 0x00080000L, 0x02000002L, 0x02080802L, diff --git a/src/calibre/web/feeds/recipes/__init__.py b/src/calibre/web/feeds/recipes/__init__.py index 019e6a2c97..555377b653 100644 --- a/src/calibre/web/feeds/recipes/__init__.py +++ b/src/calibre/web/feeds/recipes/__init__.py @@ -4,7 +4,7 @@ __copyright__ = '2008, Kovid Goyal ' ''' Builtin recipes. ''' -recipe_modules = [ +recipe_modules = ['recipe_' + r for r in ( 'newsweek', 'atlantic', 'economist', 'portfolio', 'nytimes', 'usatoday', 'outlook_india', 'bbc', 'greader', 'wsj', 'wired', 'globe_and_mail', 'smh', 'espn', 'business_week', @@ -19,8 +19,10 @@ recipe_modules = [ 'clarin', 'financial_times', 'heise', 'le_monde', 'harpers', 'science_aas', 'science_news', 'the_nation', 'lrb', 'harpers_full', 'liberation', 'linux_magazine', 'telegraph_uk', 'utne', 'sciencedaily', 'forbes', - 'time_magazine', 'endgadget', 'fudzilla', - ] + 'time_magazine', 'endgadget', 'fudzilla', 'nspm_int', 'nspm', 'pescanik', + 'spiegel_int', 'themarketticker', 'tomshardware', 'xkcd', 'ftd', 'zdnet', + 'joelonsoftware', + )] import re, imp, inspect, time, os from calibre.web.feeds.news import BasicNewsRecipe, CustomIndexRecipe, AutomaticNewsRecipe diff --git a/src/calibre/web/feeds/recipes/b92.py b/src/calibre/web/feeds/recipes/b92.py deleted file mode 100644 index c1874946ad..0000000000 --- a/src/calibre/web/feeds/recipes/b92.py +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2008, Darko Miletic ' -''' -b92.net -''' -import string,re -from calibre.web.feeds.news import BasicNewsRecipe - -class B92(BasicNewsRecipe): - title = u'B92' - __author__ = 'Darko Miletic' - description = 'Dnevne vesti iz Srbije i sveta' - oldest_article = 7 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - - preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')] - - remove_tags_after = dict(name='div', attrs={'class':'gas'}) - remove_tags = [ - dict(name='div' , attrs={'class':'interaction clearfix' }) - ,dict(name='div' , attrs={'class':'gas' }) - ,dict(name='ul' , attrs={'class':'comment-nav' }) - ,dict(name='table', attrs={'class':'pages-navigation-form'}) - ] - - feeds = [ - (u'Vesti' , u'http://www.b92.net/info/rss/vesti.xml' ) - ,(u'Kultura' , u'http://www.b92.net/info/rss/kultura.xml' ) - ,(u'Automobili', u'http://www.b92.net/info/rss/automobili.xml') - ,(u'Zivot' , u'http://www.b92.net/info/rss/zivot.xml' ) - ,(u'Tehnopolis', u'http://www.b92.net/info/rss/tehnopolis.xml') - ,(u'Biz' , u'http://www.b92.net/info/rss/biz.xml' ) - ] - - def print_version(self, url): - return url + '&version=print' diff --git a/src/calibre/web/feeds/recipes/danas.py b/src/calibre/web/feeds/recipes/danas.py deleted file mode 100644 index 554945c7b5..0000000000 --- a/src/calibre/web/feeds/recipes/danas.py +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2008, Darko Miletic ' -''' -danas.rs -''' -import string,re -from calibre.web.feeds.news import BasicNewsRecipe - -class Danas(BasicNewsRecipe): - title = u'Danas' - __author__ = 'Darko Miletic' - description = 'Vesti' - oldest_article = 7 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - timefmt = ' [%A, %d %B, %Y]' - - preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')] - - keep_only_tags = [ dict(name='div', attrs={'id':'left'}) ] - remove_tags_after = dict(name='div', attrs={'id':'comments'}) - remove_tags = [ - dict(name='div', attrs={'class':'width_1_4'}) - ,dict(name='div', attrs={'class':'metaClanka'}) - ,dict(name='div', attrs={'id':'comments'}) - ,dict(name='div', attrs={'class':'baner'}) - ] - - - - feeds = [ (u'Vesti', u'http://www.danas.rs/rss/rss.asp')] diff --git a/src/calibre/web/feeds/recipes/ap.py b/src/calibre/web/feeds/recipes/recipe_ap.py similarity index 100% rename from src/calibre/web/feeds/recipes/ap.py rename to src/calibre/web/feeds/recipes/recipe_ap.py diff --git a/src/calibre/web/feeds/recipes/ars_technica.py b/src/calibre/web/feeds/recipes/recipe_ars_technica.py similarity index 100% rename from src/calibre/web/feeds/recipes/ars_technica.py rename to src/calibre/web/feeds/recipes/recipe_ars_technica.py diff --git a/src/calibre/web/feeds/recipes/atlantic.py b/src/calibre/web/feeds/recipes/recipe_atlantic.py similarity index 100% rename from src/calibre/web/feeds/recipes/atlantic.py rename to src/calibre/web/feeds/recipes/recipe_atlantic.py diff --git a/src/calibre/web/feeds/recipes/recipe_b92.py b/src/calibre/web/feeds/recipes/recipe_b92.py new file mode 100644 index 0000000000..47d264af1c --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_b92.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2008, Darko Miletic ' +''' +b92.net +''' + +import string,re +from calibre.web.feeds.news import BasicNewsRecipe + +class B92(BasicNewsRecipe): + title = u'B92' + __author__ = 'Darko Miletic' + description = 'Dnevne vesti iz Srbije i sveta' + oldest_article = 7 + max_articles_per_feed = 100 + no_stylesheets = True + use_embedded_content = False + cover_url = 'http://static.b92.net/images/fp/logo.gif' + keep_only_tags = [ dict(name='div', attrs={'class':'sama_vest'}) ] + html2lrf_options = [ + '--comment', description + , '--base-font-size', '10' + , '--category', 'news, Serbia' + , '--publisher', 'B92' + ] + preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')] + feeds = [ + (u'Vesti', u'http://www.b92.net/info/rss/vesti.xml') + ,(u'Biz' , u'http://www.b92.net/info/rss/biz.xml' ) + ,(u'Zivot', u'http://www.b92.net/info/rss/zivot.xml') + ,(u'Sport', u'http://www.b92.net/info/rss/sport.xml') + ] + + def print_version(self, url): + main, sep, article_id = url.partition('nav_id=') + rmain, rsep, rrest = main.partition('.php?') + mrmain , rsepp, nnt = rmain.rpartition('/') + mprmain, rrsep, news_type = mrmain.rpartition('/') + nurl = 'http://www.b92.net/mobilni/' + news_type + '/index.php?nav_id=' + article_id + brbiz, biz, bizrest = rmain.partition('/biz/') + if biz: + nurl = 'http://www.b92.net/mobilni/biz/index.php?nav_id=' + article_id + return nurl diff --git a/src/calibre/web/feeds/recipes/barrons.py b/src/calibre/web/feeds/recipes/recipe_barrons.py similarity index 100% rename from src/calibre/web/feeds/recipes/barrons.py rename to src/calibre/web/feeds/recipes/recipe_barrons.py diff --git a/src/calibre/web/feeds/recipes/bbc.py b/src/calibre/web/feeds/recipes/recipe_bbc.py similarity index 100% rename from src/calibre/web/feeds/recipes/bbc.py rename to src/calibre/web/feeds/recipes/recipe_bbc.py diff --git a/src/calibre/web/feeds/recipes/blic.py b/src/calibre/web/feeds/recipes/recipe_blic.py similarity index 52% rename from src/calibre/web/feeds/recipes/blic.py rename to src/calibre/web/feeds/recipes/recipe_blic.py index 9d89992eb2..bee95b8424 100644 --- a/src/calibre/web/feeds/recipes/blic.py +++ b/src/calibre/web/feeds/recipes/recipe_blic.py @@ -11,12 +11,18 @@ from calibre.web.feeds.news import BasicNewsRecipe class Blic(BasicNewsRecipe): title = u'Blic' __author__ = 'Darko Miletic' - description = 'Vesti' + description = 'Blic.rs online verzija najtiraznije novine u Srbiji donosi najnovije vesti iz Srbije i sveta, komentare, politicke analize, poslovne i ekonomske vesti, vesti iz regiona, intervjue, informacije iz kulture, reportaze, pokriva sve sportske dogadjaje, detaljan tv program, nagradne igre, zabavu, fenomenalni Blic strip, dnevni horoskop, arhivu svih dogadjaja' oldest_article = 7 max_articles_per_feed = 100 no_stylesheets = True use_embedded_content = False - timefmt = ' [%A, %d %B, %Y]' + cover_url = 'http://www.blic.rs/resources/images/header_back_tile.png' + html2lrf_options = [ + '--comment', description + , '--base-font-size', '10' + , '--category', 'news, Serbia' + , '--publisher', 'Blic' + ] preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')] diff --git a/src/calibre/web/feeds/recipes/business_week.py b/src/calibre/web/feeds/recipes/recipe_business_week.py similarity index 100% rename from src/calibre/web/feeds/recipes/business_week.py rename to src/calibre/web/feeds/recipes/recipe_business_week.py diff --git a/src/calibre/web/feeds/recipes/chr_mon.py b/src/calibre/web/feeds/recipes/recipe_chr_mon.py similarity index 100% rename from src/calibre/web/feeds/recipes/chr_mon.py rename to src/calibre/web/feeds/recipes/recipe_chr_mon.py diff --git a/src/calibre/web/feeds/recipes/clarin.py b/src/calibre/web/feeds/recipes/recipe_clarin.py similarity index 80% rename from src/calibre/web/feeds/recipes/clarin.py rename to src/calibre/web/feeds/recipes/recipe_clarin.py index e4f3c4b501..7dda99a08d 100644 --- a/src/calibre/web/feeds/recipes/clarin.py +++ b/src/calibre/web/feeds/recipes/recipe_clarin.py @@ -9,14 +9,19 @@ clarin.com from calibre.web.feeds.news import BasicNewsRecipe class Clarin(BasicNewsRecipe): - title = u'Clarin' + title = 'Clarin' __author__ = 'Darko Miletic' description = 'Noticias de Argentina y mundo' oldest_article = 2 max_articles_per_feed = 100 use_embedded_content = False - simultaneous_downloads = 1 - delay = 1 + cover_url = 'http://www.clarin.com/shared/v10/img/Hd/lg_Clarin.gif' + html2lrf_options = [ + '--comment', description + , '--base-font-size', '10' + , '--category', 'news, Argentina' + , '--publisher', 'Grupo Clarin' + ] remove_tags = [ dict(name='a' , attrs={'class':'Imp' }) diff --git a/src/calibre/web/feeds/recipes/cnn.py b/src/calibre/web/feeds/recipes/recipe_cnn.py similarity index 100% rename from src/calibre/web/feeds/recipes/cnn.py rename to src/calibre/web/feeds/recipes/recipe_cnn.py diff --git a/src/calibre/web/feeds/recipes/cyberpresse.py b/src/calibre/web/feeds/recipes/recipe_cyberpresse.py similarity index 100% rename from src/calibre/web/feeds/recipes/cyberpresse.py rename to src/calibre/web/feeds/recipes/recipe_cyberpresse.py diff --git a/src/calibre/web/feeds/recipes/daily_telegraph.py b/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py similarity index 100% rename from src/calibre/web/feeds/recipes/daily_telegraph.py rename to src/calibre/web/feeds/recipes/recipe_daily_telegraph.py diff --git a/src/calibre/web/feeds/recipes/recipe_danas.py b/src/calibre/web/feeds/recipes/recipe_danas.py new file mode 100644 index 0000000000..54f75b8ad2 --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_danas.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2008, Darko Miletic ' +''' +danas.rs +''' +import string,re +from calibre.web.feeds.news import BasicNewsRecipe + +class Danas(BasicNewsRecipe): + title = 'Danas' + __author__ = 'Darko Miletic' + description = 'Dnevne novine sa vestima iz sveta, politike, ekonomije, kulture, sporta, Beograda, Novog Sada i cele Srbije.' + oldest_article = 2 + max_articles_per_feed = 100 + no_stylesheets = True + use_embedded_content = False + cover_url = 'http://www.danas.rs/images/basic/danas.gif' + html2lrf_options = [ + '--comment', description + , '--base-font-size', '10' + , '--category', 'news, Serbia' + , '--publisher', 'Danas' + ] + + preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')] + + keep_only_tags = [ dict(name='div', attrs={'id':'left'}) ] + remove_tags = [ + dict(name='div', attrs={'class':'width_1_4' }) + ,dict(name='div', attrs={'class':'metaClanka' }) + ,dict(name='div', attrs={'id':'comments' }) + ,dict(name='div', attrs={'class':'baner' }) + ,dict(name='div', attrs={'class':'slikaClanka'}) + ] + + feeds = [(u'Vesti', u'http://www.danas.rs/rss/rss.asp')] + + def print_version(self, url): + return url + '&action=print' diff --git a/src/calibre/web/feeds/recipes/de_standaard.py b/src/calibre/web/feeds/recipes/recipe_de_standaard.py similarity index 100% rename from src/calibre/web/feeds/recipes/de_standaard.py rename to src/calibre/web/feeds/recipes/recipe_de_standaard.py diff --git a/src/calibre/web/feeds/recipes/demorgen_be.py b/src/calibre/web/feeds/recipes/recipe_demorgen_be.py similarity index 100% rename from src/calibre/web/feeds/recipes/demorgen_be.py rename to src/calibre/web/feeds/recipes/recipe_demorgen_be.py diff --git a/src/calibre/web/feeds/recipes/discover_magazine.py b/src/calibre/web/feeds/recipes/recipe_discover_magazine.py similarity index 100% rename from src/calibre/web/feeds/recipes/discover_magazine.py rename to src/calibre/web/feeds/recipes/recipe_discover_magazine.py diff --git a/src/calibre/web/feeds/recipes/economist.py b/src/calibre/web/feeds/recipes/recipe_economist.py similarity index 100% rename from src/calibre/web/feeds/recipes/economist.py rename to src/calibre/web/feeds/recipes/recipe_economist.py diff --git a/src/calibre/web/feeds/recipes/el_pais.py b/src/calibre/web/feeds/recipes/recipe_el_pais.py similarity index 100% rename from src/calibre/web/feeds/recipes/el_pais.py rename to src/calibre/web/feeds/recipes/recipe_el_pais.py diff --git a/src/calibre/web/feeds/recipes/endgadget.py b/src/calibre/web/feeds/recipes/recipe_endgadget.py similarity index 100% rename from src/calibre/web/feeds/recipes/endgadget.py rename to src/calibre/web/feeds/recipes/recipe_endgadget.py diff --git a/src/calibre/web/feeds/recipes/espn.py b/src/calibre/web/feeds/recipes/recipe_espn.py similarity index 100% rename from src/calibre/web/feeds/recipes/espn.py rename to src/calibre/web/feeds/recipes/recipe_espn.py diff --git a/src/calibre/web/feeds/recipes/faznet.py b/src/calibre/web/feeds/recipes/recipe_faznet.py similarity index 100% rename from src/calibre/web/feeds/recipes/faznet.py rename to src/calibre/web/feeds/recipes/recipe_faznet.py diff --git a/src/calibre/web/feeds/recipes/financial_times.py b/src/calibre/web/feeds/recipes/recipe_financial_times.py similarity index 100% rename from src/calibre/web/feeds/recipes/financial_times.py rename to src/calibre/web/feeds/recipes/recipe_financial_times.py diff --git a/src/calibre/web/feeds/recipes/forbes.py b/src/calibre/web/feeds/recipes/recipe_forbes.py similarity index 100% rename from src/calibre/web/feeds/recipes/forbes.py rename to src/calibre/web/feeds/recipes/recipe_forbes.py diff --git a/src/calibre/web/feeds/recipes/recipe_ftd.py b/src/calibre/web/feeds/recipes/recipe_ftd.py new file mode 100644 index 0000000000..b2c0a8ef50 --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_ftd.py @@ -0,0 +1,49 @@ +__license__ = 'GPL v3' +__copyright__ = '2008, Kovid Goyal ' + +''' +Fetch FTD. +''' + +from calibre.web.feeds.news import BasicNewsRecipe + + +class FTheiseDe(BasicNewsRecipe): + + title = 'FTD' + description = 'Financial Times Deutschland' + __author__ = 'Oliver Niesner' + use_embedded_content = False + timefmt = ' [%d %b %Y]' + max_articles_per_feed = 40 + no_stylesheets = True + + remove_tags = [dict(id='navi_top'), + dict(id='topbanner'), + dict(id='seitenkopf'), + dict(id='footer'), + dict(id='rating_open'), + dict(id='ADS_Top'), + dict(id='ADS_Middle1'), + #dict(id='IDMS_ajax_chart_price_information_table'), + dict(id='ivwimg'), + dict(name='span', attrs={'class':'rsaquo'}), + dict(name='p', attrs={'class':'zwischenhead'}), + dict(name='div', attrs={'class':'chartBox'}), + dict(name='span', attrs={'class':'vote_455857'}), + dict(name='div', attrs={'class':'relatedhalb'}), + dict(name='div', attrs={'class':'bpoll'}), + dict(name='div', attrs={'class':'pollokknopf'}), + dict(name='div', attrs={'class':'videohint'}), + dict(name='div', attrs={'class':'videoshadow'}), + dict(name='div', attrs={'class':'boxresp videorahmen'}), + dict(name='div', attrs={'class':'boxresp'}), + dict(name='div', attrs={'class':'abspielen'}), + dict(name='div', attrs={'class':'wertungoben'}), + dict(name='div', attrs={'class':'artikelfuss'}), + dict(name='div', attrs={'class':'artikelsplitfaq'})] + remove_tags_after = [dict(name='div', attrs={'class':'artikelfuss'})] + + feeds = [ ('FTD', 'http://www.ftd.de/static/ticker/ftd-topnews.rdf') ] + + diff --git a/src/calibre/web/feeds/recipes/fudzilla.py b/src/calibre/web/feeds/recipes/recipe_fudzilla.py similarity index 100% rename from src/calibre/web/feeds/recipes/fudzilla.py rename to src/calibre/web/feeds/recipes/recipe_fudzilla.py diff --git a/src/calibre/web/feeds/recipes/globe_and_mail.py b/src/calibre/web/feeds/recipes/recipe_globe_and_mail.py similarity index 100% rename from src/calibre/web/feeds/recipes/globe_and_mail.py rename to src/calibre/web/feeds/recipes/recipe_globe_and_mail.py diff --git a/src/calibre/web/feeds/recipes/greader.py b/src/calibre/web/feeds/recipes/recipe_greader.py similarity index 100% rename from src/calibre/web/feeds/recipes/greader.py rename to src/calibre/web/feeds/recipes/recipe_greader.py diff --git a/src/calibre/web/feeds/recipes/guardian.py b/src/calibre/web/feeds/recipes/recipe_guardian.py similarity index 100% rename from src/calibre/web/feeds/recipes/guardian.py rename to src/calibre/web/feeds/recipes/recipe_guardian.py diff --git a/src/calibre/web/feeds/recipes/harpers.py b/src/calibre/web/feeds/recipes/recipe_harpers.py similarity index 100% rename from src/calibre/web/feeds/recipes/harpers.py rename to src/calibre/web/feeds/recipes/recipe_harpers.py diff --git a/src/calibre/web/feeds/recipes/harpers_full.py b/src/calibre/web/feeds/recipes/recipe_harpers_full.py similarity index 100% rename from src/calibre/web/feeds/recipes/harpers_full.py rename to src/calibre/web/feeds/recipes/recipe_harpers_full.py diff --git a/src/calibre/web/feeds/recipes/heise.py b/src/calibre/web/feeds/recipes/recipe_heise.py similarity index 100% rename from src/calibre/web/feeds/recipes/heise.py rename to src/calibre/web/feeds/recipes/recipe_heise.py diff --git a/src/calibre/web/feeds/recipes/iht.py b/src/calibre/web/feeds/recipes/recipe_iht.py similarity index 100% rename from src/calibre/web/feeds/recipes/iht.py rename to src/calibre/web/feeds/recipes/recipe_iht.py diff --git a/src/calibre/web/feeds/recipes/irish_times.py b/src/calibre/web/feeds/recipes/recipe_irish_times.py similarity index 100% rename from src/calibre/web/feeds/recipes/irish_times.py rename to src/calibre/web/feeds/recipes/recipe_irish_times.py diff --git a/src/calibre/web/feeds/recipes/japan_times.py b/src/calibre/web/feeds/recipes/recipe_japan_times.py similarity index 100% rename from src/calibre/web/feeds/recipes/japan_times.py rename to src/calibre/web/feeds/recipes/recipe_japan_times.py diff --git a/src/calibre/web/feeds/recipes/recipe_joelonsoftware.py b/src/calibre/web/feeds/recipes/recipe_joelonsoftware.py new file mode 100644 index 0000000000..7c061562f5 --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_joelonsoftware.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2008, Darko Miletic ' +''' +joelonsoftware.com +''' + +class Joelonsoftware(BasicNewsRecipe): + + title = 'Joel on Software' + __author__ = 'Darko Miletic' + description = 'Painless Software Management' + no_stylesheets = True + use_embedded_content = True + + cover_url = 'http://www.joelonsoftware.com/RssJoelOnSoftware.jpg' + + html2lrf_options = [ '--comment' , description + , '--category' , 'blog,software,news' + , '--author' , 'Joel Spolsky' + ] + + feeds = [(u'Articles', u'http://www.joelonsoftware.com/rss.xml')] diff --git a/src/calibre/web/feeds/recipes/jpost.py b/src/calibre/web/feeds/recipes/recipe_jpost.py similarity index 100% rename from src/calibre/web/feeds/recipes/jpost.py rename to src/calibre/web/feeds/recipes/recipe_jpost.py diff --git a/src/calibre/web/feeds/recipes/jutarnji.py b/src/calibre/web/feeds/recipes/recipe_jutarnji.py similarity index 60% rename from src/calibre/web/feeds/recipes/jutarnji.py rename to src/calibre/web/feeds/recipes/recipe_jutarnji.py index b109b2720e..f2504a78c1 100644 --- a/src/calibre/web/feeds/recipes/jutarnji.py +++ b/src/calibre/web/feeds/recipes/recipe_jutarnji.py @@ -11,18 +11,30 @@ from calibre.web.feeds.news import BasicNewsRecipe from calibre.ebooks.BeautifulSoup import BeautifulSoup class Jutarnji(BasicNewsRecipe): - title = u'Jutarnji' - __author__ = u'Darko Miletic' - description = u'Hrvatski portal' - oldest_article = 7 + title = 'Jutarnji' + __author__ = 'Darko Miletic' + description = 'Online izdanje Jutarnjeg lista' + oldest_article = 2 max_articles_per_feed = 100 + simultaneous_downloads = 1 + delay = 1 no_stylesheets = True use_embedded_content = False encoding = 'cp1250' - + cover_url = 'http://www.jutarnji.hr/EPHResources/Images/2008/06/05/jhrlogo.png' + html2lrf_options = [ + '--comment', description + , '--base-font-size', '10' + , '--category', 'news, Croatia' + , '--publisher', 'Europapress holding d.o.o.' + ] preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')] - remove_tags = [dict(name='embed')] + remove_tags = [ + dict(name='embed') + ,dict(name='a', attrs={'class':'a11'}) + ,dict(name='hr') + ] feeds = [ (u'Naslovnica' , u'http://www.jutarnji.hr/rss' ) @@ -37,10 +49,11 @@ class Jutarnji(BasicNewsRecipe): def print_version(self, url): main, split, rest = url.partition('.jl') rmain, rsplit, rrest = main.rpartition(',') - return 'http://www.jutarnji.hr/ispis_clanka.jl?artid=' + rrest + return u'http://www.jutarnji.hr/ispis_clanka.jl?artid=' + rrest def preprocess_html(self, soup): mtag = '' soup.head.insert(0,mtag) + soup.prettify() return soup \ No newline at end of file diff --git a/src/calibre/web/feeds/recipes/lanacion.py b/src/calibre/web/feeds/recipes/recipe_lanacion.py similarity index 73% rename from src/calibre/web/feeds/recipes/lanacion.py rename to src/calibre/web/feeds/recipes/recipe_lanacion.py index 0dddb05b72..58d7672116 100644 --- a/src/calibre/web/feeds/recipes/lanacion.py +++ b/src/calibre/web/feeds/recipes/recipe_lanacion.py @@ -9,13 +9,20 @@ lanacion.com.ar from calibre.web.feeds.news import BasicNewsRecipe class Lanacion(BasicNewsRecipe): - title = u'La Nacion' + title = 'La Nacion' __author__ = 'Darko Miletic' - description = 'Noticias de Argentina y el resto del mundo' - oldest_article = 7 + description = 'Informacion actualizada las 24 horas, con noticias de Argentina y del mundo - Informate ya!' + oldest_article = 2 max_articles_per_feed = 100 no_stylesheets = True use_embedded_content = False + + html2lrf_options = [ + '--comment', description + , '--base-font-size', '10' + , '--category', 'news, Argentina' + , '--publisher', 'La Nacion SA' + ] keep_only_tags = [dict(name='div', attrs={'class':'nota floatFix'})] remove_tags = [ @@ -38,3 +45,12 @@ class Lanacion(BasicNewsRecipe): ,(u'Ciencia/Salud' , u'http://www.lanacion.com.ar/herramientas/rss/index.asp?categoria_id=498' ) ,(u'Revista' , u'http://www.lanacion.com.ar/herramientas/rss/index.asp?categoria_id=494' ) ] + + def get_cover_url(self): + index = 'http://www.lanacion.com.ar' + cover_url = None + soup = self.index_to_soup(index) + cover_item = soup.find('img',attrs={'class':'logo'}) + if cover_item: + cover_url = index + cover_item['src'] + return cover_url diff --git a/src/calibre/web/feeds/recipes/latimes.py b/src/calibre/web/feeds/recipes/recipe_latimes.py similarity index 100% rename from src/calibre/web/feeds/recipes/latimes.py rename to src/calibre/web/feeds/recipes/recipe_latimes.py diff --git a/src/calibre/web/feeds/recipes/le_monde.py b/src/calibre/web/feeds/recipes/recipe_le_monde.py similarity index 100% rename from src/calibre/web/feeds/recipes/le_monde.py rename to src/calibre/web/feeds/recipes/recipe_le_monde.py diff --git a/src/calibre/web/feeds/recipes/liberation.py b/src/calibre/web/feeds/recipes/recipe_liberation.py similarity index 100% rename from src/calibre/web/feeds/recipes/liberation.py rename to src/calibre/web/feeds/recipes/recipe_liberation.py diff --git a/src/calibre/web/feeds/recipes/linux_magazine.py b/src/calibre/web/feeds/recipes/recipe_linux_magazine.py similarity index 100% rename from src/calibre/web/feeds/recipes/linux_magazine.py rename to src/calibre/web/feeds/recipes/recipe_linux_magazine.py diff --git a/src/calibre/web/feeds/recipes/lrb.py b/src/calibre/web/feeds/recipes/recipe_lrb.py similarity index 100% rename from src/calibre/web/feeds/recipes/lrb.py rename to src/calibre/web/feeds/recipes/recipe_lrb.py diff --git a/src/calibre/web/feeds/recipes/moscow_times.py b/src/calibre/web/feeds/recipes/recipe_moscow_times.py similarity index 100% rename from src/calibre/web/feeds/recipes/moscow_times.py rename to src/calibre/web/feeds/recipes/recipe_moscow_times.py diff --git a/src/calibre/web/feeds/recipes/nasa.py b/src/calibre/web/feeds/recipes/recipe_nasa.py similarity index 100% rename from src/calibre/web/feeds/recipes/nasa.py rename to src/calibre/web/feeds/recipes/recipe_nasa.py diff --git a/src/calibre/web/feeds/recipes/new_scientist.py b/src/calibre/web/feeds/recipes/recipe_new_scientist.py similarity index 100% rename from src/calibre/web/feeds/recipes/new_scientist.py rename to src/calibre/web/feeds/recipes/recipe_new_scientist.py diff --git a/src/calibre/web/feeds/recipes/new_york_review_of_books.py b/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py similarity index 100% rename from src/calibre/web/feeds/recipes/new_york_review_of_books.py rename to src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py diff --git a/src/calibre/web/feeds/recipes/new_yorker.py b/src/calibre/web/feeds/recipes/recipe_new_yorker.py similarity index 100% rename from src/calibre/web/feeds/recipes/new_yorker.py rename to src/calibre/web/feeds/recipes/recipe_new_yorker.py diff --git a/src/calibre/web/feeds/recipes/newsweek.py b/src/calibre/web/feeds/recipes/recipe_newsweek.py similarity index 100% rename from src/calibre/web/feeds/recipes/newsweek.py rename to src/calibre/web/feeds/recipes/recipe_newsweek.py diff --git a/src/calibre/web/feeds/recipes/novosti.py b/src/calibre/web/feeds/recipes/recipe_novosti.py similarity index 54% rename from src/calibre/web/feeds/recipes/novosti.py rename to src/calibre/web/feeds/recipes/recipe_novosti.py index 25dd754e34..4ff225fd0a 100644 --- a/src/calibre/web/feeds/recipes/novosti.py +++ b/src/calibre/web/feeds/recipes/recipe_novosti.py @@ -9,14 +9,19 @@ import string,re from calibre.web.feeds.news import BasicNewsRecipe class Novosti(BasicNewsRecipe): - title = u'Vecernje Novosti' - __author__ = u'Darko Miletic' - description = u'Vesti' - oldest_article = 7 + title = 'Vecernje Novosti' + __author__ = 'Darko Miletic' + description = 'novosti, vesti, politika, dosije, drustvo, ekonomija, hronika, reportaze, svet, kultura, sport, beograd, regioni, mozaik, feljton, intrvju, pjer, fudbal, kosarka, podvig, arhiva, komentari, kolumne, srbija, republika srpska,Vecernje novosti' + oldest_article = 2 max_articles_per_feed = 100 no_stylesheets = True use_embedded_content = False - timefmt = ' [%A, %d %B, %Y]' + html2lrf_options = [ + '--comment', description + , '--base-font-size', '10' + , '--category', 'news, Serbia' + , '--publisher', 'Novosti AD' + ] preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')] diff --git a/src/calibre/web/feeds/recipes/nspm.py b/src/calibre/web/feeds/recipes/recipe_nspm.py similarity index 71% rename from src/calibre/web/feeds/recipes/nspm.py rename to src/calibre/web/feeds/recipes/recipe_nspm.py index 10257f0bee..b06df23a75 100644 --- a/src/calibre/web/feeds/recipes/nspm.py +++ b/src/calibre/web/feeds/recipes/recipe_nspm.py @@ -18,7 +18,13 @@ class Nspm(BasicNewsRecipe): no_stylesheets = True use_embedded_content = False INDEX = 'http://www.nspm.rs/?alphabet=l' - timefmt = ' [%A, %d %B, %Y]' + cover_url = 'http://nspm.rs/templates/jsn_epic_pro/images/logol.jpg' + html2lrf_options = [ + '--comment', description + , '--base-font-size', '10' + , '--category', 'news, politics, Serbia' + , '--publisher', 'IIC NSPM' + ] preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')] diff --git a/src/calibre/web/feeds/recipes/recipe_nspm_int.py b/src/calibre/web/feeds/recipes/recipe_nspm_int.py new file mode 100644 index 0000000000..b474a5e2a9 --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_nspm_int.py @@ -0,0 +1,37 @@ +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2008, Darko Miletic ' +''' +nspm.rs/nspm-in-english +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Nspm_int(BasicNewsRecipe): + title = 'NSPM in English' + __author__ = 'Darko Miletic' + description = 'Magazine dedicated to political theory and sociological research' + oldest_article = 20 + max_articles_per_feed = 100 + no_stylesheets = True + use_embedded_content = False + INDEX = 'http://www.nspm.rs/?alphabet=l' + cover_url = 'http://nspm.rs/templates/jsn_epic_pro/images/logol.jpg' + html2lrf_options = [ + '--comment', description + , '--base-font-size', '10' + , '--category', 'news, politics, Serbia, english' + , '--publisher', 'IIC NSPM' + ] + + def get_browser(self): + br = BasicNewsRecipe.get_browser() + br.open(self.INDEX) + return br + + + keep_only_tags = [dict(name='div', attrs={'id':'jsn-mainbody'})] + remove_tags = [dict(name='div', attrs={'id':'yvComment' })] + + feeds = [ (u'NSPM in English', u'http://nspm.rs/nspm-in-english/feed/rss.html')] diff --git a/src/calibre/web/feeds/recipes/nytimes.py b/src/calibre/web/feeds/recipes/recipe_nytimes.py similarity index 100% rename from src/calibre/web/feeds/recipes/nytimes.py rename to src/calibre/web/feeds/recipes/recipe_nytimes.py diff --git a/src/calibre/web/feeds/recipes/nytimes_sub.py b/src/calibre/web/feeds/recipes/recipe_nytimes_sub.py similarity index 100% rename from src/calibre/web/feeds/recipes/nytimes_sub.py rename to src/calibre/web/feeds/recipes/recipe_nytimes_sub.py diff --git a/src/calibre/web/feeds/recipes/outlook_india.py b/src/calibre/web/feeds/recipes/recipe_outlook_india.py similarity index 100% rename from src/calibre/web/feeds/recipes/outlook_india.py rename to src/calibre/web/feeds/recipes/recipe_outlook_india.py diff --git a/src/calibre/web/feeds/recipes/recipe_pescanik.py b/src/calibre/web/feeds/recipes/recipe_pescanik.py new file mode 100644 index 0000000000..04d7d88803 --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_pescanik.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2008, Darko Miletic ' +''' +pescanik.net +''' + +import string,re +from calibre.web.feeds.news import BasicNewsRecipe + +class Pescanik(BasicNewsRecipe): + title = 'Pescanik' + __author__ = 'Darko Miletic' + description = 'Pescanik' + oldest_article = 7 + max_articles_per_feed = 100 + no_stylesheets = True + use_embedded_content = False + html2lrf_options = ['--base-font-size', '10'] + html2epub_options = 'base_font_size = "10pt"' + + cover_url = "http://pescanik.net/templates/ja_teline/images/logo.png" + + preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')] + + remove_tags_after = dict(name='div', attrs={'class':'article_seperator'}) + + remove_tags = [dict(name='td' , attrs={'class':'buttonheading'})] + + feeds = [(u'Pescanik Online', u'http://pescanik.net/index.php?option=com_rd_rss&id=12')] + + def print_version(self, url): + nurl = url.replace('http://pescanik.net/index.php','http://pescanik.net/index2.php') + return nurl + '&pop=1&page=0' diff --git a/src/calibre/web/feeds/recipes/politika.py b/src/calibre/web/feeds/recipes/recipe_politika.py similarity index 74% rename from src/calibre/web/feeds/recipes/politika.py rename to src/calibre/web/feeds/recipes/recipe_politika.py index 6ccc388b90..949a9b781d 100644 --- a/src/calibre/web/feeds/recipes/politika.py +++ b/src/calibre/web/feeds/recipes/recipe_politika.py @@ -9,25 +9,30 @@ import string,re from calibre.web.feeds.news import BasicNewsRecipe class Politika(BasicNewsRecipe): - title = u'Politika Online' + title = 'Politika Online' __author__ = 'Darko Miletic' description = 'Najstariji dnevni list na Balkanu' - oldest_article = 7 + oldest_article = 2 max_articles_per_feed = 100 no_stylesheets = True extra_css = '.content_center_border {text-align: left;}' use_embedded_content = False - timefmt = ' [%A, %d %B, %Y]' + cover_url = 'http://www.politika.rs:8080/images/politika.gif' + html2lrf_options = [ + '--comment', description + , '--base-font-size', '10' + , '--category', 'news, Serbia' + , '--publisher', 'POLITIKA NOVINE I MAGAZINI d.o.o.' + ] preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')] - remove_tags_before = dict(name='div', attrs={'class':'content_center_border'}) + keep_only_tags = [ dict(name='div', attrs={'class':'contentcenter'}) ] remove_tags_after = dict(name='div', attrs={'class':'datum_item_details'}) feeds = [ (u'Politika' , u'http://www.politika.rs/rubrike/Politika/index.1.lt.xml' ) ,(u'Svet' , u'http://www.politika.rs/rubrike/Svet/index.1.lt.xml' ) - ,(u'Redakcijski komentari', u'http://www.politika.rs/rubrike/redakcijski-komentari/index.1.lt.xml') ,(u'Pogledi' , u'http://www.politika.rs/pogledi/index.lt.xml' ) ,(u'Pogledi sa strane' , u'http://www.politika.rs/rubrike/Pogledi-sa-strane/index.1.lt.xml' ) ,(u'Tema dana' , u'http://www.politika.rs/rubrike/tema-dana/index.1.lt.xml' ) diff --git a/src/calibre/web/feeds/recipes/portfolio.py b/src/calibre/web/feeds/recipes/recipe_portfolio.py similarity index 100% rename from src/calibre/web/feeds/recipes/portfolio.py rename to src/calibre/web/feeds/recipes/recipe_portfolio.py diff --git a/src/calibre/web/feeds/recipes/reuters.py b/src/calibre/web/feeds/recipes/recipe_reuters.py similarity index 100% rename from src/calibre/web/feeds/recipes/reuters.py rename to src/calibre/web/feeds/recipes/recipe_reuters.py diff --git a/src/calibre/web/feeds/recipes/san_fran_chronicle.py b/src/calibre/web/feeds/recipes/recipe_san_fran_chronicle.py similarity index 100% rename from src/calibre/web/feeds/recipes/san_fran_chronicle.py rename to src/calibre/web/feeds/recipes/recipe_san_fran_chronicle.py diff --git a/src/calibre/web/feeds/recipes/science_aas.py b/src/calibre/web/feeds/recipes/recipe_science_aas.py similarity index 100% rename from src/calibre/web/feeds/recipes/science_aas.py rename to src/calibre/web/feeds/recipes/recipe_science_aas.py diff --git a/src/calibre/web/feeds/recipes/science_news.py b/src/calibre/web/feeds/recipes/recipe_science_news.py similarity index 100% rename from src/calibre/web/feeds/recipes/science_news.py rename to src/calibre/web/feeds/recipes/recipe_science_news.py diff --git a/src/calibre/web/feeds/recipes/sciencedaily.py b/src/calibre/web/feeds/recipes/recipe_sciencedaily.py similarity index 100% rename from src/calibre/web/feeds/recipes/sciencedaily.py rename to src/calibre/web/feeds/recipes/recipe_sciencedaily.py diff --git a/src/calibre/web/feeds/recipes/scientific_american.py b/src/calibre/web/feeds/recipes/recipe_scientific_american.py similarity index 100% rename from src/calibre/web/feeds/recipes/scientific_american.py rename to src/calibre/web/feeds/recipes/recipe_scientific_american.py diff --git a/src/calibre/web/feeds/recipes/security_watch.py b/src/calibre/web/feeds/recipes/recipe_security_watch.py similarity index 100% rename from src/calibre/web/feeds/recipes/security_watch.py rename to src/calibre/web/feeds/recipes/recipe_security_watch.py diff --git a/src/calibre/web/feeds/recipes/smh.py b/src/calibre/web/feeds/recipes/recipe_smh.py similarity index 100% rename from src/calibre/web/feeds/recipes/smh.py rename to src/calibre/web/feeds/recipes/recipe_smh.py diff --git a/src/calibre/web/feeds/recipes/recipe_spiegel_int.py b/src/calibre/web/feeds/recipes/recipe_spiegel_int.py new file mode 100644 index 0000000000..7ee8a9f258 --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_spiegel_int.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2008, Darko Miletic ' +''' +spiegel.de +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Spiegel_int(BasicNewsRecipe): + title = u'Spiegel Online International' + __author__ = 'Darko Miletic' + description = "News and POV from Europe's largest newsmagazine" + oldest_article = 7 + max_articles_per_feed = 100 + no_stylesheets = True + use_embedded_content = False + cover_url = 'http://www.spiegel.de/static/sys/v8/headlines/spiegelonline.gif' + html2lrf_options = [ + '--comment', description + , '--base-font-size', '10' + , '--category', 'news, politics, Germany' + , '--publisher', 'SPIEGEL ONLINE GmbH' + ] + + remove_tags_after = dict(name='div', attrs={'id':'spArticleBody'}) + + feeds = [(u'Spiegel Online', u'http://www.spiegel.de/schlagzeilen/rss/0,5291,676,00.xml')] + + def print_version(self, url): + main, sep, rest = url.rpartition(',') + rmain, rsep, rrest = main.rpartition(',') + return rmain + ',druck-' + rrest + ',' + rest diff --git a/src/calibre/web/feeds/recipes/spiegelde.py b/src/calibre/web/feeds/recipes/recipe_spiegelde.py similarity index 100% rename from src/calibre/web/feeds/recipes/spiegelde.py rename to src/calibre/web/feeds/recipes/recipe_spiegelde.py diff --git a/src/calibre/web/feeds/recipes/st_petersburg_times.py b/src/calibre/web/feeds/recipes/recipe_st_petersburg_times.py similarity index 100% rename from src/calibre/web/feeds/recipes/st_petersburg_times.py rename to src/calibre/web/feeds/recipes/recipe_st_petersburg_times.py diff --git a/src/calibre/web/feeds/recipes/telegraph_uk.py b/src/calibre/web/feeds/recipes/recipe_telegraph_uk.py similarity index 100% rename from src/calibre/web/feeds/recipes/telegraph_uk.py rename to src/calibre/web/feeds/recipes/recipe_telegraph_uk.py diff --git a/src/calibre/web/feeds/recipes/the_nation.py b/src/calibre/web/feeds/recipes/recipe_the_nation.py similarity index 100% rename from src/calibre/web/feeds/recipes/the_nation.py rename to src/calibre/web/feeds/recipes/recipe_the_nation.py diff --git a/src/calibre/web/feeds/recipes/the_scotsman.py b/src/calibre/web/feeds/recipes/recipe_the_scotsman.py similarity index 100% rename from src/calibre/web/feeds/recipes/the_scotsman.py rename to src/calibre/web/feeds/recipes/recipe_the_scotsman.py diff --git a/src/calibre/web/feeds/recipes/recipe_themarketticker.py b/src/calibre/web/feeds/recipes/recipe_themarketticker.py new file mode 100644 index 0000000000..946369c8a9 --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_themarketticker.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2008, Darko Miletic ' +''' +market-ticker.denninger.net +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Themarketticker(BasicNewsRecipe): + title = 'The Market Ticker' + __author__ = 'Darko Miletic' + description = 'Commentary On The Capital Markets' + oldest_article = 7 + max_articles_per_feed = 100 + no_stylesheets = True + use_embedded_content = True + html2lrf_options = [ '--comment' , description + , '--category' , 'blog,news,finances' + , '--base-font-size', '10' + ] + feeds = [(u'Posts', u'http://market-ticker.denninger.net/feeds/index.rss2')] diff --git a/src/calibre/web/feeds/recipes/time_magazine.py b/src/calibre/web/feeds/recipes/recipe_time_magazine.py similarity index 56% rename from src/calibre/web/feeds/recipes/time_magazine.py rename to src/calibre/web/feeds/recipes/recipe_time_magazine.py index 83fe4ab2dc..026aa233db 100644 --- a/src/calibre/web/feeds/recipes/time_magazine.py +++ b/src/calibre/web/feeds/recipes/recipe_time_magazine.py @@ -6,21 +6,28 @@ __copyright__ = '2008, Darko Miletic ' time.com ''' -from calibre.ebooks.BeautifulSoup import BeautifulSoup from calibre.web.feeds.news import BasicNewsRecipe class Time(BasicNewsRecipe): title = u'Time' - __author__ = 'Darko Miletic' + __author__ = 'Kovid Goyal' description = 'Weekly magazine' oldest_article = 7 max_articles_per_feed = 100 - no_stylesheets = False + no_stylesheets = True use_embedded_content = False - #cover_url = 'http://img.timeinc.net/time/rd/trunk/www/web/feds/i/logo_time_home.gif' - keep_only_tags = [dict(name='div', attrs={'class':'tout1'})] + remove_tags_after = [dict(id='connectStory')] + remove_tags = [ + dict(name='ul', attrs={'class':['button', 'find']}), + dict(name='div', attrs={'class':['nav', 'header', 'sectheader', + 'searchWrap', 'subNav', + 'artTools', 'connect', + 'similarrecs']}), + dict(name='div', id=['articleSideBar', 'connectStory']), + dict(name='dl', id=['links']), + ] feeds = [ (u'Top Stories', u'http://feedproxy.google.com/time/topstories') @@ -33,17 +40,20 @@ class Time(BasicNewsRecipe): ,(u'Travel', u'http://feedproxy.google.com/time/travel') ] + def get_article_url(self, article): + return article.get('guid', article['link']) + def get_cover_url(self): soup = self.index_to_soup('http://www.time.com/time/') img = soup.find('img', alt='Current Time.com Cover', width='107') if img is not None: return img.get('src', None) - def print_version(self, url): - raw = self.browser.open(url).read() - soup = BeautifulSoup(raw.decode('utf8', 'replace')) - print_link = soup.find('a', {'id':'prt'}) - if print_link is None: - return '' - return 'http://www.time.com' + print_link['href'] + try: + soup = self.index_to_soup(url) + print_link = soup.find('a', {'id':'prt'}) + return 'http://www.time.com' + print_link['href'] + except: + self.log_exception('Failed to find print version for '+url) + return '' diff --git a/src/calibre/web/feeds/recipes/times_online.py b/src/calibre/web/feeds/recipes/recipe_times_online.py similarity index 100% rename from src/calibre/web/feeds/recipes/times_online.py rename to src/calibre/web/feeds/recipes/recipe_times_online.py diff --git a/src/calibre/web/feeds/recipes/recipe_tomshardware.py b/src/calibre/web/feeds/recipes/recipe_tomshardware.py new file mode 100644 index 0000000000..657a6911f7 --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_tomshardware.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2008, Darko Miletic ' +''' +tomshardware.com +''' + +from calibre.ebooks.BeautifulSoup import BeautifulSoup +from calibre.web.feeds.recipes import BasicNewsRecipe + +class Tomshardware(BasicNewsRecipe): + + title = "Tom's Hardware US" + __author__ = 'Darko Miletic' + description = 'Hardware reviews and News' + no_stylesheets = True + needs_subscription = True + INDEX = 'http://www.tomshardware.com' + LOGIN = 'http://www.tomshardware.com/membres/?r=%2Fus%2F#loginForm' + cover_url = 'http://img.bestofmedia.com/img/tomshardware/design/tomshardware.jpg' + + html2lrf_options = [ '--comment' , description + , '--category' , 'hardware,news' + , '--base-font-size', '10' + ] + + def get_browser(self): + br = BasicNewsRecipe.get_browser() + if self.username is not None and self.password is not None: + br.open(self.LOGIN) + br.select_form(name='connexion') + br['login'] = self.username + br['mdp' ] = self.password + br.submit() + return br + + remove_tags = [ + dict(name='div' , attrs={'id':'header' }) + ,dict(name='object') + ] + + feeds = [ + (u'Latest Articles', u'http://www.tomshardware.com/feeds/atom/tom-s-hardware-us,18-2.xml') + ,(u'Latest News' , u'http://www.tomshardware.com/feeds/atom/tom-s-hardware-us,18-1.xml') + ] + + def print_version(self, url): + main, sep, rest = url.rpartition('.html') + rmain, rsep, article_id = main.rpartition(',') + tmain, tsep, trest = rmain.rpartition('/reviews/') + if tsep: + return 'http://www.tomshardware.com/review_print.php?p1=' + article_id + return 'http://www.tomshardware.com/news_print.php?p1=' + article_id + + def preprocess_html(self, soup): + del(soup.body['onload']) + return soup diff --git a/src/calibre/web/feeds/recipes/upi.py b/src/calibre/web/feeds/recipes/recipe_upi.py similarity index 100% rename from src/calibre/web/feeds/recipes/upi.py rename to src/calibre/web/feeds/recipes/recipe_upi.py diff --git a/src/calibre/web/feeds/recipes/usatoday.py b/src/calibre/web/feeds/recipes/recipe_usatoday.py similarity index 100% rename from src/calibre/web/feeds/recipes/usatoday.py rename to src/calibre/web/feeds/recipes/recipe_usatoday.py diff --git a/src/calibre/web/feeds/recipes/utne.py b/src/calibre/web/feeds/recipes/recipe_utne.py similarity index 100% rename from src/calibre/web/feeds/recipes/utne.py rename to src/calibre/web/feeds/recipes/recipe_utne.py diff --git a/src/calibre/web/feeds/recipes/vreme.py b/src/calibre/web/feeds/recipes/recipe_vreme.py similarity index 76% rename from src/calibre/web/feeds/recipes/vreme.py rename to src/calibre/web/feeds/recipes/recipe_vreme.py index cf0b8cddca..daee3ba3f7 100644 --- a/src/calibre/web/feeds/recipes/vreme.py +++ b/src/calibre/web/feeds/recipes/recipe_vreme.py @@ -15,13 +15,16 @@ class Vreme(BasicNewsRecipe): title = 'Vreme' __author__ = 'Darko Miletic' description = 'Politicki Nedeljnik Srbije' - timefmt = ' [%A, %d %B, %Y]' no_stylesheets = True - simultaneous_downloads = 1 - delay = 1 - needs_subscription = True + needs_subscription = True INDEX = 'http://www.vreme.com' LOGIN = 'http://www.vreme.com/account/index.php' + html2lrf_options = [ + '--comment', description + , '--base-font-size', '10' + , '--category', 'news, politics, Serbia' + , '--publisher', 'Vreme d.o.o.' + ] preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')] @@ -66,3 +69,11 @@ class Vreme(BasicNewsRecipe): def print_version(self, url): return url + '&print=yes' + + def get_cover_url(self): + cover_url = None + soup = self.index_to_soup(self.INDEX) + cover_item = soup.find('img',attrs={'alt':'Naslovna strana broja'}) + if cover_item: + cover_url = self.INDEX + cover_item['src'] + return cover_url diff --git a/src/calibre/web/feeds/recipes/wash_post.py b/src/calibre/web/feeds/recipes/recipe_wash_post.py similarity index 100% rename from src/calibre/web/feeds/recipes/wash_post.py rename to src/calibre/web/feeds/recipes/recipe_wash_post.py diff --git a/src/calibre/web/feeds/recipes/wired.py b/src/calibre/web/feeds/recipes/recipe_wired.py similarity index 100% rename from src/calibre/web/feeds/recipes/wired.py rename to src/calibre/web/feeds/recipes/recipe_wired.py diff --git a/src/calibre/web/feeds/recipes/wsj.py b/src/calibre/web/feeds/recipes/recipe_wsj.py similarity index 100% rename from src/calibre/web/feeds/recipes/wsj.py rename to src/calibre/web/feeds/recipes/recipe_wsj.py diff --git a/src/calibre/web/feeds/recipes/recipe_xkcd.py b/src/calibre/web/feeds/recipes/recipe_xkcd.py new file mode 100644 index 0000000000..f76cf5614e --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_xkcd.py @@ -0,0 +1,36 @@ +__license__ = 'GPL v3' +__copyright__ = '2008, Kovid Goyal ' + +''' +Fetch xkcd. +''' + +import time +from calibre.web.feeds.news import BasicNewsRecipe + +class XkcdCom(BasicNewsRecipe): + title = 'xkcd' + description = 'A webcomic of romance and math humor.' + __author__ = 'Martin Pitt' + use_embedded_content = False + oldest_article = 60 + keep_only_tags = [dict(id='middleContent')] + remove_tags = [dict(name='ul'), dict(name='h3'), dict(name='br')] + no_stylesheets = True + + def parse_index(self): + INDEX = 'http://xkcd.com/archive/' + + soup = self.index_to_soup(INDEX) + articles = [] + for item in soup.findAll('a', title=True): + articles.append({ + 'date': item['title'], + 'timestamp': time.mktime(time.strptime(item['title'], '%Y-%m-%d'))+1, + 'url': 'http://xkcd.com' + item['href'], + 'title': self.tag_to_string(item).encode('UTF-8'), + 'description': '', + 'content': '', + }) + + return [('xkcd', articles)] diff --git a/src/calibre/web/feeds/recipes/recipe_zdnet.py b/src/calibre/web/feeds/recipes/recipe_zdnet.py new file mode 100644 index 0000000000..6378f55ad8 --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_zdnet.py @@ -0,0 +1,46 @@ +__license__ = 'GPL v3' +__copyright__ = '2008, Kovid Goyal ' + +''' +Fetch zdnet. +''' + +from calibre.web.feeds.news import BasicNewsRecipe +import re + + +class cdnet(BasicNewsRecipe): + + title = 'zdnet' + description = 'zdnet security' + __author__ = 'Oliver Niesner' + use_embedded_content = False + timefmt = ' [%d %b %Y]' + max_articles_per_feed = 40 + no_stylesheets = True + encoding = 'iso-8859-1' + + #preprocess_regexps = \ +# [(re.compile(i[0], re.IGNORECASE | re.DOTALL), i[1]) for i in +# [ +# (r'<84>', lambda match: ''), +# (r'<93>', lambda match: ''), +# ] +# ] + + remove_tags = [dict(id='eyebrows'), + dict(id='header'), + dict(id='search'), + dict(id='nav'), + dict(id=''), + dict(name='div', attrs={'class':'banner'}), + dict(name='p', attrs={'class':'tags'}), + dict(name='div', attrs={'class':'special1'})] + remove_tags_after = [dict(name='div', attrs={'class':'bloggerDesc clear'})] + + feeds = [ ('zdnet', 'http://feeds.feedburner.com/zdnet/security') ] + + + + + diff --git a/src/calibre/web/feeds/recipes/zeitde.py b/src/calibre/web/feeds/recipes/recipe_zeitde.py similarity index 100% rename from src/calibre/web/feeds/recipes/zeitde.py rename to src/calibre/web/feeds/recipes/recipe_zeitde.py diff --git a/src/odf/namespaces.py b/src/odf/namespaces.py index 912d82d46b..3fb42af7c6 100644 --- a/src/odf/namespaces.py +++ b/src/odf/namespaces.py @@ -20,9 +20,10 @@ TOOLSVERSION = u"ODFPY/0.8.1dev" ANIMNS = u"urn:oasis:names:tc:opendocument:xmlns:animation:1.0" +DBNS = u"urn:oasis:names:tc:opendocument:xmlns:database:1.0" CHARTNS = u"urn:oasis:names:tc:opendocument:xmlns:chart:1.0" CONFIGNS = u"urn:oasis:names:tc:opendocument:xmlns:config:1.0" -DBNS = u"http://openoffice.org/2004/database" +#DBNS = u"http://openoffice.org/2004/database" DCNS = u"http://purl.org/dc/elements/1.1/" DOMNS = u"http://www.w3.org/2001/xml-events" DR3DNS = u"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" @@ -39,6 +40,7 @@ OOONS = u"http://openoffice.org/2004/office" OOOWNS = u"http://openoffice.org/2004/writer" OOOCNS = u"http://openoffice.org/2004/calc" PRESENTATIONNS = u"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0" +RDFANS = u"http://docs.oasis-open.org/opendocument/meta/rdfa#" SCRIPTNS = u"urn:oasis:names:tc:opendocument:xmlns:script:1.0" SMILNS = u"urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0" STYLENS = u"urn:oasis:names:tc:opendocument:xmlns:style:1.0" @@ -47,6 +49,7 @@ TABLENS = u"urn:oasis:names:tc:opendocument:xmlns:table:1.0" TEXTNS = u"urn:oasis:names:tc:opendocument:xmlns:text:1.0" XFORMSNS = u"http://www.w3.org/2002/xforms" XLINKNS = u"http://www.w3.org/1999/xlink" +XMLNS = "http://www.w3.org/XML/1998/namespace" nsdict = { @@ -70,6 +73,7 @@ nsdict = { OOOWNS: u'ooow', OOOCNS: u'ooc', PRESENTATIONNS: u'presentation', + RDFANS: u'rdfa', SCRIPTNS: u'script', SMILNS: u'smil', STYLENS: u'style', @@ -78,4 +82,5 @@ nsdict = { TEXTNS: u'text', XFORMSNS: u'xforms', XLINKNS: u'xlink', + XMLNS: u'xml', } diff --git a/src/odf/odf2xhtml.py b/src/odf/odf2xhtml.py index 8042f0871f..8a55fbd036 100644 --- a/src/odf/odf2xhtml.py +++ b/src/odf/odf2xhtml.py @@ -22,7 +22,7 @@ #pdb.set_trace() import zipfile import xml.sax -from xml.sax import handler +from xml.sax import handler, expatreader from xml.sax.xmlreader import InputSource from xml.sax.saxutils import escape, quoteattr @@ -206,10 +206,10 @@ class StyleToCSS: if hpos == "center": sdict['margin-left'] = "auto" sdict['margin-right'] = "auto" - else: - # force it to be *something* then delete it - sdict['margin-left'] = sdict['margin-right'] = '' - del sdict['margin-left'], sdict['margin-right'] +# else: +# # force it to be *something* then delete it +# sdict['margin-left'] = sdict['margin-right'] = '' +# del sdict['margin-left'], sdict['margin-right'] if hpos in ("right","outside"): if wrap in ( "left", "parallel","dynamic"): @@ -336,8 +336,9 @@ special_styles = { class ODF2XHTML(handler.ContentHandler): """ The ODF2XHTML parses an ODF file and produces XHTML""" - def __init__(self): + def __init__(self, generate_css=True, embedable=False): # Tags + self.generate_css = generate_css self.elements = { (DCNS, 'title'): (self.s_processcont, self.e_dc_title), (DCNS, 'language'): (self.s_processcont, self.e_dc_contentlanguage), @@ -349,6 +350,7 @@ class ODF2XHTML(handler.ContentHandler): (DRAWNS, 'fill-image'): (self.s_draw_fill_image, None), (DRAWNS, "layer-set"):(self.s_ignorexml, None), (DRAWNS, 'page'): (self.s_draw_page, self.e_draw_page), + (DRAWNS, 'text-box'): (self.s_draw_textbox, self.e_draw_textbox), (METANS, 'creation-date'):(self.s_processcont, self.e_dc_metatag), (METANS, 'generator'):(self.s_processcont, self.e_dc_metatag), (METANS, 'initial-creator'): (self.s_processcont, self.e_dc_metatag), @@ -421,6 +423,12 @@ class ODF2XHTML(handler.ContentHandler): (TEXTNS, "table-of-content-source"):(self.s_text_x_source, self.e_text_x_source), (TEXTNS, "user-index-source"):(self.s_text_x_source, self.e_text_x_source), } + if embedable: + self.elements[(OFFICENS, u"text")] = (None,None) + self.elements[(OFFICENS, u"spreadsheet")] = (None,None) + self.elements[(OFFICENS, u"presentation")] = (None,None) + self.elements[(OFFICENS, u"document-content")] = (None,None) + def writeout(self, s): if s != '': @@ -548,14 +556,18 @@ class ODF2XHTML(handler.ContentHandler): """ A is made into a
                                                                                                                  in HTML which is then styled """ anchor_type = attrs.get((TEXTNS,'anchor-type'),'char') + htmltag = 'div' name = "G-" + attrs.get( (DRAWNS,'style-name'), "") if name == 'G-': name = "PR-" + attrs.get( (PRESENTATIONNS,'style-name'), "") name = name.replace(".","_") if anchor_type == "paragraph": - style = "" + style = 'position:relative;' elif anchor_type == 'char': - style = "position: relative;" + style = "position:relative;" + elif anchor_type == 'as-char': + htmltag = 'div' + style = '' else: style = "position: absolute;" if attrs.has_key( (SVGNS,"width") ): @@ -566,7 +578,10 @@ class ODF2XHTML(handler.ContentHandler): style = style + "left:" + attrs[(SVGNS,"x")] + ";" if attrs.has_key( (SVGNS,"y") ): style = style + "top:" + attrs[(SVGNS,"y")] + ";" - self.opentag('div', {'class': name, 'style': style}) + if self.generate_css: + self.opentag(htmltag, {'class': name, 'style': style}) + else: + self.opentag(htmltag) def e_draw_frame(self, tag, attrs): """ End the @@ -593,8 +608,9 @@ class ODF2XHTML(handler.ContentHandler): imghref = attrs[(XLINKNS,"href")] imghref = self.rewritelink(imghref) htmlattrs = {'alt':"", 'src':imghref } - if anchor_type != "char": - htmlattrs['style'] = "display: block;" + if self.generate_css: + if anchor_type != "char": + htmlattrs['style'] = "display: block;" self.emptytag('img', htmlattrs) def s_draw_page(self, tag, attrs): @@ -607,7 +623,10 @@ class ODF2XHTML(handler.ContentHandler): stylename = stylename.replace(".","_") masterpage = attrs.get( (DRAWNS,'master-page-name'),"") masterpage = masterpage.replace(".","_") - self.opentag('fieldset', {'class':"DP-%s MP-%s" % (stylename, masterpage) }) + if self.generate_css: + self.opentag('fieldset', {'class':"DP-%s MP-%s" % (stylename, masterpage) }) + else: + self.opentag('fieldset') self.opentag('legend') self.writeout(escape(name)) self.closetag('legend') @@ -615,17 +634,30 @@ class ODF2XHTML(handler.ContentHandler): def e_draw_page(self, tag, attrs): self.closetag('fieldset') + def s_draw_textbox(self, tag, attrs): + style = '' + if attrs.has_key( (FONS,"min-height") ): + style = style + "min-height:" + attrs[(FONS,"min-height")] + ";" + self.opentag('div') +# self.opentag('div', {'style': style}) + + def e_draw_textbox(self, tag, attrs): + """ End the + """ + self.closetag('div') + def html_body(self, tag, attrs): self.writedata() - self.opentag('style', {'type':"text/css"}, True) - self.writeout('/**/\n') - self.closetag('style') + if self.generate_css: + self.opentag('style', {'type':"text/css"}, True) + self.writeout('/**/\n') + self.closetag('style') self.purgedata() self.closetag('head') self.opentag('body', block=True) @@ -660,7 +692,10 @@ class ODF2XHTML(handler.ContentHandler): def generate_footnotes(self): if self.currentnote == 0: return - self.opentag('ol', {'style':'border-top: 1px solid black'}, True) + if self.generate_css: + self.opentag('ol', {'style':'border-top: 1px solid black'}, True) + else: + self.opentag('ol') for key in range(1,self.currentnote+1): note = self.notedict[key] # for key,note in self.notedict.items(): @@ -731,6 +766,8 @@ class ODF2XHTML(handler.ContentHandler): """ Copy all attributes to a struct. We will later convert them to CSS2 """ + if self.currentstyle is None: + return for key,attr in attrs.items(): self.styledict[self.currentstyle][key] = attr @@ -874,7 +911,7 @@ class ODF2XHTML(handler.ContentHandler): """ Start a table """ c = attrs.get( (TABLENS,'style-name'), None) - if c: + if c and self.generate_css: c = c.replace(".","_") self.opentag('table',{ 'class': "T-%s" % c }) else: @@ -958,7 +995,7 @@ class ODF2XHTML(handler.ContentHandler): for x in range(level + 1,10): self.headinglevels[x] = 0 special = special_styles.get("P-"+name) - if special: + if special or not self.generate_css: self.opentag('h%s' % level) else: self.opentag('h%s' % level, {'class':"P-%s" % name }) @@ -997,7 +1034,10 @@ class ODF2XHTML(handler.ContentHandler): # textbox itself may be nested within another list. level = self.tagstack.count_tags(tag) + 1 name = self.tagstack.rfindattr( (TEXTNS,'style-name') ) - self.opentag('%s' % self.listtypes.get(name), {'class':"%s_%d" % (name, level) }) + if self.generate_css: + self.opentag('%s' % self.listtypes.get(name), {'class':"%s_%d" % (name, level) }) + else: + self.opentag('%s' % self.listtypes.get(name)) self.purgedata() def e_text_list(self, tag, attrs): @@ -1113,7 +1153,8 @@ class ODF2XHTML(handler.ContentHandler): specialtag = special_styles.get("P-"+c) if specialtag is None: specialtag = 'p' - htmlattrs['class'] = "P-%s" % c + if self.generate_css: + htmlattrs['class'] = "P-%s" % c self.opentag(specialtag, htmlattrs) self.purgedata() @@ -1149,7 +1190,7 @@ class ODF2XHTML(handler.ContentHandler): if c: c = c.replace(".","_") special = special_styles.get("S-"+c) - if special is None: + if special is None and self.generate_css: htmlattrs['class'] = "S-%s" % c self.opentag('span', htmlattrs) self.purgedata() @@ -1219,7 +1260,10 @@ class ODF2XHTML(handler.ContentHandler): # Extract the interesting files z = zipfile.ZipFile(self._odffile) - parser = xml.sax.make_parser() + # For some reason Trac has trouble when xml.sax.make_parser() is used. + # Could it be because PyXML is installed, and therefore a different parser + # might be chosen? By calling expatreader directly we avoid this issue + parser = expatreader.create_parser() parser.setFeature(handler.feature_namespaces, 1) parser.setContentHandler(self) parser.setErrorHandler(handler.ErrorHandler()) diff --git a/src/odf/opendocument.py b/src/odf/opendocument.py index aa2ed9aaaf..784ff70292 100644 --- a/src/odf/opendocument.py +++ b/src/odf/opendocument.py @@ -287,7 +287,7 @@ class OpenDocument: else: ext = mimetypes.guess_extension(mediatype) manifestfn = "Pictures/%0.0f%s" % ((time.time()*10000000000), ext) - self.Pictures[manifestfn] = (IS_FILENAME, fileobj, mediatype) + self.Pictures[manifestfn] = (IS_FILENAME, filename, mediatype) else: manifestfn = filename self.Pictures[manifestfn] = (IS_IMAGE, content, mediatype)